diff --git a/generator/autogenlist.ts b/generator/autogenlist.ts index 8bd251ea43..5b26b68ca6 100644 --- a/generator/autogenlist.ts +++ b/generator/autogenlist.ts @@ -2,6 +2,7 @@ import { ScopeType, AutoGenConfig } from './models'; import { postProcessor as insightsApplicationPostProcessor } from './processors/Microsoft.Insights.Application'; import { postProcessor as resourcesPostProcessor } from './processors/Microsoft.Resources'; import { postProcessor as machineLearningPostProcessor } from './processors/Microsoft.MachineLearning'; +import { postProcessor as kustoPostProcessor } from './processors/Microsoft.Kusto'; import { postProcessor as machineLearningServicesPostProcessor } from './processors/Microsoft.MachineLearningServices'; import { postProcessor as storageProcessor } from './processors/Microsoft.Storage'; import { postProcessor as computeProcessor } from './processors/Microsoft.Compute'; @@ -18,11 +19,6 @@ const disabledProviders: AutoGenConfig[] = [ namespace: 'Microsoft.Advisor', disabledForAutogen: true, }, - { - basePath: 'azure-kusto/resource-manager', - namespace: 'Microsoft.Kusto', - disabledForAutogen: true, - }, { basePath: 'cloudshell/resource-manager', namespace: 'Microsoft.Portal', @@ -470,6 +466,11 @@ const autoGenList: AutoGenConfig[] = [ namespace: 'Microsoft.MachineLearning', postProcessor: machineLearningPostProcessor, }, + { + basePath: 'azure-kusto/resource-manager', + namespace: 'Microsoft.Kusto', + postProcessor: kustoPostProcessor, + }, { basePath: 'machinelearningservices/resource-manager', namespace: 'Microsoft.MachineLearningServices', diff --git a/generator/processors/Microsoft.Kusto.ts b/generator/processors/Microsoft.Kusto.ts new file mode 100644 index 0000000000..5873aa15b9 --- /dev/null +++ b/generator/processors/Microsoft.Kusto.ts @@ -0,0 +1,160 @@ +import { SchemaPostProcessor } from '../models'; +import { apiVersionCompare } from '../utils'; + +const clusterDataConnections = (apiVersion: string) => ({ + type: 'object', + oneOf: [ + { + $ref: '#/definitions/GenevaDataConnection' + }, + { + $ref: '#/definitions/GenevaLegacyDataConnection' + } + ], + properties: { + name: { + type: 'string', + description: 'The data connection name' + }, + type: { + enum: [ + 'Microsoft.Kusto/clusters/dataConnections' + ] + }, + apiVersion: { + type: 'string', + enum: [ + apiVersion + ] + } + }, + required: [ + 'apiVersion', + 'properties', + 'type' + ], + description: 'Microsoft.Kusto/clusters/dataConnections' +}); + +const genevaDataConnectionProperties = () => ({ + type: 'object', + properties: { + genevaEnvironment: { + type: 'string', + 'description': 'The Geneva environment of the geneva data connection.' + } + }, + required: [ + 'genevaEnvironment' + ], + description: 'Class representing the Kusto Geneva (GDS) connection properties.' +}); + +const genevaDataConnection = () => ({ + type: 'object', + properties: { + properties: { + oneOf: [ + { + $ref: '#/definitions/GenevaDataConnectionProperties' + }, + { + $ref: 'https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression' + } + ], + description: 'Geneva (DGS) data connection properties' + }, + kind: { + type: 'string', + enum: [ + 'Geneva' + ] + } + }, + required: [ + 'kind' + ], + description: 'Information about the Geneva (GDS) data connection' +}); + +const genevaLegacyDataConnectionProperties = () => ({ + type: 'object', + properties: { + genevaEnvironment: { + type: 'string', + description: 'The Geneva environment of the geneva data connection.' + }, + mdsAccounts: { + type: 'array', + description: 'The list of mds accounts of the geneva data connection.' + }, + isScrubbed: { + type: 'boolean', + description: 'Indicates whether the data is scrubbed.' + } + }, + required: [ + 'genevaEnvironment', + 'mdsAccounts', + 'isScrubbed' + ], + 'description': 'Class representing the Kusto Geneva legacy connection properties.' +}); + +const genevaLegacyDataConnection = () => ({ + type: 'object', + properties: { + properties: { + oneOf: [ + { + $ref: '#/definitions/GenevaLegacyDataConnectionProperties' + }, + { + $ref: 'https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression' + } + ], + description: 'Geneva legacy data connection properties.' + }, + kind: { + type: 'string', + enum: [ + 'GenevaLegacy' + ] + } + }, + required: [ + 'kind' + ], + description: 'Information about the Geneva legacy data connection.' +}); + +const clusterDataConnections_childResource = () => ({ + $ref: '#/definitions/clusters_dataConnections_childResource' +}); + +export const postProcessor: SchemaPostProcessor = async (namespace: string, apiVersion: string, schema: any) => { + // Handle cluster data connection + if (apiVersionCompare(apiVersion, '2019-11-09') > -1) { + const clusterSubResources = schema.resourceDefinitions.clusters.properties.resources.items.oneOf; + clusterSubResources.push(clusterDataConnections_childResource()); + schema.resourceDefinitions.clusters.properties.resources.items.oneOf = clusterSubResources; + const clusterDataConnectionObject = clusterDataConnections(apiVersion); + schema['resourceDefinitions']['clusters_dataConnections'] = clusterDataConnectionObject; + clusterDataConnectionObject.properties.type.enum = ["Microsoft.Kusto/clusters/dataconnections"]; + schema.definitions.clusters_dataConnections_childResource = clusterDataConnectionObject; + schema.definitions.GenevaDataConnectionProperties = genevaDataConnectionProperties(); + schema.definitions.GenevaDataConnection = genevaDataConnection(); + schema.definitions.GenevaLegacyDataConnectionProperties = genevaLegacyDataConnectionProperties(); + schema.definitions.GenevaLegacyDataConnection = genevaLegacyDataConnection(); + } + // Handle read only following database + + // TODO: Remove this workaround once https://github.com/Azure/autorest.azureresourceschema/pull/74 is merged + const requiredArray = schema['resourceDefinitions']['clusters'].required + if (requiredArray && Array.isArray(requiredArray)) { + const index = requiredArray.indexOf('properties') + if (index !== -1) { + requiredArray.splice(index, 1) + } + } +} diff --git a/generator/processors/Microsoft.Storage.ts b/generator/processors/Microsoft.Storage.ts index 3e9e83f7e9..bb1b637b7f 100644 --- a/generator/processors/Microsoft.Storage.ts +++ b/generator/processors/Microsoft.Storage.ts @@ -9,6 +9,7 @@ export const postProcessor: SchemaPostProcessor = async (namespace: string, apiV 'extension_resourceDefinitions' ].filter(scope => schema[scope]) + // TODO: Remove this workaround once https://github.com/Azure/autorest.azureresourceschema/pull/74 is merged scopes.forEach(scope => { for (let key in schema[scope]) { const requiredArray = schema[scope][key].required diff --git a/schemas/2014-04-01-preview/deploymentTemplate.json b/schemas/2014-04-01-preview/deploymentTemplate.json index dc90b26e4b..ce883c11a2 100644 --- a/schemas/2014-04-01-preview/deploymentTemplate.json +++ b/schemas/2014-04-01-preview/deploymentTemplate.json @@ -636,7 +636,7 @@ "$ref": "https://schema.management.azure.com/schemas/2019-01-21/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" }, { - "$ref": "https://schema.management.azure.com/schemas/2019-01-21/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections" + "$ref": "https://schema.management.azure.com/schemas/2019-01-21/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections" }, { "$ref": "https://schema.management.azure.com/schemas/2019-05-15/Microsoft.Kusto.json#/resourceDefinitions/clusters" @@ -645,7 +645,7 @@ "$ref": "https://schema.management.azure.com/schemas/2019-05-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" }, { - "$ref": "https://schema.management.azure.com/schemas/2019-05-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections" + "$ref": "https://schema.management.azure.com/schemas/2019-05-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections" }, { "$ref": "https://schema.management.azure.com/schemas/2019-09-07/Microsoft.Kusto.json#/resourceDefinitions/clusters" @@ -654,10 +654,10 @@ "$ref": "https://schema.management.azure.com/schemas/2019-09-07/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" }, { - "$ref": "https://schema.management.azure.com/schemas/2019-09-07/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections" + "$ref": "https://schema.management.azure.com/schemas/2019-09-07/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections" }, { - "$ref": "https://schema.management.azure.com/schemas/2019-09-07/Microsoft.Kusto.json#/resourceDefinitions/clusters_attacheddatabaseconfigurations" + "$ref": "https://schema.management.azure.com/schemas/2019-09-07/Microsoft.Kusto.json#/resourceDefinitions/clusters_attachedDatabaseConfigurations" }, { "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters" @@ -666,19 +666,19 @@ "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" }, { - "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections" + "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections" }, { - "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_attacheddatabaseconfigurations" + "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_attachedDatabaseConfigurations" }, { - "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataconnections" + "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataConnections" }, { - "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalassignments" + "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalAssignments" }, { - "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalassignments" + "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalAssignments" }, { "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters" @@ -687,19 +687,19 @@ "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" }, { - "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections" + "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections" }, { - "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_attacheddatabaseconfigurations" + "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_attachedDatabaseConfigurations" }, { - "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataconnections" + "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataConnections" }, { - "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalassignments" + "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalAssignments" }, { - "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalassignments" + "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalAssignments" }, { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters" @@ -708,19 +708,19 @@ "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" }, { - "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections" + "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections" }, { - "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_attacheddatabaseconfigurations" + "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_attachedDatabaseConfigurations" }, { - "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataconnections" + "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataConnections" }, { - "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalassignments" + "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalAssignments" }, { - "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalassignments" + "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalAssignments" }, { "$ref": "https://schema.management.azure.com/schemas/2014-04-01-preview/Microsoft.Cache.json#/resourceDefinitions/Redis" diff --git a/schemas/2015-01-01/deploymentTemplate.json b/schemas/2015-01-01/deploymentTemplate.json index 66dc7847dc..60f796b14b 100644 --- a/schemas/2015-01-01/deploymentTemplate.json +++ b/schemas/2015-01-01/deploymentTemplate.json @@ -829,7 +829,7 @@ "$ref": "https://schema.management.azure.com/schemas/2019-01-21/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" }, { - "$ref": "https://schema.management.azure.com/schemas/2019-01-21/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections" + "$ref": "https://schema.management.azure.com/schemas/2019-01-21/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections" }, { "$ref": "https://schema.management.azure.com/schemas/2019-05-15/Microsoft.Kusto.json#/resourceDefinitions/clusters" @@ -838,7 +838,7 @@ "$ref": "https://schema.management.azure.com/schemas/2019-05-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" }, { - "$ref": "https://schema.management.azure.com/schemas/2019-05-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections" + "$ref": "https://schema.management.azure.com/schemas/2019-05-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections" }, { "$ref": "https://schema.management.azure.com/schemas/2019-09-07/Microsoft.Kusto.json#/resourceDefinitions/clusters" @@ -847,10 +847,10 @@ "$ref": "https://schema.management.azure.com/schemas/2019-09-07/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" }, { - "$ref": "https://schema.management.azure.com/schemas/2019-09-07/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections" + "$ref": "https://schema.management.azure.com/schemas/2019-09-07/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections" }, { - "$ref": "https://schema.management.azure.com/schemas/2019-09-07/Microsoft.Kusto.json#/resourceDefinitions/clusters_attacheddatabaseconfigurations" + "$ref": "https://schema.management.azure.com/schemas/2019-09-07/Microsoft.Kusto.json#/resourceDefinitions/clusters_attachedDatabaseConfigurations" }, { "$ref": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters" @@ -859,19 +859,19 @@ "$ref": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" }, { - "$ref": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections" + "$ref": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections" }, { - "$ref": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters_attacheddatabaseconfigurations" + "$ref": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters_attachedDatabaseConfigurations" }, { - "$ref": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataconnections" + "$ref": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataConnections" }, { - "$ref": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalassignments" + "$ref": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalAssignments" }, { - "$ref": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalassignments" + "$ref": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalAssignments" }, { "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters" @@ -880,19 +880,19 @@ "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" }, { - "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections" + "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections" }, { - "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_attacheddatabaseconfigurations" + "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_attachedDatabaseConfigurations" }, { - "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataconnections" + "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataConnections" }, { - "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalassignments" + "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalAssignments" }, { - "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalassignments" + "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalAssignments" }, { "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters" @@ -901,19 +901,19 @@ "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" }, { - "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections" + "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections" }, { - "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_attacheddatabaseconfigurations" + "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_attachedDatabaseConfigurations" }, { - "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataconnections" + "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataConnections" }, { - "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalassignments" + "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalAssignments" }, { - "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalassignments" + "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalAssignments" }, { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters" @@ -922,19 +922,19 @@ "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" }, { - "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections" + "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections" }, { - "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_attacheddatabaseconfigurations" + "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_attachedDatabaseConfigurations" }, { - "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataconnections" + "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataConnections" }, { - "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalassignments" + "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalAssignments" }, { - "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalassignments" + "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalAssignments" }, { "$ref": "https://schema.management.azure.com/schemas/2014-04-01-preview/Microsoft.Cache.json#/resourceDefinitions/Redis" diff --git a/schemas/2018-09-07-preview/Microsoft.Kusto.json b/schemas/2018-09-07-preview/Microsoft.Kusto.json index 7b4ca800d7..0221263444 100644 --- a/schemas/2018-09-07-preview/Microsoft.Kusto.json +++ b/schemas/2018-09-07-preview/Microsoft.Kusto.json @@ -7,98 +7,99 @@ "clusters": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The Cluster name" - }, - "type": { - "enum": [ - "Microsoft.Kusto/clusters" - ] - }, "apiVersion": { + "type": "string", "enum": [ "2018-09-07-preview" ] }, "location": { "type": "string", - "description": "Cluster's location" + "description": "The geo-location where the resource lives" }, - "tags": { + "name": { + "type": "string", + "description": "The name of the Kusto cluster." + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/ClusterProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Cluster tags" + "description": "Class representing the Kusto cluster properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/clusters_databases_childResource" + } + ] + } }, "sku": { "oneOf": [ { - "$ref": "#/definitions/Sku" + "$ref": "#/definitions/AzureSku" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The SKU of the Kusto cluster." + ] }, - "properties": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/ClusterProperties" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Properties for a Kusto Cluster." + "description": "Resource tags." }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/resourceDefinitions/clusters_databases" - } - ] - } + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "sku" + "name", + "sku", + "type" ], "description": "Microsoft.Kusto/clusters" }, "clusters_databases": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The Database name" - }, - "type": { - "enum": [ - "Microsoft.Kusto/clusters/databases" - ] - }, "apiVersion": { "type": "string", "enum": [ "2018-09-07-preview" ] }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "The name of the database in the Kusto cluster." + }, "properties": { "oneOf": [ { @@ -108,182 +109,305 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Properties supplied to the Database Create Or Update Kusto operation." + "description": "Class representing the Kusto database properties." }, "resources": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/resourceDefinitions/clusters_databases_dataconnections" + "$ref": "#/definitions/clusters_databases_eventhubconnections_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.Kusto/clusters/databases" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "location", + "name", + "properties", + "type" ], "description": "Microsoft.Kusto/clusters/databases" }, - "clusters_databases_dataconnections": { + "clusters_databases_eventhubconnections": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The data connection name" - }, - "type": { - "enum": [ - "Microsoft.Kusto/clusters/databases/dataconnections" - ] - }, "apiVersion": { "type": "string", "enum": [ "2018-09-07-preview" ] }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the event hub connection." + }, "properties": { "oneOf": [ { - "$ref": "#/definitions/EventHubDataConnection" + "$ref": "#/definitions/EventHubConnectionProperties" }, { - "$ref": "#/definitions/EventGridDataConnection" + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Properties supplied to the Data Connection Create Or Update Kusto operation." + "description": "Class representing the Kusto event hub connection properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases/eventhubconnections" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], - "description": "Microsoft.Kusto/clusters/databases" + "description": "Microsoft.Kusto/clusters/databases/eventhubconnections" } }, "definitions": { - "Sku": { - "oneOf": [ - { - "$ref": "#/definitions/AzureSku" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, "AzureSku": { "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU capacity." + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "KC8", + "KC16", + "KS8", + "KS16", + "D13_v2", + "D14_v2", + "L8", + "L16" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU name." + }, + "tier": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU tier." + } + }, "required": [ "name", "tier" - ], + ] + }, + "ClusterProperties": { + "type": "object", "properties": { - "name": { - "description": "SKU name. Possible values include: 'D14_v2', 'D13_v2', 'L16', 'L8'", + "trustedExternalTenants": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TrustedExternalTenant" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The cluster's external tenants." + } + }, + "description": "Class representing the Kusto cluster properties." + }, + "clusters_databases_childResource": { + "type": "object", + "properties": { + "apiVersion": { "type": "string", "enum": [ - "D13_v2", - "D14_v2", - "L8", - "L16" + "2018-09-07-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "The name of the database in the Kusto cluster." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ], - "x-ms-enum": { - "name": "AzureSkuName", - "modelAsString": true - } + "description": "Class representing the Kusto database properties." }, - "capacity": { - "description": "SKU capacity.", - "type": "integer" + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." }, - "tier": { - "description": "SKU tier", + "type": { "type": "string", "enum": [ - "Standard" - ], - "x-ms-enum": { - "name": "AzureSkuTier", - "modelAsString": true - } + "databases" + ] } - } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Kusto/clusters/databases" }, - "ClusterProperties": { + "clusters_databases_eventhubconnections_childResource": { + "type": "object", "properties": { - "state": { + "apiVersion": { "type": "string", - "readOnly": true, - "description": "The state of the resource.", "enum": [ - "Creating", - "Unavailable", - "Running", - "Deleting", - "Deleted", - "Stopping", - "Stopped", - "Starting", - "Updating" - ], - "x-ms-enum": { - "name": "State", - "modelAsString": true - } + "2018-09-07-preview" + ] }, - "provisioningState": { + "location": { "type": "string", - "readOnly": true, - "description": "The provisioned state of the resource.", - "enum": [ - "Running", - "Creating", - "Deleting", - "Succeeded", - "Failed" - ], - "x-ms-enum": { - "name": "ProvisioningState", - "modelAsString": true - } + "description": "Resource location." }, - "uri": { + "name": { "type": "string", - "readOnly": true, - "description": "The cluster URI." + "description": "The name of the event hub connection." }, - "dataIngestionUri": { - "type": "string", - "readOnly": true, - "description": "The cluster data ingestion URI." + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EventHubConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto event hub connection properties." }, - "trustedExternalTenants": { - "type": "array", - "items": { - "$ref": "#/definitions/TrustedExternalTenant" - }, - "description": "The cluster's external tenants." + "type": { + "type": "string", + "enum": [ + "eventhubconnections" + ] } }, - "description": "Class representing the Kusto cluster properties." + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Kusto/clusters/databases/eventhubconnections" }, "DatabaseProperties": { + "type": "object", "properties": { + "hotCachePeriodInDays": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of days of data that should be kept in cache for fast queries." + }, "softDeletePeriodInDays": { - "type": "integer", + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], "description": "The number of days data should be kept before it stops being accessible to queries." }, - "hotCachePeriodInDays": { - "type": "integer", - "description": "The number of days of data that should be kept in cache for fast queries." + "statistics": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseStatistics" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } }, "required": [ @@ -291,137 +415,66 @@ ], "description": "Class representing the Kusto database properties." }, - "EventHubDataConnection": { - "description": "Information about the event hub data connection", - "required": [ - "kind", - "properties" - ], + "DatabaseStatistics": { "type": "object", "properties": { - "kind": { - "description": "Kind of the endpoint for the data connection", - "enum": [ - "EventHub" + "size": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ], - "type": "string" - }, - "properties": { - "$ref": "#/definitions/EventHubDataConnectionProperties", - "description": "Event hub data connection properties" + "description": "The database size - the total size of compressed data and index in bytes." } } }, - "EventHubDataConnectionProperties": { - "description": "Class representing the Kusto event hub connection properties.", - "required": [ - "eventHubResourceId", - "consumerGroup" - ], + "EventHubConnectionProperties": { "type": "object", "properties": { - "eventHubResourceId": { - "type": "string", - "description": "The resource ID of the event hub to be used to create a data connection." - }, "consumerGroup": { "type": "string", "description": "The event hub consumer group." }, - "tableName": { - "type": "string", - "description": "The table where the data should be ingested. Optionally the table information can be added to each message." - }, - "mappingRuleName": { - "type": "string", - "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." - }, "dataFormat": { - "$ref": "#/definitions/DataFormat", - "description": "The data format of the message. Optionally the data format can be added to each message." - } - } - }, - "EventGridDataConnection": { - "description": "Information about the event grid data connection", - "required": [ - "kind", - "properties" - ], - "type": "object", - "properties": { - "kind": { - "description": "Kind of the endpoint for the data connection", - "enum": [ - "EventGrid" + "oneOf": [ + { + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ], - "type": "string" - }, - "properties": { - "$ref": "#/definitions/EventGridDataConnectionProperties", - "description": "Event grid data connection properties" - } - } - }, - "EventGridDataConnectionProperties": { - "description": "Class representing the Kusto event grid connection properties.", - "required": [ - "storageAccountResourceId", - "eventHubResourceId", - "consumerGroup", - "tableName", - "dataFormat" - ], - "type": "object", - "properties": { - "storageAccountResourceId": { - "type": "string", - "description": "The resource ID of the storage account where the data resides." + "description": "The data format of the message. Optionally the data format can be added to each message." }, "eventHubResourceId": { "type": "string", - "description": "The resource ID where the event grid is configured to send events." + "description": "The resource ID of the event hub to be used to create a data connection." }, - "consumerGroup": { + "mappingRuleName": { "type": "string", - "description": "The event hub consumer group." + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." }, "tableName": { "type": "string", "description": "The table where the data should be ingested. Optionally the table information can be added to each message." - }, - "mappingRuleName": { - "type": "string", - "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." - }, - "dataFormat": { - "$ref": "#/definitions/DataFormat", - "description": "The data format of the message. Optionally the data format can be added to each message." } - } - }, - "DataFormat": { - "description": "The data format of the message. Optionally the data format can be added to each message.", - "type": "string", - "enum": [ - "MULTIJSON", - "JSON", - "CSV", - "TSV", - "SCSV", - "SOHSV", - "PSV", - "TXT", - "RAW", - "SINGLEJSON", - "AVRO" + }, + "required": [ + "consumerGroup", + "eventHubResourceId" ], - "x-ms-enum": { - "name": "dataFormat", - "modelAsString": true - } + "description": "Class representing the Kusto event hub connection properties." }, "TrustedExternalTenant": { + "type": "object", "properties": { "value": { "type": "string", diff --git a/schemas/2019-01-21/Microsoft.Kusto.json b/schemas/2019-01-21/Microsoft.Kusto.json index 540fa3ad8e..dfa26ab6e7 100644 --- a/schemas/2019-01-21/Microsoft.Kusto.json +++ b/schemas/2019-01-21/Microsoft.Kusto.json @@ -1,400 +1,558 @@ -{ - "id": "https://schema.management.azure.com/schemas/2019-01-21/Microsoft.Kusto.json#", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Microsoft.Kusto", - "description": "Microsoft Kusto Resource Types", - "resourceDefinitions": { - "clusters": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The Cluster name" - }, - "type": { - "enum": [ - "Microsoft.Kusto/clusters" - ] - }, - "apiVersion": { - "enum": [ - "2019-01-21" - ] - }, - "location": { - "type": "string", - "description": "Cluster's location" - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Cluster tags" - }, - "sku": { - "oneOf": [ - { - "$ref": "#/definitions/Sku" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The SKU of the Kusto cluster." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ClusterProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Properties for a Kusto Cluster." - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/resourceDefinitions/clusters_databases" - } - ] - } - } - }, - "required": [ - "name", - "type", - "apiVersion", - "location", - "sku" - ], - "description": "Microsoft.Kusto/clusters" - }, - "clusters_databases": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The Database name" - }, - "type": { - "enum": [ - "Microsoft.Kusto/clusters/databases" - ] - }, - "apiVersion": { - "type": "string", - "enum": [ - "2019-01-21" - ] - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/DatabaseProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Properties supplied to the Database Create Or Update Kusto operation." - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/resourceDefinitions/clusters_databases_dataconnections" - } - ] - } - } - }, - "required": [ - "name", - "type", - "apiVersion", - "properties" - ], - "description": "Microsoft.Kusto/clusters/databases" - }, - "clusters_databases_dataconnections": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The data connection name" - }, - "type": { - "enum": [ - "Microsoft.Kusto/clusters/databases/dataconnections" - ] - }, - "apiVersion": { - "type": "string", - "enum": [ - "2019-01-21" - ] - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EventHubDataConnection" - }, - { - "$ref": "#/definitions/EventGridDataConnection" - } - ], - "description": "Properties supplied to the Data Connection Create Or Update Kusto operation." - } - }, - "required": [ - "name", - "type", - "apiVersion", - "properties" - ], - "description": "Microsoft.Kusto/clusters/databases" - } - }, - "definitions": { - "Sku": { - "oneOf": [ - { - "$ref": "#/definitions/AzureSku" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "AzureSku": { - "type": "object", - "required": [ - "name", - "tier" - ], - "properties": { - "name": { - "description": "SKU name. Possible values include: 'D14_v2', 'D13_v2', 'L16', 'L8', 'Standard_DS13_v2+1TB_PS', 'Standard_DS13_v2+2TB_PS', 'Standard_DS14_v2+3TB_PS', 'Standard_DS14_v2+4TB_PS', 'Dev(No SLA)_Standard_D11_v2'", - "type": "string", - "enum": [ - "D13_v2", - "D14_v2", - "L8", - "L16", - "Standard_DS13_v2+1TB_PS", - "Standard_DS13_v2+2TB_PS", - "Standard_DS14_v2+3TB_PS", - "Standard_DS14_v2+4TB_PS", - "Standard_D13_v2", - "Standard_D14_v2", - "Standard_L8s", - "Standard_L16s", - "Standard_D11_v2", - "Standard_D12_v2", - "Standard_L4s", - "Dev(No SLA)_Standard_D11_v2" - ], - "x-ms-enum": { - "name": "AzureSkuName", - "modelAsString": true - } - }, - "capacity": { - "description": "SKU capacity.", - "type": "integer" - }, - "tier": { - "description": "SKU tier", - "type": "string", - "enum": [ - "Basic", - "Standard" - ], - "x-ms-enum": { - "name": "AzureSkuTier", - "modelAsString": true - } - } - } - }, - "ClusterProperties": { - "type": "object", - "properties": { - "trustedExternalTenants": { - "type": "array", - "items": { - "$ref": "#/definitions/TrustedExternalTenant" - }, - "description": "The cluster's external tenants." - } - }, - "description": "Class representing the Kusto cluster properties." - }, - "DatabaseProperties": { - "type": "object", - "properties": { - "softDeletePeriod": { - "type": "string", - "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan." - }, - "hotCachePeriod": { - "type": "string", - "description": "The time the data should be kept in cache for fast queries in TimeSpan." - } - }, - "description": "Class representing the Kusto database properties." - }, - "EventHubDataConnection": { - "description": "Information about the event hub data connection", - "required": [ - "kind", - "properties" - ], - "type": "object", - "properties": { - "kind": { - "description": "Kind of the endpoint for the data connection", - "enum": [ - "EventHub" - ], - "type": "string" - }, - "properties": { - "$ref": "#/definitions/EventHubDataConnectionProperties", - "description": "Event hub data connection properties" - } - } - }, - "EventHubDataConnectionProperties": { - "description": "Class representing the Kusto event hub connection properties.", - "required": [ - "eventHubResourceId", - "consumerGroup" - ], - "type": "object", - "properties": { - "eventHubResourceId": { - "type": "string", - "description": "The resource ID of the event hub to be used to create a data connection." - }, - "consumerGroup": { - "type": "string", - "description": "The event hub consumer group." - }, - "tableName": { - "type": "string", - "description": "The table where the data should be ingested. Optionally the table information can be added to each message." - }, - "mappingRuleName": { - "type": "string", - "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." - }, - "dataFormat": { - "$ref": "#/definitions/DataFormat", - "description": "The data format of the message. Optionally the data format can be added to each message." - } - } - }, - "EventGridDataConnection": { - "description": "Information about the event grid data connection", - "required": [ - "kind", - "properties" - ], - "type": "object", - "properties": { - "kind": { - "description": "Kind of the endpoint for the data connection", - "enum": [ - "EventGrid" - ], - "type": "string" - }, - "properties": { - "$ref": "#/definitions/EventGridDataConnectionProperties", - "description": "Event grid data connection properties" - } - } - }, - "EventGridDataConnectionProperties": { - "description": "Class representing the Kusto event grid connection properties.", - "required": [ - "storageAccountResourceId", - "eventHubResourceId", - "consumerGroup", - "tableName", - "dataFormat" - ], - "type": "object", - "properties": { - "storageAccountResourceId": { - "type": "string", - "description": "The resource ID of the storage account where the data resides." - }, - "eventHubResourceId": { - "type": "string", - "description": "The resource ID where the event grid is configured to send events." - }, - "consumerGroup": { - "type": "string", - "description": "The event hub consumer group." - }, - "tableName": { - "type": "string", - "description": "The table where the data should be ingested. Optionally the table information can be added to each message." - }, - "mappingRuleName": { - "type": "string", - "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." - }, - "dataFormat": { - "$ref": "#/definitions/DataFormat", - "description": "The data format of the message. Optionally the data format can be added to each message." - } - } - }, - "DataFormat": { - "description": "The data format of the message. Optionally the data format can be added to each message.", - "type": "string", - "enum": [ - "MULTIJSON", - "JSON", - "CSV", - "TSV", - "SCSV", - "SOHSV", - "PSV", - "TXT", - "RAW", - "SINGLEJSON", - "AVRO" - ], - "x-ms-enum": { - "name": "dataFormat", - "modelAsString": true - } - }, - "TrustedExternalTenant": { - "type": "object", - "properties": { - "value": { - "type": "string", - "description": "GUID representing an external tenant." - } - } - } - } -} +{ + "id": "https://schema.management.azure.com/schemas/2019-01-21/Microsoft.Kusto.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Kusto", + "description": "Microsoft Kusto Resource Types", + "resourceDefinitions": { + "clusters": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-01-21" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "The name of the Kusto cluster." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ClusterProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto cluster properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/clusters_databases_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/AzureSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure SKU 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.Kusto/clusters" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "sku", + "type" + ], + "description": "Microsoft.Kusto/clusters" + }, + "clusters_databases": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-01-21" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the database in the Kusto cluster." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto database properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/clusters_databases_dataConnections_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Kusto/clusters/databases" + }, + "clusters_databases_dataConnections": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/EventHubDataConnection" + }, + { + "$ref": "#/definitions/EventGridDataConnection" + } + ], + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-01-21" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the data connection." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases/dataConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Kusto/clusters/databases/dataConnections" + } + }, + "definitions": { + "AzureSku": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of instances of the cluster." + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_DS13_v2+1TB_PS", + "Standard_DS13_v2+2TB_PS", + "Standard_DS14_v2+3TB_PS", + "Standard_DS14_v2+4TB_PS", + "Standard_D13_v2", + "Standard_D14_v2", + "Standard_L8s", + "Standard_L16s", + "Standard_D11_v2", + "Standard_D12_v2", + "Standard_L4s", + "Dev(No SLA)_Standard_D11_v2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU name." + }, + "tier": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Basic", + "Standard" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU tier." + } + }, + "required": [ + "name", + "tier" + ], + "description": "Azure SKU definition." + }, + "ClusterProperties": { + "type": "object", + "properties": { + "trustedExternalTenants": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TrustedExternalTenant" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The cluster's external tenants." + } + }, + "description": "Class representing the Kusto cluster properties." + }, + "clusters_databases_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-01-21" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the database in the Kusto cluster." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto database properties." + }, + "type": { + "type": "string", + "enum": [ + "databases" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Kusto/clusters/databases" + }, + "clusters_databases_dataConnections_childResource": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/EventHubDataConnection" + }, + { + "$ref": "#/definitions/EventGridDataConnection" + } + ], + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-01-21" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the data connection." + }, + "type": { + "type": "string", + "enum": [ + "dataConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Kusto/clusters/databases/dataConnections" + }, + "DatabaseProperties": { + "type": "object", + "properties": { + "hotCachePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data that should be kept in cache for fast queries in TimeSpan." + }, + "softDeletePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan." + }, + "statistics": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseStatistics" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A class that contains database statistics information." + } + }, + "description": "Class representing the Kusto database properties." + }, + "DatabaseStatistics": { + "type": "object", + "properties": { + "size": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The database size - the total size of compressed data and index in bytes." + } + }, + "description": "A class that contains database statistics information." + }, + "EventGridConnectionProperties": { + "type": "object", + "properties": { + "consumerGroup": { + "type": "string", + "description": "The event hub consumer group." + }, + "dataFormat": { + "oneOf": [ + { + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "eventHubResourceId": { + "type": "string", + "description": "The resource ID where the event grid is configured to send events." + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "storageAccountResourceId": { + "type": "string", + "description": "The resource ID of the storage account where the data resides." + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + } + }, + "required": [ + "consumerGroup", + "dataFormat", + "eventHubResourceId", + "storageAccountResourceId", + "tableName" + ], + "description": "Class representing the Kusto event grid connection properties." + }, + "EventGridDataConnection": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "EventGrid" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EventGridConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto event grid connection properties." + } + }, + "required": [ + "kind" + ], + "description": "Class representing an Event Grid data connection." + }, + "EventHubConnectionProperties": { + "type": "object", + "properties": { + "consumerGroup": { + "type": "string", + "description": "The event hub consumer group." + }, + "dataFormat": { + "oneOf": [ + { + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "eventHubResourceId": { + "type": "string", + "description": "The resource ID of the event hub to be used to create a data connection." + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + } + }, + "required": [ + "consumerGroup", + "eventHubResourceId" + ], + "description": "Class representing the Kusto event hub connection properties." + }, + "EventHubDataConnection": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "EventHub" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EventHubConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto event hub connection properties." + } + }, + "required": [ + "kind" + ], + "description": "Class representing an event hub data connection." + }, + "TrustedExternalTenant": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "GUID representing an external tenant." + } + }, + "description": "Represents a tenant ID that is trusted by the cluster." + } + } +} \ No newline at end of file diff --git a/schemas/2019-03-01-hybrid/deploymentTemplate.json b/schemas/2019-03-01-hybrid/deploymentTemplate.json index 350fd1fe20..e871f1f261 100644 --- a/schemas/2019-03-01-hybrid/deploymentTemplate.json +++ b/schemas/2019-03-01-hybrid/deploymentTemplate.json @@ -553,7 +553,7 @@ "$ref": "https://schema.management.azure.com/schemas/2019-01-21/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" }, { - "$ref": "https://schema.management.azure.com/schemas/2019-01-21/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections" + "$ref": "https://schema.management.azure.com/schemas/2019-01-21/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections" }, { "$ref": "https://schema.management.azure.com/schemas/2014-04-01-preview/Microsoft.Cache.json#/resourceDefinitions/Redis" diff --git a/schemas/2019-04-01/deploymentTemplate.json b/schemas/2019-04-01/deploymentTemplate.json index 8843c5650c..c12b8db143 100644 --- a/schemas/2019-04-01/deploymentTemplate.json +++ b/schemas/2019-04-01/deploymentTemplate.json @@ -541,54 +541,6 @@ { "$ref": "https://schema.management.azure.com/schemas/2016-06-01/Microsoft.RecoveryServices.legacy.json#/resourceDefinitions/vaults" }, { "$ref": "https://schema.management.azure.com/schemas/2017-09-07-privatepreview/Microsoft.Kusto.json#/resourceDefinitions/clusters" }, { "$ref": "https://schema.management.azure.com/schemas/2017-09-07-privatepreview/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" }, - { "$ref": "https://schema.management.azure.com/schemas/2018-09-07-preview/Microsoft.Kusto.json#/resourceDefinitions/clusters" }, - { "$ref": "https://schema.management.azure.com/schemas/2018-09-07-preview/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" }, - { "$ref": "https://schema.management.azure.com/schemas/2019-01-21/Microsoft.Kusto.json#/resourceDefinitions/clusters" }, - { "$ref": "https://schema.management.azure.com/schemas/2019-01-21/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" }, - { "$ref": "https://schema.management.azure.com/schemas/2019-01-21/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections" }, - { "$ref": "https://schema.management.azure.com/schemas/2019-05-15/Microsoft.Kusto.json#/resourceDefinitions/clusters" }, - { "$ref": "https://schema.management.azure.com/schemas/2019-05-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" }, - { "$ref": "https://schema.management.azure.com/schemas/2019-05-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections" }, - { "$ref": "https://schema.management.azure.com/schemas/2019-09-07/Microsoft.Kusto.json#/resourceDefinitions/clusters" }, - { "$ref": "https://schema.management.azure.com/schemas/2019-09-07/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" }, - { "$ref": "https://schema.management.azure.com/schemas/2019-09-07/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections" }, - { "$ref": "https://schema.management.azure.com/schemas/2019-09-07/Microsoft.Kusto.json#/resourceDefinitions/clusters_attacheddatabaseconfigurations" }, - { "$ref": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters" }, - { "$ref": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" }, - { "$ref": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections" }, - { "$ref": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters_attacheddatabaseconfigurations" }, - { "$ref": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataconnections" }, - { "$ref": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalassignments" }, - { "$ref": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalassignments" }, - { "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters" }, - { "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" }, - { "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections" }, - { "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_attacheddatabaseconfigurations" }, - { "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataconnections" }, - { "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalassignments" }, - { "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalassignments" }, - { "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters" }, - { "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" }, - { "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections" }, - { "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_attacheddatabaseconfigurations" }, - { "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataconnections" }, - { "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalassignments" }, - { "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalassignments" }, - { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters" }, - { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" }, - { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections" }, - { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_attacheddatabaseconfigurations" }, - { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataconnections" }, - { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalassignments" }, - { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalassignments" }, - { "$ref": "https://schema.management.azure.com/schemas/2021-01-01/Microsoft.Kusto.json#/resourceDefinitions/clusters" }, - { "$ref": "https://schema.management.azure.com/schemas/2021-01-01/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" }, - { "$ref": "https://schema.management.azure.com/schemas/2021-01-01/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections" }, - { "$ref": "https://schema.management.azure.com/schemas/2021-01-01/Microsoft.Kusto.json#/resourceDefinitions/clusters_attacheddatabaseconfigurations" }, - { "$ref": "https://schema.management.azure.com/schemas/2021-01-01/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataconnections" }, - { "$ref": "https://schema.management.azure.com/schemas/2021-01-01/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalassignments" }, - { "$ref": "https://schema.management.azure.com/schemas/2021-01-01/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalassignments" }, - { "$ref": "https://schema.management.azure.com/schemas/2021-01-01/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_scripts" }, { "$ref": "https://schema.management.azure.com/schemas/2015-11-01/Microsoft.Network.json#/resourceDefinitions/trafficManagerProfiles" }, { "$ref": "https://schema.management.azure.com/schemas/2017-03-01/Microsoft.Network.json#/resourceDefinitions/trafficManagerProfiles" }, { "$ref": "https://schema.management.azure.com/schemas/2017-05-01/Microsoft.Network.json#/resourceDefinitions/trafficManagerProfiles" }, diff --git a/schemas/2019-05-15/Microsoft.Kusto.json b/schemas/2019-05-15/Microsoft.Kusto.json index 551e6ffcf9..15f9879631 100644 --- a/schemas/2019-05-15/Microsoft.Kusto.json +++ b/schemas/2019-05-15/Microsoft.Kusto.json @@ -1,506 +1,642 @@ { - "id": "https://schema.management.azure.com/schemas/2019-05-15/Microsoft.Kusto.json#", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Microsoft.Kusto", - "description": "Microsoft Kusto Resource Types", - "resourceDefinitions": { - "clusters": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The Cluster name" - }, - "type": { - "enum": [ - "Microsoft.Kusto/clusters" - ] - }, - "apiVersion": { - "enum": [ - "2019-05-15" - ] - }, - "location": { - "type": "string", - "description": "Cluster's location" - }, - "tags": { - "oneOf": [{ - "type": "object", - "additionalProperties": { - "type": "string" - } - }, { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Cluster tags" - }, - "sku": { - "oneOf": [{ - "$ref": "#/definitions/Sku" - }, { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The SKU of the Kusto cluster." - }, - "zones": { - "oneOf": [{ - "$ref": "#/definitions/Zones" - }, { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The availability zones of the cluster." - }, - "properties": { - "oneOf": [{ - "$ref": "#/definitions/ClusterProperties" - }, { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Properties for a Kusto Cluster." - }, - "resources": { - "type": "array", - "items": { - "oneOf": [{ - "$ref": "#/resourceDefinitions/clusters_databases" - } - ] - } - } + "id": "https://schema.management.azure.com/schemas/2019-05-15/Microsoft.Kusto.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Kusto", + "description": "Microsoft Kusto Resource Types", + "resourceDefinitions": { + "clusters": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-05-15" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "The name of the Kusto cluster." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ClusterProperties" }, - "required": [ - "name", - "type", - "apiVersion", - "location", - "sku" - ], - "description": "Microsoft.Kusto/clusters" - }, - "clusters_databases": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The Database name" - }, - "type": { - "enum": [ - "Microsoft.Kusto/clusters/databases" - ] - }, - "apiVersion": { - "type": "string", - "enum": [ - "2019-05-15" - ] - }, - "properties": { - "oneOf": [{ - "$ref": "#/definitions/DatabaseProperties" - }, { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Properties supplied to the Database Create Or Update Kusto operation." - }, - "resources": { - "type": "array", - "items": { - "oneOf": [{ - "$ref": "#/resourceDefinitions/clusters_databases_dataconnections" - }, { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto cluster properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/clusters_databases_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/AzureSku" }, - "required": [ - "name", - "type", - "apiVersion", - "properties" - ], - "description": "Microsoft.Kusto/clusters/databases" - }, - "clusters_databases_dataconnections": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The data connection name" - }, - "type": { - "enum": [ - "Microsoft.Kusto/clusters/databases/dataconnections" - ] - }, - "apiVersion": { - "type": "string", - "enum": [ - "2019-05-15" - ] - }, - "properties": { - "oneOf": [{ - "$ref": "#/definitions/EventHubDataConnection" - }, { - "$ref": "#/definitions/EventGridDataConnection" - }, { - "$ref": "#/definitions/IotHubDataConnection" - }, { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Properties supplied to the Data Connection Create Or Update Kusto operation." - } + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure SKU definition." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, - "required": [ - "name", - "type", - "apiVersion", - "properties" - ], - "description": "Microsoft.Kusto/clusters/databases" + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters" + ] + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array represents the availability zones of the cluster." } + }, + "required": [ + "apiVersion", + "location", + "name", + "sku", + "type" + ], + "description": "Microsoft.Kusto/clusters" }, - "definitions": { - "Sku": { - "oneOf": [{ - "$ref": "#/definitions/AzureSku" - }, { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } + "clusters_databases": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-05-15" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the database in the Kusto cluster." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto database properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/clusters_databases_dataConnections_childResource" + } ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Kusto/clusters/databases" + }, + "clusters_databases_dataConnections": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/EventHubDataConnection" + }, + { + "$ref": "#/definitions/IotHubDataConnection" + }, + { + "$ref": "#/definitions/EventGridDataConnection" + } + ], + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-05-15" + ] }, - "AzureSku": { - "type": "object", - "required": [ - "name", - "tier" - ], - "properties": { - "name": { - "description": "SKU name. Possible values include: 'D14_v2', 'D13_v2', 'L16', 'L8', 'Standard_DS13_v2+1TB_PS', 'Standard_DS13_v2+2TB_PS', 'Standard_DS14_v2+3TB_PS', 'Standard_DS14_v2+4TB_PS', 'Dev(No SLA)_Standard_D11_v2'", - "type": "string", - "enum": [ - "D13_v2", - "D14_v2", - "L8", - "L16", - "Standard_DS13_v2+1TB_PS", - "Standard_DS13_v2+2TB_PS", - "Standard_DS14_v2+3TB_PS", - "Standard_DS14_v2+4TB_PS", - "Standard_D13_v2", - "Standard_D14_v2", - "Standard_L8s", - "Standard_L16s", - "Standard_D11_v2", - "Standard_D12_v2", - "Standard_L4s", - "Dev(No SLA)_Standard_D11_v2" - ], - "x-ms-enum": { - "name": "AzureSkuName", - "modelAsString": true - } - }, - "capacity": { - "description": "SKU capacity.", - "type": "integer" - }, - "tier": { - "description": "SKU tier", - "type": "string", - "enum": [ - "Basic", - "Standard" - ], - "x-ms-enum": { - "name": "AzureSkuTier", - "modelAsString": true - } - } + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the data connection." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases/dataConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Kusto/clusters/databases/dataConnections" + } + }, + "definitions": { + "AzureSku": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ], + "description": "The number of instances of the cluster." }, - "Zones": { - "description": "An array represents the availability zones of the cluster.", - "type": "array", - "items": { - "type": "string" + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_DS13_v2+1TB_PS", + "Standard_DS13_v2+2TB_PS", + "Standard_DS14_v2+3TB_PS", + "Standard_DS14_v2+4TB_PS", + "Standard_D13_v2", + "Standard_D14_v2", + "Standard_L8s", + "Standard_L16s", + "Standard_D11_v2", + "Standard_D12_v2", + "Standard_L4s", + "Dev(No SLA)_Standard_D11_v2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU name." + }, + "tier": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Basic", + "Standard" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU tier." + } + }, + "required": [ + "name", + "tier" + ], + "description": "Azure SKU definition." + }, + "ClusterProperties": { + "type": "object", + "properties": { + "enableDiskEncryption": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ], + "description": "A boolean value that indicates if the cluster's disks are encrypted." }, - "ClusterProperties": { - "type": "object", - "properties": { - "trustedExternalTenants": { - "type": "array", - "items": { - "$ref": "#/definitions/TrustedExternalTenant" - }, - "description": "The cluster's external tenants." - }, - "optimizedAutoscale": { - "type": "object", - "description": "Optimized auto scale definition." - }, - "enableDiskEncryption": { - "description": "A boolean value that indicates if the cluster's disks are encrypted.", - "type": "boolean" - }, - "enableStreamingIngest": { - "description": "A boolean value that indicates if streaming ingest is enabled.", - "default": false, - "type": "boolean" - }, - "virtualNetworkConfiguration": { - "type": "object", - "description": "Virtual network definition." - } + "enableStreamingIngest": { + "oneOf": [ + { + "type": "boolean", + "default": false }, - "description": "Class representing the Kusto cluster properties." - }, - "DatabaseProperties": { - "type": "object", - "properties": { - "softDeletePeriod": { - "type": "string", - "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan." - }, - "hotCachePeriod": { - "type": "string", - "description": "The time the data should be kept in cache for fast queries in TimeSpan." - } + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A boolean value that indicates if the streaming ingest is enabled." + }, + "optimizedAutoscale": { + "oneOf": [ + { + "$ref": "#/definitions/OptimizedAutoscale" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A class that contains the optimized auto scale definition." + }, + "trustedExternalTenants": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TrustedExternalTenant" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The cluster's external tenants." + }, + "virtualNetworkConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A class that contains virtual network definition." + } + }, + "description": "Class representing the Kusto cluster properties." + }, + "clusters_databases_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-05-15" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the database in the Kusto cluster." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto database properties." + }, + "type": { + "type": "string", + "enum": [ + "databases" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Kusto/clusters/databases" + }, + "clusters_databases_dataConnections_childResource": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/EventHubDataConnection" + }, + { + "$ref": "#/definitions/IotHubDataConnection" + }, + { + "$ref": "#/definitions/EventGridDataConnection" + } + ], + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-05-15" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the data connection." + }, + "type": { + "type": "string", + "enum": [ + "dataConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Kusto/clusters/databases/dataConnections" + }, + "DatabaseProperties": { + "type": "object", + "properties": { + "hotCachePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept in cache for fast queries in TimeSpan." + }, + "softDeletePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan." + }, + "statistics": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseStatistics" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A class that contains database statistics information." + } + }, + "description": "Class representing the Kusto database properties." + }, + "DatabaseStatistics": { + "type": "object", + "properties": { + "size": { + "oneOf": [ + { + "type": "number" }, - "description": "Class representing the Kusto database properties." - }, - "EventHubDataConnection": { - "description": "Information about the event hub data connection", - "required": [ - "kind", - "properties" - ], - "type": "object", - "properties": { - "kind": { - "description": "Kind of the endpoint for the data connection", - "enum": [ - "EventHub" - ], - "type": "string" - }, - "properties": { - "oneOf": [{ - "$ref": "#/definitions/EventHubDataConnectionProperties" - }, { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - - "description": "Event hub data connection properties" - } + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ], + "description": "The database size - the total size of compressed data and index in bytes." + } + }, + "description": "A class that contains database statistics information." + }, + "EventGridConnectionProperties": { + "type": "object", + "properties": { + "consumerGroup": { + "type": "string", + "description": "The event hub consumer group." }, - "EventHubDataConnectionProperties": { - "description": "Class representing the Kusto event hub connection properties.", - "required": [ - "eventHubResourceId", - "consumerGroup" - ], - "type": "object", - "properties": { - "eventHubResourceId": { - "type": "string", - "description": "The resource ID of the event hub to be used to create a data connection." - }, - "consumerGroup": { - "type": "string", - "description": "The event hub consumer group." - }, - "tableName": { - "type": "string", - "description": "The table where the data should be ingested. Optionally the table information can be added to each message." - }, - "mappingRuleName": { - "type": "string", - "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." - }, - "dataFormat": { - "oneOf": [{ - "$ref": "#/definitions/DataFormat" - }, { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - - "description": "The data format of the message. Optionally the data format can be added to each message." - }, - "eventSystemProperties": { - "oneOf": [{ - "$ref": "#/definitions/EventSystemProperties" - }, { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The event hub system properties." - } + "dataFormat": { + "oneOf": [ + { + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ], + "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "eventHubResourceId": { + "type": "string", + "description": "The resource ID where the event grid is configured to send events." + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." }, - "IotHubDataConnection": { - "description": "Information about the Iot hub data connection", - "required": [ - "kind", - "properties" - ], - "type": "object", - "properties": { - "kind": { - "description": "Kind of the endpoint for the data connection", - "enum": [ - "IotHub" - ], - "type": "string" - }, - "properties": { - "oneOf": [{ - "$ref": "#/definitions/IotHubDataConnectionProperties" - }, { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Iot hub data connection properties" - } + "storageAccountResourceId": { + "type": "string", + "description": "The resource ID of the storage account where the data resides." + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + } + }, + "required": [ + "consumerGroup", + "dataFormat", + "eventHubResourceId", + "storageAccountResourceId", + "tableName" + ], + "description": "Class representing the Kusto event grid connection properties." + }, + "EventGridDataConnection": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "EventGrid" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EventGridConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ], + "description": "Class representing the Kusto event grid connection properties." + } + }, + "required": [ + "kind" + ], + "description": "Class representing an Event Grid data connection." + }, + "EventHubConnectionProperties": { + "type": "object", + "properties": { + "consumerGroup": { + "type": "string", + "description": "The event hub consumer group." }, - "IotHubDataConnectionProperties": { - "description": "Class representing the Kusto Iot hub connection properties.", - "required": [ - "iotHubResourceId", - "consumerGroup", - "sharedAccessPolicyName" - ], - "type": "object", - "properties": { - "IotHubResourceId": { - "type": "string", - "description": "The resource ID of the iot hub to be used to create a data connection." - }, - "consumerGroup": { - "type": "string", - "description": "The iot hub consumer group." - }, - "tableName": { - "type": "string", - "description": "The table where the data should be ingested. Optionally the table information can be added to each message." - }, - "mappingRuleName": { - "type": "string", - "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." - }, - "dataFormat": { - "oneOf": [{ - "$ref": "#/definitions/DataFormat" - }, { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The data format of the message. Optionally the data format can be added to each message." - }, - "eventSystemProperties": { - "description": "The iot hub system properties.", - "oneOf": [{ - "$ref": "#/definitions/EventSystemProperties" - }, { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "sharedAccessPolicyName": { - "type": "string", - "description": "The name of the shared access policy." - } + "dataFormat": { + "oneOf": [ + { + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ], + "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "eventHubResourceId": { + "type": "string", + "description": "The resource ID of the event hub to be used to create a data connection." }, - "EventGridDataConnection": { - "description": "Information about the event grid data connection", - "required": [ - "kind", - "properties" - ], - "type": "object", - "properties": { - "kind": { - "description": "Kind of the endpoint for the data connection", - "enum": [ - "EventGrid" - ], - "type": "string" - }, - "properties": { - "oneOf": [{ - "$ref": "#/definitions/EventGridDataConnectionProperties" - }, { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Event grid data connection properties" - } + "eventSystemProperties": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ], + "description": "System properties of the event hub" }, - "EventGridDataConnectionProperties": { - "description": "Class representing the Kusto event grid connection properties.", - "required": [ - "storageAccountResourceId", - "eventHubResourceId", - "consumerGroup", - "tableName", - "dataFormat" - ], - "type": "object", - "properties": { - "storageAccountResourceId": { - "type": "string", - "description": "The resource ID of the storage account where the data resides." - }, - "eventHubResourceId": { - "type": "string", - "description": "The resource ID where the event grid is configured to send events." - }, - "consumerGroup": { - "type": "string", - "description": "The event hub consumer group." - }, - "tableName": { - "type": "string", - "description": "The table where the data should be ingested. Optionally the table information can be added to each message." - }, - "mappingRuleName": { - "type": "string", - "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." - }, - "dataFormat": { - "oneOf": [{ - "$ref": "#/definitions/DataFormat" - }, { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The data format of the message. Optionally the data format can be added to each message." - } + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + } + }, + "required": [ + "consumerGroup", + "eventHubResourceId" + ], + "description": "Class representing the Kusto event hub connection properties." + }, + "EventHubDataConnection": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "EventHub" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EventHubConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ], + "description": "Class representing the Kusto event hub connection properties." + } + }, + "required": [ + "kind" + ], + "description": "Class representing an event hub data connection." + }, + "IotHubConnectionProperties": { + "type": "object", + "properties": { + "consumerGroup": { + "type": "string", + "description": "The iot hub consumer group." }, - "DataFormat": { - "description": "The data format of the message. Optionally the data format can be added to each message.", - "type": "string", - "enum": [ + "dataFormat": { + "oneOf": [ + { + "type": "string", + "enum": [ "MULTIJSON", "JSON", "CSV", @@ -513,78 +649,166 @@ "SINGLEJSON", "AVRO", "TSVE" - ], - "x-ms-enum": { - "name": "dataFormat", - "modelAsString": true + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ], + "description": "The data format of the message. Optionally the data format can be added to each message." }, - "EventSystemProperties": { - "description": "The resource system properties.", - "type": "array", - "items": { + "eventSystemProperties": { + "oneOf": [ + { + "type": "array", + "items": { "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ], + "description": "System properties of the iot hub" + }, + "iotHubResourceId": { + "type": "string", + "description": "The resource ID of the Iot hub to be used to create a data connection." }, - "TrustedExternalTenant": { - "type": "object", - "properties": { - "value": { - "type": "string", - "description": "GUID representing an external tenant." - } + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "sharedAccessPolicyName": { + "type": "string", + "description": "The name of the share access policy name" + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + } + }, + "required": [ + "consumerGroup", + "iotHubResourceId", + "sharedAccessPolicyName" + ], + "description": "Class representing the Kusto iot hub connection properties." + }, + "IotHubDataConnection": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "IotHub" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/IotHubConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto iot hub connection properties." + } + }, + "required": [ + "kind" + ], + "description": "Class representing an iot hub data connection." + }, + "OptimizedAutoscale": { + "type": "object", + "properties": { + "isEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A boolean value that indicate if the optimized autoscale feature is enabled or not." + }, + "maximum": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ], + "description": "Maximum allowed instances count." }, - "OptimizedAutoscale": { - "type": "object", - "required": [ - "version", - "isEnabled", - "minimum", - "maximum" - ], - "properties": { - "version": { - "description": "The version of the template defined, for instance 1.", - "type": "integer" - }, - "isEnabled": { - "description": "A boolean value that indicate if the optimized autoscale feature is enabled or not.", - "type": "boolean" - }, - "minimum": { - "description": "Minimum allowed instances count.", - "type": "integer" - }, - "maximum": { - "description": "Maximum allowed instances count.", - "type": "integer" - } + "minimum": { + "oneOf": [ + { + "type": "integer" }, - "description": "A class that contains the optimized auto scale definition." - }, - "VirtualNetworkConfiguration": { - "type": "object", - "required": [ - "subnetId", - "enginePublicIpId", - "dataManagementPublicIpId" - ], - "properties": { - "subnetId": { - "description": "The subnet resource id.", - "type": "string" - }, - "enginePublicIpId": { - "description": "Engine service's public IP address resource id.", - "type": "string" - }, - "dataManagementPublicIpId": { - "description": "Data management's service public IP address resource id.", - "type": "string" - } + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimum allowed instances count." + }, + "version": { + "oneOf": [ + { + "type": "integer" }, - "description": "A class that contains virtual network definition." + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The version of the template defined, for instance 1." + } + }, + "required": [ + "isEnabled", + "maximum", + "minimum", + "version" + ], + "description": "A class that contains the optimized auto scale definition." + }, + "TrustedExternalTenant": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "GUID representing an external tenant." + } + }, + "description": "Represents a tenant ID that is trusted by the cluster." + }, + "VirtualNetworkConfiguration": { + "type": "object", + "properties": { + "dataManagementPublicIpId": { + "type": "string", + "description": "Data management's service public IP address resource id." + }, + "enginePublicIpId": { + "type": "string", + "description": "Engine service's public IP address resource id." + }, + "subnetId": { + "type": "string", + "description": "The subnet resource id." } + }, + "required": [ + "dataManagementPublicIpId", + "enginePublicIpId", + "subnetId" + ], + "description": "A class that contains virtual network definition." } -} + } +} \ No newline at end of file diff --git a/schemas/2019-09-07/Microsoft.Kusto.json b/schemas/2019-09-07/Microsoft.Kusto.json index a342dcc2de..66fbf421d5 100644 --- a/schemas/2019-09-07/Microsoft.Kusto.json +++ b/schemas/2019-09-07/Microsoft.Kusto.json @@ -7,40 +7,55 @@ "clusters": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The name of the Kusto cluster." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Kusto/clusters" - ] - }, "apiVersion": { "type": "string", "enum": [ "2019-09-07" ] }, - "tags": { + "identity": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/Identity" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags." + "description": "Identity for the resource." }, "location": { "type": "string", "description": "The geo-location where the resource lives" }, + "name": { + "type": "string", + "description": "The name of the Kusto cluster." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ClusterProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto cluster properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/clusters_databases_childResource" + }, + { + "$ref": "#/definitions/clusters_attachedDatabaseConfigurations_childResource" + } + ] + } + }, "sku": { "oneOf": [ { @@ -50,84 +65,107 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The SKU of the Kusto cluster." + "description": "Azure SKU definition." }, - "zones": { + "tags": { "oneOf": [ { - "type": "array", - "items": { + "type": "object", + "additionalProperties": { "type": "string" - } + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "An array represents the availability zones of the cluster." + "description": "Resource tags." }, - "identity": { + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters" + ] + }, + "zones": { "oneOf": [ { - "$ref": "#/definitions/Identity" + "type": "array", + "items": { + "type": "string" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Identity for the resource." + "description": "An array represents the availability zones of the cluster." + } + }, + "required": [ + "apiVersion", + "location", + "name", + "sku", + "type" + ], + "description": "Microsoft.Kusto/clusters" + }, + "clusters_attachedDatabaseConfigurations": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-09-07" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the attached database configuration." }, "properties": { "oneOf": [ { - "$ref": "#/definitions/ClusterProperties" + "$ref": "#/definitions/AttachedDatabaseConfigurationProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Class representing the an attached database configuration properties of kind specific." }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/resourceDefinitions/clusters_databases" - }, - { - "$ref": "#/resourceDefinitions/clusters_attacheddatabaseconfigurations" - } - ] - } + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/attachedDatabaseConfigurations" + ] } }, "required": [ - "name", - "type", "apiVersion", - "location", - "sku" + "name", + "properties", + "type" ], - "description": "Microsoft.Kusto/clusters" + "description": "Microsoft.Kusto/clusters/attachedDatabaseConfigurations" }, "clusters_databases": { "type": "object", "oneOf": [ { "$ref": "#/definitions/ReadWriteDatabase" + }, + { + "$ref": "#/definitions/ReadOnlyFollowingDatabase" } ], "properties": { - "name": { - "type": "string", - "description": "The name of the database in the Kusto cluster." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Kusto/clusters/databases" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -138,126 +176,132 @@ "type": "string", "description": "Resource location." }, + "name": { + "type": "string", + "description": "The name of the database in the Kusto cluster." + }, "resources": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/resourceDefinitions/clusters_databases_dataconnections" + "$ref": "#/definitions/clusters_databases_dataConnections_childResource" } ] } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "type" ], "description": "Microsoft.Kusto/clusters/databases" }, - "clusters_databases_dataconnections": { + "clusters_databases_dataConnections": { "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The data connection name" + "oneOf": [ + { + "$ref": "#/definitions/EventHubDataConnection" }, - "type": { - "enum": [ - "Microsoft.Kusto/clusters/databases/dataConnections" - ] + { + "$ref": "#/definitions/IotHubDataConnection" }, + { + "$ref": "#/definitions/EventGridDataConnection" + } + ], + "properties": { "apiVersion": { "type": "string", "enum": [ "2019-09-07" ] }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EventHubDataConnection" - }, - { - "$ref": "#/definitions/EventGridDataConnection" - }, - { - "$ref": "#/definitions/IotHubDataConnection" - } - ], - "description": "Properties supplied to the Data Connection Create Or Update Kusto operation." + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the data connection." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases/dataConnections" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "type" ], "description": "Microsoft.Kusto/clusters/databases/dataConnections" - }, - "clusters_attacheddatabaseconfigurations": { + } + }, + "definitions": { + "AttachedDatabaseConfigurationProperties": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The name of the attached database configurations." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Kusto/clusters/AttachedDatabaseConfigurations" - ] - }, - "apiVersion": { + "clusterResourceId": { "type": "string", - "enum": [ - "2019-09-07" - ] + "description": "The resource id of the cluster where the databases you would like to attach reside." }, - "location": { + "databaseName": { "type": "string", - "description": "Resource location." + "description": "The name of the database which you would like to attach, use * if you want to follow all current and future databases." }, - "properties": { + "defaultPrincipalsModificationKind": { "oneOf": [ { - "$ref": "#/definitions/AttachedDatabaseConfigurationsProperties" + "type": "string", + "enum": [ + "Union", + "Replace", + "None" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "The default principals modification kind." } }, "required": [ - "name", - "type", - "apiVersion", - "properties" + "clusterResourceId", + "databaseName", + "defaultPrincipalsModificationKind" ], - "description": "Class representing an attached database configurations." - } - }, - "definitions": { + "description": "Class representing the an attached database configuration properties of kind specific." + }, "AzureSku": { "type": "object", "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of instances of the cluster." + }, "name": { "oneOf": [ { "type": "string", "enum": [ - "KC8", - "KC16", - "KS8", - "KS16", - "D13_v2", - "D14_v2", - "L8", - "L16", "Standard_DS13_v2+1TB_PS", "Standard_DS13_v2+2TB_PS", "Standard_DS14_v2+3TB_PS", @@ -270,41 +314,22 @@ "Standard_D12_v2", "Standard_L4s", "Dev(No SLA)_Standard_D11_v2" - ], - "x-ms-enum": { - "name": "AzureSkuName", - "modelAsString": true - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "SKU name. Possible values include: 'D14_v2', 'D13_v2', 'L16', 'L8', 'Standard_DS13_v2+1TB_PS', 'Standard_DS13_v2+2TB_PS', 'Standard_DS14_v2+3TB_PS', 'Standard_DS14_v2+4TB_PS', 'Dev(No SLA)_Standard_D11_v2'" - }, - "capacity": { - "oneOf": [ - { - "type": "integer" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The number of instances of the cluster." + "description": "SKU name." }, "tier": { "oneOf": [ { "type": "string", "enum": [ - "Standard", - "Basic" - ], - "x-ms-enum": { - "name": "AzureSkuTier", - "modelAsString": true - } + "Basic", + "Standard" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -322,206 +347,301 @@ "ClusterProperties": { "type": "object", "properties": { - "trustedExternalTenants": { + "enableDiskEncryption": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/TrustedExternalTenant" - } + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The cluster's external tenants." + "description": "A boolean value that indicates if the cluster's disks are encrypted." }, - "optimizedAutoscale": { + "enableStreamingIngest": { "oneOf": [ { - "$ref": "#/definitions/OptimizedAutoscale" + "type": "boolean", + "default": false }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A class that contains the optimized auto scale definition." + "description": "A boolean value that indicates if the streaming ingest is enabled." }, - "enableDiskEncryption": { + "keyVaultProperties": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/KeyVaultProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A boolean value that indicates if the cluster's disks are encrypted." + "description": "Properties of the key vault." }, - "enableStreamingIngest": { + "optimizedAutoscale": { "oneOf": [ { - "type": "boolean", - "default": false + "$ref": "#/definitions/OptimizedAutoscale" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A boolean value that indicates if the streaming ingest is enabled." + "description": "A class that contains the optimized auto scale definition." }, - "virtualNetworkConfiguration": { + "trustedExternalTenants": { "oneOf": [ { - "$ref": "#/definitions/VirtualNetworkConfiguration" + "type": "array", + "items": { + "$ref": "#/definitions/TrustedExternalTenant" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A class that contains virtual network definition." + "description": "The cluster's external tenants." }, - "keyVaultProperties": { + "virtualNetworkConfiguration": { "oneOf": [ { - "$ref": "#/definitions/KeyVaultProperties" + "$ref": "#/definitions/VirtualNetworkConfiguration" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "KeyVault properties for the cluster encryption." + "description": "A class that contains virtual network definition." } - } + }, + "description": "Class representing the Kusto cluster properties." }, - "ReadWriteDatabaseProperties": { + "clusters_attachedDatabaseConfigurations_childResource": { "type": "object", "properties": { - "softDeletePeriod": { + "apiVersion": { "type": "string", - "format": "duration", - "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan." + "enum": [ + "2019-09-07" + ] }, - "hotCachePeriod": { + "location": { "type": "string", - "format": "duration", - "description": "The time the data should be kept in cache for fast queries in TimeSpan." - } - } - }, - "ReadWriteDatabase": { - "type": "object", - "properties": { + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the attached database configuration." + }, "properties": { "oneOf": [ { - "$ref": "#/definitions/ReadWriteDatabaseProperties" + "$ref": "#/definitions/AttachedDatabaseConfigurationProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Read write database properties" + "description": "Class representing the an attached database configuration properties of kind specific." }, - "kind": { + "type": { "type": "string", "enum": [ - "ReadWrite" - ], - "description": "Kind of the database" + "attachedDatabaseConfigurations" + ] } }, "required": [ - "kind", - "properties" + "apiVersion", + "name", + "properties", + "type" ], - "description": "Information about the readWrite database" + "description": "Microsoft.Kusto/clusters/attachedDatabaseConfigurations" }, - "AttachedDatabaseConfigurationsProperties": { + "clusters_databases_childResource": { "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ReadWriteDatabase" + }, + { + "$ref": "#/definitions/ReadOnlyFollowingDatabase" + } + ], "properties": { - "databaseName": { + "apiVersion": { "type": "string", - "description": "The name of the database which you would like to attach, use * if you want to follow all current and future databases." + "enum": [ + "2019-09-07" + ] }, - "clusterResourceId": { + "location": { "type": "string", - "description": "The resource id of the cluster where the databases you would like to attach reside." + "description": "Resource location." }, - "defaultPrincipalsModificationKind": { + "name": { + "type": "string", + "description": "The name of the database in the Kusto cluster." + }, + "type": { "type": "string", "enum": [ - "Union", - "Replace", - "None" - ], - "description": "The default principals modification kind" + "databases" + ] } - } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Kusto/clusters/databases" }, - "EventGridDataConnectionProperties": { + "clusters_databases_dataConnections_childResource": { "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/EventHubDataConnection" + }, + { + "$ref": "#/definitions/IotHubDataConnection" + }, + { + "$ref": "#/definitions/EventGridDataConnection" + } + ], "properties": { - "storageAccountResourceId": { + "apiVersion": { "type": "string", - "description": "The resource ID of the storage account where the data resides." + "enum": [ + "2019-09-07" + ] }, - "eventHubResourceId": { + "location": { "type": "string", - "description": "The resource ID where the event grid is configured to send events." + "description": "Resource location." }, - "consumerGroup": { + "name": { "type": "string", - "description": "The event hub consumer group." + "description": "The name of the data connection." }, - "tableName": { + "type": { "type": "string", - "description": "The table where the data should be ingested. Optionally the table information can be added to each message." - }, - "mappingRuleName": { + "enum": [ + "dataConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Kusto/clusters/databases/dataConnections" + }, + "Componentssgqdofschemasidentitypropertiesuserassignedidentitiesadditionalproperties": { + "type": "object", + "properties": {} + }, + "DatabaseStatistics": { + "type": "object", + "properties": { + "size": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The database size - the total size of compressed data and index in bytes." + } + }, + "description": "A class that contains database statistics information." + }, + "EventGridConnectionProperties": { + "type": "object", + "properties": { + "consumerGroup": { "type": "string", - "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + "description": "The event hub consumer group." }, "dataFormat": { "oneOf": [ { - "$ref": "#/definitions/DataFormat" + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "eventHubResourceId": { + "type": "string", + "description": "The resource ID where the event grid is configured to send events." + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "storageAccountResourceId": { + "type": "string", + "description": "The resource ID of the storage account where the data resides." + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." } }, "required": [ - "storageAccountResourceId", - "eventHubResourceId", "consumerGroup", - "tableName", - "dataFormat" + "dataFormat", + "eventHubResourceId", + "storageAccountResourceId", + "tableName" ], "description": "Class representing the Kusto event grid connection properties." }, "EventGridDataConnection": { "type": "object", "properties": { + "kind": { + "type": "string", + "enum": [ + "EventGrid" + ] + }, "properties": { "oneOf": [ { - "$ref": "#/definitions/EventGridDataConnectionProperties" + "$ref": "#/definitions/EventGridConnectionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], "description": "Class representing the Kusto event grid connection properties." - }, - "kind": { - "type": "string", - "enum": [ - "EventGrid" - ] } }, "required": [ @@ -529,29 +649,31 @@ ], "description": "Class representing an Event Grid data connection." }, - "EventHubDataConnectionProperties": { + "EventHubConnectionProperties": { "type": "object", "properties": { - "eventHubResourceId": { - "type": "string", - "description": "The resource ID of the event hub to be used to create a data connection." - }, "consumerGroup": { "type": "string", "description": "The event hub consumer group." }, - "tableName": { - "type": "string", - "description": "The table where the data should be ingested. Optionally the table information can be added to each message." - }, - "mappingRuleName": { - "type": "string", - "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." - }, "dataFormat": { "oneOf": [ { - "$ref": "#/definitions/DataFormat" + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -559,49 +681,64 @@ ], "description": "The data format of the message. Optionally the data format can be added to each message." }, + "eventHubResourceId": { + "type": "string", + "description": "The resource ID of the event hub to be used to create a data connection." + }, "eventSystemProperties": { "oneOf": [ { - "$ref": "#/definitions/EventSystemProperties" + "type": "array", + "items": { + "type": "string" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], "description": "System properties of the event hub" + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." } }, "required": [ - "eventHubResourceId", - "consumerGroup" + "consumerGroup", + "eventHubResourceId" ], "description": "Class representing the Kusto event hub connection properties." }, "EventHubDataConnection": { "type": "object", "properties": { + "kind": { + "type": "string", + "enum": [ + "EventHub" + ] + }, "properties": { "oneOf": [ { - "$ref": "#/definitions/EventHubDataConnectionProperties" + "$ref": "#/definitions/EventHubConnectionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Event hub data connection properties" - }, - "kind": { - "type": "string", - "enum": [ - "EventHub" - ] + "description": "Class representing the Kusto event hub connection properties." } }, "required": [ "kind" ], - "description": "Information about the event hub data connection" + "description": "Class representing an event hub data connection." }, "Identity": { "type": "object", @@ -620,6 +757,21 @@ } ], "description": "The identity type." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Componentssgqdofschemasidentitypropertiesuserassignedidentitiesadditionalproperties" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of user identities associated with the Kusto cluster. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." } }, "required": [ @@ -627,29 +779,31 @@ ], "description": "Identity for the resource." }, - "IotHubDataConnectionProperties": { + "IotHubConnectionProperties": { "type": "object", "properties": { - "iotHubResourceId": { - "type": "string", - "description": "The resource ID of the iot hub to be used to create a data connection." - }, "consumerGroup": { "type": "string", "description": "The iot hub consumer group." }, - "tableName": { - "type": "string", - "description": "The table where the data should be ingested. Optionally the table information can be added to each message." - }, - "mappingRuleName": { - "type": "string", - "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." - }, "dataFormat": { "oneOf": [ { - "$ref": "#/definitions/DataFormat" + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -660,102 +814,114 @@ "eventSystemProperties": { "oneOf": [ { - "$ref": "#/definitions/EventSystemProperties" + "type": "array", + "items": { + "type": "string" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The iot hub system properties." + "description": "System properties of the iot hub" + }, + "iotHubResourceId": { + "type": "string", + "description": "The resource ID of the Iot hub to be used to create a data connection." + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." }, "sharedAccessPolicyName": { "type": "string", - "description": "The name of the shared access policy." + "description": "The name of the share access policy name" + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." } }, "required": [ - "iotHubResourceId", "consumerGroup", + "iotHubResourceId", "sharedAccessPolicyName" ], - "description": "Class representing the Kusto Iot hub connection properties." + "description": "Class representing the Kusto iot hub connection properties." }, "IotHubDataConnection": { "type": "object", "properties": { + "kind": { + "type": "string", + "enum": [ + "IotHub" + ] + }, "properties": { "oneOf": [ { - "$ref": "#/definitions/IotHubDataConnectionProperties" + "$ref": "#/definitions/IotHubConnectionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Iot hub data connection properties" - }, - "kind": { - "type": "string", - "enum": [ - "IotHub" - ] + "description": "Class representing the Kusto iot hub connection properties." } }, "required": [ "kind" ], - "description": "Information about the Iot hub data connection" + "description": "Class representing an iot hub data connection." }, "KeyVaultProperties": { "type": "object", "properties": { "keyName": { "type": "string", - "description": "The name of the key vault key.", - "x-ms-client-name": "KeyName" + "description": "The name of the key vault key." }, - "keyVersion": { + "keyVaultUri": { "type": "string", - "description": "The version of the key vault key.", - "x-ms-client-name": "KeyVersion" + "description": "The Uri of the key vault." }, - "keyVaultUri": { + "keyVersion": { "type": "string", - "description": "The Uri of the key vault.", - "x-ms-client-name": "KeyVaultUri" + "description": "The version of the key vault key." } }, "required": [ "keyName", - "keyVersion", - "keyVaultUri" + "keyVaultUri", + "keyVersion" ], "description": "Properties of the key vault." }, "OptimizedAutoscale": { "type": "object", "properties": { - "version": { + "isEnabled": { "oneOf": [ { - "type": "integer" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The version of the template defined, for instance 1." + "description": "A boolean value that indicate if the optimized autoscale feature is enabled or not." }, - "isEnabled": { + "maximum": { "oneOf": [ { - "type": "boolean" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A boolean value that indicate if the optimized autoscale feature is enabled or not." + "description": "Maximum allowed instances count." }, "minimum": { "oneOf": [ @@ -768,7 +934,7 @@ ], "description": "Minimum allowed instances count." }, - "maximum": { + "version": { "oneOf": [ { "type": "integer" @@ -777,17 +943,118 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Maximum allowed instances count." + "description": "The version of the template defined, for instance 1." } }, "required": [ - "version", "isEnabled", + "maximum", "minimum", - "maximum" + "version" ], "description": "A class that contains the optimized auto scale definition." }, + "ReadOnlyFollowingDatabase": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "ReadOnlyFollowing" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ReadOnlyFollowingDatabaseProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto database properties." + } + }, + "required": [ + "kind" + ], + "description": "Class representing a read only following database." + }, + "ReadOnlyFollowingDatabaseProperties": { + "type": "object", + "properties": { + "hotCachePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept in cache for fast queries in TimeSpan." + }, + "statistics": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseStatistics" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A class that contains database statistics information." + } + }, + "description": "Class representing the Kusto database properties." + }, + "ReadWriteDatabase": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "ReadWrite" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ReadWriteDatabaseProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto database properties." + } + }, + "required": [ + "kind" + ], + "description": "Class representing a read write database." + }, + "ReadWriteDatabaseProperties": { + "type": "object", + "properties": { + "hotCachePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept in cache for fast queries in TimeSpan." + }, + "softDeletePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan." + }, + "statistics": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseStatistics" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A class that contains database statistics information." + } + }, + "description": "Class representing the Kusto database properties." + }, "TrustedExternalTenant": { "type": "object", "properties": { @@ -801,54 +1068,25 @@ "VirtualNetworkConfiguration": { "type": "object", "properties": { - "subnetId": { + "dataManagementPublicIpId": { "type": "string", - "description": "The subnet resource id." + "description": "Data management's service public IP address resource id." }, "enginePublicIpId": { "type": "string", "description": "Engine service's public IP address resource id." }, - "dataManagementPublicIpId": { + "subnetId": { "type": "string", - "description": "Data management's service public IP address resource id." + "description": "The subnet resource id." } }, "required": [ - "subnetId", + "dataManagementPublicIpId", "enginePublicIpId", - "dataManagementPublicIpId" + "subnetId" ], "description": "A class that contains virtual network definition." - }, - "DataFormat": { - "type": "string", - "enum": [ - "MULTIJSON", - "JSON", - "CSV", - "TSV", - "SCSV", - "SOHSV", - "PSV", - "TXT", - "RAW", - "SINGLEJSON", - "AVRO", - "TSVE" - ], - "description": "The data format of the message. Optionally the data format can be added to each message.", - "x-ms-enum": { - "name": "dataFormat", - "modelAsString": true - } - }, - "EventSystemProperties": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The resource system properties." } } } \ No newline at end of file diff --git a/schemas/2019-11-09/Microsoft.Kusto.json b/schemas/2019-11-09/Microsoft.Kusto.json index ca8043574d..51ef150f2c 100644 --- a/schemas/2019-11-09/Microsoft.Kusto.json +++ b/schemas/2019-11-09/Microsoft.Kusto.json @@ -7,40 +7,61 @@ "clusters": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The name of the Kusto cluster." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Kusto/clusters" - ] - }, "apiVersion": { "type": "string", "enum": [ "2019-11-09" ] }, - "tags": { + "identity": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/Identity" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags." + "description": "Identity for the resource." }, "location": { "type": "string", "description": "The geo-location where the resource lives" }, + "name": { + "type": "string", + "description": "The name of the Kusto cluster." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ClusterProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto cluster properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/clusters_principalAssignments_childResource" + }, + { + "$ref": "#/definitions/clusters_databases_childResource" + }, + { + "$ref": "#/definitions/clusters_attachedDatabaseConfigurations_childResource" + }, + { + "$ref": "#/definitions/clusters_dataConnections_childResource" + } + ] + } + }, "sku": { "oneOf": [ { @@ -50,90 +71,107 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The SKU of the Kusto cluster." + "description": "Azure SKU definition." }, - "zones": { + "tags": { "oneOf": [ { - "type": "array", - "items": { + "type": "object", + "additionalProperties": { "type": "string" - } + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "An array represents the availability zones of the cluster." + "description": "Resource tags." }, - "identity": { + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters" + ] + }, + "zones": { "oneOf": [ { - "$ref": "#/definitions/Identity" + "type": "array", + "items": { + "type": "string" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Identity for the resource." + "description": "An array represents the availability zones of the cluster." + } + }, + "required": [ + "apiVersion", + "location", + "name", + "sku", + "type" + ], + "description": "Microsoft.Kusto/clusters" + }, + "clusters_attachedDatabaseConfigurations": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-11-09" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the attached database configuration." }, "properties": { "oneOf": [ { - "$ref": "#/definitions/ClusterProperties" + "$ref": "#/definitions/AttachedDatabaseConfigurationProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Class representing the an attached database configuration properties of kind specific." }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/resourceDefinitions/clusters_databases" - }, - { - "$ref": "#/resourceDefinitions/clusters_attacheddatabaseconfigurations" - }, - { - "$ref": "#/resourceDefinitions/clusters_dataconnections" - }, - { - "$ref": "#/resourceDefinitions/clusters_principalassignments" - } - ] - } + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/attachedDatabaseConfigurations" + ] } }, "required": [ - "name", - "type", "apiVersion", - "location", - "sku" + "name", + "properties", + "type" ], - "description": "Microsoft.Kusto/clusters" + "description": "Microsoft.Kusto/clusters/attachedDatabaseConfigurations" }, "clusters_databases": { "type": "object", "oneOf": [ { "$ref": "#/definitions/ReadWriteDatabase" + }, + { + "$ref": "#/definitions/ReadOnlyFollowingDatabase" } ], "properties": { - "name": { - "type": "string", - "description": "The name of the database in the Kusto cluster." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Kusto/clusters/databases" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -144,168 +182,131 @@ "type": "string", "description": "Resource location." }, + "name": { + "type": "string", + "description": "The name of the database in the Kusto cluster." + }, "resources": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/resourceDefinitions/clusters_databases_dataconnections" + "$ref": "#/definitions/clusters_databases_principalAssignments_childResource" }, { - "$ref": "#/resourceDefinitions/clusters_databases_principalassignments" + "$ref": "#/definitions/clusters_databases_dataConnections_childResource" } ] } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "type" ], "description": "Microsoft.Kusto/clusters/databases" }, - "clusters_dataconnections": { + "clusters_databases_dataConnections": { "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The data connection name" + "oneOf": [ + { + "$ref": "#/definitions/EventHubDataConnection" }, - "type": { - "enum": [ - "Microsoft.Kusto/clusters/dataConnections" - ] + { + "$ref": "#/definitions/IotHubDataConnection" }, + { + "$ref": "#/definitions/EventGridDataConnection" + } + ], + "properties": { "apiVersion": { "type": "string", "enum": [ "2019-11-09" ] }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/GenevaDataConnection" - }, - { - "$ref": "#/definitions/GenevaLegacyDataConnection" - } - ], - "description": "Properties supplied to the data connection create or update Kusto operation." - } - }, - "required": [ - "name", - "type", - "apiVersion", - "properties" - ], - "description": "Microsoft.Kusto/clusters/dataConnections" - }, - "clusters_databases_dataconnections": { - "type": "object", - "properties": { + "location": { + "type": "string", + "description": "Resource location." + }, "name": { "type": "string", - "description": "The data connection name" + "description": "The name of the data connection." }, "type": { - "enum": [ - "Microsoft.Kusto/clusters/databases/dataConnections" - ] - }, - "apiVersion": { "type": "string", "enum": [ - "2019-11-09" + "Microsoft.Kusto/clusters/databases/dataConnections" ] - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EventHubDataConnection" - }, - { - "$ref": "#/definitions/EventGridDataConnection" - }, - { - "$ref": "#/definitions/IotHubDataConnection" - } - ], - "description": "Properties supplied to the Data Connection Create Or Update Kusto operation." } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "type" ], "description": "Microsoft.Kusto/clusters/databases/dataConnections" }, - "clusters_attacheddatabaseconfigurations": { + "clusters_databases_principalAssignments": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The name of the attached database configurations." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Kusto/clusters/AttachedDatabaseConfigurations" - ] - }, "apiVersion": { "type": "string", "enum": [ "2019-11-09" ] }, - "location": { + "name": { "type": "string", - "description": "Resource location." + "description": "The name of the Kusto principalAssignment." }, "properties": { "oneOf": [ { - "$ref": "#/definitions/AttachedDatabaseConfigurationsProperties" + "$ref": "#/definitions/DatabasePrincipalProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ], + "description": "A class representing database principal property." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases/principalAssignments" ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], - "description": "Class representing an attached database configurations." + "description": "Microsoft.Kusto/clusters/databases/principalAssignments" }, - "clusters_principalassignments": { + "clusters_principalAssignments": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The name of the cluster principal assignment" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Kusto/clusters/principalAssignments" - ] - }, "apiVersion": { "type": "string", "enum": [ "2019-11-09" ] }, + "name": { + "type": "string", + "description": "The name of the Kusto principalAssignment." + }, "properties": { "oneOf": [ { @@ -314,28 +315,42 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ], + "description": "A class representing cluster principal property." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/principalAssignments" ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], - "description": "Class representing a cluster principal assignment." + "description": "Microsoft.Kusto/clusters/principalAssignments" }, - "clusters_databases_principalassignments": { + "clusters_dataConnections": { "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/GenevaDataConnection" + }, + { + "$ref": "#/definitions/GenevaLegacyDataConnection" + } + ], "properties": { "name": { "type": "string", - "description": "The name of the database principal assignment" + "description": "The data connection name" }, "type": { - "type": "string", "enum": [ - "Microsoft.Kusto/clusters/databases/principalAssignments" + "Microsoft.Kusto/clusters/dataconnections" ] }, "apiVersion": { @@ -343,44 +358,71 @@ "enum": [ "2019-11-09" ] - }, - "properties": { - "oneOf": [ + } + }, + "required": [ + "apiVersion", + "properties", + "type" + ], + "description": "Microsoft.Kusto/clusters/dataConnections" + } + }, + "definitions": { + "AttachedDatabaseConfigurationProperties": { + "type": "object", + "properties": { + "clusterResourceId": { + "type": "string", + "description": "The resource id of the cluster where the databases you would like to attach reside." + }, + "databaseName": { + "type": "string", + "description": "The name of the database which you would like to attach, use * if you want to follow all current and future databases." + }, + "defaultPrincipalsModificationKind": { + "oneOf": [ { - "$ref": "#/definitions/DatabasePrincipalProperties" + "type": "string", + "enum": [ + "Union", + "Replace", + "None" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "The default principals modification kind." } }, "required": [ - "name", - "type", - "apiVersion", - "properties" + "clusterResourceId", + "databaseName", + "defaultPrincipalsModificationKind" ], - "description": "Class representing a database principal assignment." - } - }, - "definitions": { + "description": "Class representing the an attached database configuration properties of kind specific." + }, "AzureSku": { "type": "object", "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of instances of the cluster." + }, "name": { "oneOf": [ { "type": "string", "enum": [ - "KC8", - "KC16", - "KS8", - "KS16", - "D13_v2", - "D14_v2", - "L8", - "L16", "Standard_DS13_v2+1TB_PS", "Standard_DS13_v2+2TB_PS", "Standard_DS14_v2+3TB_PS", @@ -393,41 +435,22 @@ "Standard_D12_v2", "Standard_L4s", "Dev(No SLA)_Standard_D11_v2" - ], - "x-ms-enum": { - "name": "AzureSkuName", - "modelAsString": true - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "SKU name. Possible values include: 'D14_v2', 'D13_v2', 'L16', 'L8', 'Standard_DS13_v2+1TB_PS', 'Standard_DS13_v2+2TB_PS', 'Standard_DS14_v2+3TB_PS', 'Standard_DS14_v2+4TB_PS', 'Dev(No SLA)_Standard_D11_v2'" - }, - "capacity": { - "oneOf": [ - { - "type": "integer" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The number of instances of the cluster." + "description": "SKU name." }, "tier": { "oneOf": [ { "type": "string", "enum": [ - "Standard", - "Basic" - ], - "x-ms-enum": { - "name": "AzureSkuTier", - "modelAsString": true - } + "Basic", + "Standard" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -442,34 +465,59 @@ ], "description": "Azure SKU definition." }, - "ClusterProperties": { + "ClusterPrincipalProperties": { "type": "object", "properties": { - "trustedExternalTenants": { + "principalId": { + "type": "string", + "description": "The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name." + }, + "principalType": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/TrustedExternalTenant" - } + "type": "string", + "enum": [ + "App", + "Group", + "User" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The cluster's external tenants." + "description": "Principal type." }, - "optimizedAutoscale": { + "role": { "oneOf": [ { - "$ref": "#/definitions/OptimizedAutoscale" + "type": "string", + "enum": [ + "AllDatabasesAdmin", + "AllDatabasesViewer" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A class that contains the optimized auto scale definition." + "description": "Cluster principal role." }, + "tenantId": { + "type": "string", + "description": "The tenant id of the principal" + } + }, + "required": [ + "principalId", + "principalType", + "role" + ], + "description": "A class representing cluster principal property." + }, + "ClusterProperties": { + "type": "object", + "properties": { "enableDiskEncryption": { "oneOf": [ { @@ -493,234 +541,412 @@ ], "description": "A boolean value that indicates if the streaming ingest is enabled." }, - "virtualNetworkConfiguration": { + "keyVaultProperties": { "oneOf": [ { - "$ref": "#/definitions/VirtualNetworkConfiguration" + "$ref": "#/definitions/KeyVaultProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A class that contains virtual network definition." + "description": "Properties of the key vault." }, - "keyVaultProperties": { + "optimizedAutoscale": { "oneOf": [ { - "$ref": "#/definitions/KeyVaultProperties" + "$ref": "#/definitions/OptimizedAutoscale" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "KeyVault properties for the cluster encryption." - } - } - }, - "ReadWriteDatabaseProperties": { - "type": "object", - "properties": { - "softDeletePeriod": { - "type": "string", - "format": "duration", - "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan." + "description": "A class that contains the optimized auto scale definition." }, - "hotCachePeriod": { - "type": "string", - "format": "duration", - "description": "The time the data should be kept in cache for fast queries in TimeSpan." - } - } - }, - "ReadWriteDatabase": { - "type": "object", - "properties": { - "properties": { + "trustedExternalTenants": { "oneOf": [ { - "$ref": "#/definitions/ReadWriteDatabaseProperties" + "type": "array", + "items": { + "$ref": "#/definitions/TrustedExternalTenant" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Read write database properties" + "description": "The cluster's external tenants." }, - "kind": { - "type": "string", - "enum": [ - "ReadWrite" + "virtualNetworkConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ], - "description": "Kind of the database" + "description": "A class that contains virtual network definition." } }, - "required": [ - "kind", - "properties" - ], - "description": "Information about the readWrite database" + "description": "Class representing the Kusto cluster properties." }, - "AttachedDatabaseConfigurationsProperties": { + "clusters_attachedDatabaseConfigurations_childResource": { "type": "object", "properties": { - "databaseName": { - "type": "string", - "description": "The name of the database which you would like to attach, use * if you want to follow all current and future databases." - }, - "clusterResourceId": { - "type": "string", - "description": "The resource id of the cluster where the databases you would like to attach reside." - }, - "defaultPrincipalsModificationKind": { + "apiVersion": { "type": "string", "enum": [ - "Union", - "Replace", - "None" - ], - "description": "The default principals modification kind" - } - } - }, - "EventGridDataConnectionProperties": { - "type": "object", - "properties": { - "storageAccountResourceId": { - "type": "string", - "description": "The resource ID of the storage account where the data resides." - }, - "eventHubResourceId": { - "type": "string", - "description": "The resource ID where the event grid is configured to send events." - }, - "consumerGroup": { - "type": "string", - "description": "The event hub consumer group." + "2019-11-09" + ] }, - "tableName": { + "location": { "type": "string", - "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + "description": "Resource location." }, - "mappingRuleName": { + "name": { "type": "string", - "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + "description": "The name of the attached database configuration." }, - "dataFormat": { + "properties": { "oneOf": [ { - "$ref": "#/definitions/DataFormat" + "$ref": "#/definitions/AttachedDatabaseConfigurationProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The data format of the message. Optionally the data format can be added to each message." + "description": "Class representing the an attached database configuration properties of kind specific." + }, + "type": { + "type": "string", + "enum": [ + "attachedDatabaseConfigurations" + ] } }, "required": [ - "storageAccountResourceId", - "eventHubResourceId", - "consumerGroup", - "tableName", - "dataFormat" + "apiVersion", + "name", + "properties", + "type" ], - "description": "Class representing the Kusto event grid connection properties." + "description": "Microsoft.Kusto/clusters/attachedDatabaseConfigurations" }, - "DatabasePrincipalProperties": { + "clusters_databases_childResource": { "type": "object", - "properties": { - "principalId": { - "description": "The principal ID assigned to the database principal. It can be a user email, application ID, or security group name.", - "type": "string" + "oneOf": [ + { + "$ref": "#/definitions/ReadWriteDatabase" }, - "role": { - "description": "Database principal role.", + { + "$ref": "#/definitions/ReadOnlyFollowingDatabase" + } + ], + "properties": { + "apiVersion": { "type": "string", "enum": [ - "Admin", - "Ingestor", - "Monitor", - "User", - "UnrestrictedViewers", - "Viewer" + "2019-11-09" ] }, - "tenantId": { + "location": { "type": "string", - "description": "The tenant id of the principal" + "description": "Resource location." }, - "principalType": { - "description": "Principal type.", + "name": { + "type": "string", + "description": "The name of the database in the Kusto cluster." + }, + "type": { "type": "string", "enum": [ - "App", - "Group", - "User" + "databases" ] } }, "required": [ - "principalId", - "role", - "principalType" + "apiVersion", + "name", + "type" ], - "description": "A class representing database principal property." + "description": "Microsoft.Kusto/clusters/databases" }, - "ClusterPrincipalProperties": { + "clusters_databases_dataConnections_childResource": { "type": "object", - "properties": { - "principalId": { - "description": "The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name.", - "type": "string" + "oneOf": [ + { + "$ref": "#/definitions/EventHubDataConnection" }, - "role": { - "description": "Cluster principal role.", + { + "$ref": "#/definitions/IotHubDataConnection" + }, + { + "$ref": "#/definitions/EventGridDataConnection" + } + ], + "properties": { + "apiVersion": { "type": "string", "enum": [ - "AllDatabasesAdmin", - "AllDatabasesViewer" + "2019-11-09" ] }, - "tenantId": { + "location": { "type": "string", - "description": "The tenant id of the principal" + "description": "Resource location." }, - "principalType": { - "description": "Principal type.", + "name": { + "type": "string", + "description": "The name of the data connection." + }, + "type": { "type": "string", "enum": [ - "App", - "Group", - "User" + "dataConnections" ] } }, "required": [ - "principalId", - "role", - "principalType" + "apiVersion", + "name", + "type" ], - "description": "A class representing cluster principal property." + "description": "Microsoft.Kusto/clusters/databases/dataConnections" }, - "EventGridDataConnection": { + "clusters_databases_principalAssignments_childResource": { "type": "object", "properties": { - "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-11-09" + ] + }, + "name": { + "type": "string", + "description": "The name of the Kusto principalAssignment." + }, + "properties": { "oneOf": [ { - "$ref": "#/definitions/EventGridDataConnectionProperties" + "$ref": "#/definitions/DatabasePrincipalProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Class representing the Kusto event grid connection properties." + "description": "A class representing database principal property." + }, + "type": { + "type": "string", + "enum": [ + "principalAssignments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Kusto/clusters/databases/principalAssignments" + }, + "clusters_principalAssignments_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-11-09" + ] }, + "name": { + "type": "string", + "description": "The name of the Kusto principalAssignment." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ClusterPrincipalProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A class representing cluster principal property." + }, + "type": { + "type": "string", + "enum": [ + "principalAssignments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Kusto/clusters/principalAssignments" + }, + "Componentssgqdofschemasidentitypropertiesuserassignedidentitiesadditionalproperties": { + "type": "object", + "properties": {} + }, + "DatabasePrincipalProperties": { + "type": "object", + "properties": { + "principalId": { + "type": "string", + "description": "The principal ID assigned to the database principal. It can be a user email, application ID, or security group name." + }, + "principalType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "App", + "Group", + "User" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Principal type." + }, + "role": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Admin", + "Ingestor", + "Monitor", + "User", + "UnrestrictedViewers", + "Viewer" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Database principal role." + }, + "tenantId": { + "type": "string", + "description": "The tenant id of the principal" + } + }, + "required": [ + "principalId", + "principalType", + "role" + ], + "description": "A class representing database principal property." + }, + "DatabaseStatistics": { + "type": "object", + "properties": { + "size": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The database size - the total size of compressed data and index in bytes." + } + }, + "description": "A class that contains database statistics information." + }, + "EventGridConnectionProperties": { + "type": "object", + "properties": { + "consumerGroup": { + "type": "string", + "description": "The event hub consumer group." + }, + "dataFormat": { + "oneOf": [ + { + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE", + "PARQUET", + "ORC" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "eventHubResourceId": { + "type": "string", + "description": "The resource ID where the event grid is configured to send events." + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "storageAccountResourceId": { + "type": "string", + "description": "The resource ID of the storage account where the data resides." + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + } + }, + "required": [ + "consumerGroup", + "dataFormat", + "eventHubResourceId", + "storageAccountResourceId", + "tableName" + ], + "description": "Class representing the Kusto event grid connection properties." + }, + "EventGridDataConnection": { + "type": "object", + "properties": { "kind": { "type": "string", "enum": [ "EventGrid" ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EventGridConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto event grid connection properties." } }, "required": [ @@ -728,182 +954,497 @@ ], "description": "Class representing an Event Grid data connection." }, - "EventHubDataConnectionProperties": { + "EventHubConnectionProperties": { "type": "object", "properties": { + "compression": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "GZip" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The event hub messages compression type." + }, + "consumerGroup": { + "type": "string", + "description": "The event hub consumer group." + }, + "dataFormat": { + "oneOf": [ + { + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE", + "PARQUET", + "ORC" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The data format of the message. Optionally the data format can be added to each message." + }, "eventHubResourceId": { "type": "string", "description": "The resource ID of the event hub to be used to create a data connection." }, - "consumerGroup": { + "eventSystemProperties": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "System properties of the event hub" + }, + "mappingRuleName": { "type": "string", - "description": "The event hub consumer group." + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." }, "tableName": { "type": "string", "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + } + }, + "required": [ + "consumerGroup", + "eventHubResourceId" + ], + "description": "Class representing the Kusto event hub connection properties." + }, + "EventHubDataConnection": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "EventHub" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EventHubConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto event hub connection properties." + } + }, + "required": [ + "kind" + ], + "description": "Class representing an event hub data connection." + }, + "Identity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "SystemAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The identity type." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Componentssgqdofschemasidentitypropertiesuserassignedidentitiesadditionalproperties" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of user identities associated with the Kusto cluster. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "required": [ + "type" + ], + "description": "Identity for the resource." + }, + "IotHubConnectionProperties": { + "type": "object", + "properties": { + "consumerGroup": { + "type": "string", + "description": "The iot hub consumer group." + }, + "dataFormat": { + "oneOf": [ + { + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE", + "PARQUET", + "ORC" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "eventSystemProperties": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "System properties of the iot hub" + }, + "iotHubResourceId": { + "type": "string", + "description": "The resource ID of the Iot hub to be used to create a data connection." }, "mappingRuleName": { "type": "string", "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." }, - "dataFormat": { + "sharedAccessPolicyName": { + "type": "string", + "description": "The name of the share access policy" + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + } + }, + "required": [ + "consumerGroup", + "iotHubResourceId", + "sharedAccessPolicyName" + ], + "description": "Class representing the Kusto Iot hub connection properties." + }, + "IotHubDataConnection": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "IotHub" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/IotHubConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto Iot hub connection properties." + } + }, + "required": [ + "kind" + ], + "description": "Class representing an iot hub data connection." + }, + "KeyVaultProperties": { + "type": "object", + "properties": { + "keyName": { + "type": "string", + "description": "The name of the key vault key." + }, + "keyVaultUri": { + "type": "string", + "description": "The Uri of the key vault." + }, + "keyVersion": { + "type": "string", + "description": "The version of the key vault key." + } + }, + "required": [ + "keyName", + "keyVaultUri", + "keyVersion" + ], + "description": "Properties of the key vault." + }, + "OptimizedAutoscale": { + "type": "object", + "properties": { + "isEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A boolean value that indicate if the optimized autoscale feature is enabled or not." + }, + "maximum": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum allowed instances count." + }, + "minimum": { "oneOf": [ { - "$ref": "#/definitions/DataFormat" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The data format of the message. Optionally the data format can be added to each message." + "description": "Minimum allowed instances count." }, - "eventSystemProperties": { + "version": { "oneOf": [ { - "$ref": "#/definitions/EventSystemProperties" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "System properties of the event hub" + "description": "The version of the template defined, for instance 1." } }, "required": [ - "eventHubResourceId", - "consumerGroup" + "isEnabled", + "maximum", + "minimum", + "version" ], - "description": "Class representing the Kusto event hub connection properties." + "description": "A class that contains the optimized auto scale definition." }, - "EventHubDataConnection": { + "ReadOnlyFollowingDatabase": { "type": "object", "properties": { + "kind": { + "type": "string", + "enum": [ + "ReadOnlyFollowing" + ] + }, "properties": { "oneOf": [ { - "$ref": "#/definitions/EventHubDataConnectionProperties" + "$ref": "#/definitions/ReadOnlyFollowingDatabaseProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Event hub data connection properties" - }, - "kind": { - "type": "string", - "enum": [ - "EventHub" - ] + "description": "Class representing the Kusto database properties." } }, "required": [ "kind" ], - "description": "Information about the event hub data connection" + "description": "Class representing a read only following database." }, - "Identity": { + "ReadOnlyFollowingDatabaseProperties": { "type": "object", "properties": { - "type": { + "hotCachePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept in cache for fast queries in TimeSpan." + }, + "statistics": { "oneOf": [ { - "type": "string", - "enum": [ - "None", - "SystemAssigned" - ] + "$ref": "#/definitions/DatabaseStatistics" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The identity type." + "description": "A class that contains database statistics information." } }, - "required": [ - "type" - ], - "description": "Identity for the resource." + "description": "Class representing the Kusto database properties." }, - "IotHubDataConnectionProperties": { + "ReadWriteDatabase": { "type": "object", "properties": { - "iotHubResourceId": { - "type": "string", - "description": "The resource ID of the iot hub to be used to create a data connection." - }, - "consumerGroup": { - "type": "string", - "description": "The iot hub consumer group." - }, - "tableName": { - "type": "string", - "description": "The table where the data should be ingested. Optionally the table information can be added to each message." - }, - "mappingRuleName": { + "kind": { "type": "string", - "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + "enum": [ + "ReadWrite" + ] }, - "dataFormat": { + "properties": { "oneOf": [ { - "$ref": "#/definitions/DataFormat" + "$ref": "#/definitions/ReadWriteDatabaseProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The data format of the message. Optionally the data format can be added to each message." + "description": "Class representing the Kusto database properties." + } + }, + "required": [ + "kind" + ], + "description": "Class representing a read write database." + }, + "ReadWriteDatabaseProperties": { + "type": "object", + "properties": { + "hotCachePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept in cache for fast queries in TimeSpan." }, - "eventSystemProperties": { + "softDeletePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan." + }, + "statistics": { "oneOf": [ { - "$ref": "#/definitions/EventSystemProperties" + "$ref": "#/definitions/DatabaseStatistics" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The iot hub system properties." + "description": "A class that contains database statistics information." + } + }, + "description": "Class representing the Kusto database properties." + }, + "TrustedExternalTenant": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "GUID representing an external tenant." + } + }, + "description": "Represents a tenant ID that is trusted by the cluster." + }, + "VirtualNetworkConfiguration": { + "type": "object", + "properties": { + "dataManagementPublicIpId": { + "type": "string", + "description": "Data management's service public IP address resource id." }, - "sharedAccessPolicyName": { + "enginePublicIpId": { + "type": "string", + "description": "Engine service's public IP address resource id." + }, + "subnetId": { "type": "string", - "description": "The name of the shared access policy." + "description": "The subnet resource id." } }, "required": [ - "iotHubResourceId", - "consumerGroup", - "sharedAccessPolicyName" + "dataManagementPublicIpId", + "enginePublicIpId", + "subnetId" ], - "description": "Class representing the Kusto Iot hub connection properties." + "description": "A class that contains virtual network definition." }, - "IotHubDataConnection": { + "clusters_dataConnections_childResource": { "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/GenevaDataConnection" + }, + { + "$ref": "#/definitions/GenevaLegacyDataConnection" + } + ], "properties": { - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/IotHubDataConnectionProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Iot hub data connection properties" + "name": { + "type": "string", + "description": "The data connection name" }, - "kind": { + "type": { + "enum": [ + "Microsoft.Kusto/clusters/dataconnections" + ] + }, + "apiVersion": { "type": "string", "enum": [ - "IotHub" + "2019-11-09" ] } }, "required": [ - "kind" + "apiVersion", + "properties", + "type" ], - "description": "Information about the Iot hub data connection" + "description": "Microsoft.Kusto/clusters/dataConnections" }, "GenevaDataConnectionProperties": { "type": "object", @@ -952,11 +1493,11 @@ "description": "The Geneva environment of the geneva data connection." }, "mdsAccounts": { - "type:": "array", + "type": "array", "description": "The list of mds accounts of the geneva data connection." }, "isScrubbed": { - "type:": "boolean", + "type": "boolean", "description": "Indicates whether the data is scrubbed." } }, @@ -979,7 +1520,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Geneva legacy data connection properties" + "description": "Geneva legacy data connection properties." }, "kind": { "type": "string", @@ -991,153 +1532,7 @@ "required": [ "kind" ], - "description": "Information about the Geneva (GDS) data connection" - }, - "KeyVaultProperties": { - "type": "object", - "properties": { - "keyName": { - "type": "string", - "description": "The name of the key vault key.", - "x-ms-client-name": "KeyName" - }, - "keyVersion": { - "type": "string", - "description": "The version of the key vault key.", - "x-ms-client-name": "KeyVersion" - }, - "keyVaultUri": { - "type": "string", - "description": "The Uri of the key vault.", - "x-ms-client-name": "KeyVaultUri" - } - }, - "required": [ - "keyName", - "keyVersion", - "keyVaultUri" - ], - "description": "Properties of the key vault." - }, - "OptimizedAutoscale": { - "type": "object", - "properties": { - "version": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The version of the template defined, for instance 1." - }, - "isEnabled": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A boolean value that indicate if the optimized autoscale feature is enabled or not." - }, - "minimum": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Minimum allowed instances count." - }, - "maximum": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Maximum allowed instances count." - } - }, - "required": [ - "version", - "isEnabled", - "minimum", - "maximum" - ], - "description": "A class that contains the optimized auto scale definition." - }, - "TrustedExternalTenant": { - "type": "object", - "properties": { - "value": { - "type": "string", - "description": "GUID representing an external tenant." - } - }, - "description": "Represents a tenant ID that is trusted by the cluster." - }, - "VirtualNetworkConfiguration": { - "type": "object", - "properties": { - "subnetId": { - "type": "string", - "description": "The subnet resource id." - }, - "enginePublicIpId": { - "type": "string", - "description": "Engine service's public IP address resource id." - }, - "dataManagementPublicIpId": { - "type": "string", - "description": "Data management's service public IP address resource id." - } - }, - "required": [ - "subnetId", - "enginePublicIpId", - "dataManagementPublicIpId" - ], - "description": "A class that contains virtual network definition." - }, - "DataFormat": { - "type": "string", - "enum": [ - "MULTIJSON", - "JSON", - "CSV", - "TSV", - "SCSV", - "SOHSV", - "PSV", - "TXT", - "RAW", - "SINGLEJSON", - "AVRO", - "TSVE", - "PARQUET", - "ORC" - ], - "description": "The data format of the message. Optionally the data format can be added to each message.", - "x-ms-enum": { - "name": "dataFormat", - "modelAsString": true - } - }, - "EventSystemProperties": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The resource system properties." + "description": "Information about the Geneva legacy data connection." } } } \ No newline at end of file diff --git a/schemas/2020-02-15/Microsoft.Kusto.json b/schemas/2020-02-15/Microsoft.Kusto.json index bb7e0d8ba8..dc601d73b1 100644 --- a/schemas/2020-02-15/Microsoft.Kusto.json +++ b/schemas/2020-02-15/Microsoft.Kusto.json @@ -7,40 +7,61 @@ "clusters": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The name of the Kusto cluster." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Kusto/clusters" - ] - }, "apiVersion": { "type": "string", "enum": [ "2020-02-15" ] }, - "tags": { + "identity": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/Identity" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags." + "description": "Identity for the resource." }, "location": { "type": "string", "description": "The geo-location where the resource lives" }, + "name": { + "type": "string", + "description": "The name of the Kusto cluster." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ClusterProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto cluster properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/clusters_principalAssignments_childResource" + }, + { + "$ref": "#/definitions/clusters_databases_childResource" + }, + { + "$ref": "#/definitions/clusters_attachedDatabaseConfigurations_childResource" + }, + { + "$ref": "#/definitions/clusters_dataConnections_childResource" + } + ] + } + }, "sku": { "oneOf": [ { @@ -50,90 +71,107 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The SKU of the Kusto cluster." + "description": "Azure SKU definition." }, - "zones": { + "tags": { "oneOf": [ { - "type": "array", - "items": { + "type": "object", + "additionalProperties": { "type": "string" - } + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "An array represents the availability zones of the cluster." + "description": "Resource tags." }, - "identity": { + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters" + ] + }, + "zones": { "oneOf": [ { - "$ref": "#/definitions/Identity" + "type": "array", + "items": { + "type": "string" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Identity for the resource." + "description": "An array represents the availability zones of the cluster." + } + }, + "required": [ + "apiVersion", + "location", + "name", + "sku", + "type" + ], + "description": "Microsoft.Kusto/clusters" + }, + "clusters_attachedDatabaseConfigurations": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-02-15" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the attached database configuration." }, "properties": { "oneOf": [ { - "$ref": "#/definitions/ClusterProperties" + "$ref": "#/definitions/AttachedDatabaseConfigurationProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Class representing the an attached database configuration properties of kind specific." }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/resourceDefinitions/clusters_databases" - }, - { - "$ref": "#/resourceDefinitions/clusters_attacheddatabaseconfigurations" - }, - { - "$ref": "#/resourceDefinitions/clusters_dataconnections" - }, - { - "$ref": "#/resourceDefinitions/clusters_principalassignments" - } - ] - } + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/attachedDatabaseConfigurations" + ] } }, "required": [ - "name", - "type", "apiVersion", - "location", - "sku" + "name", + "properties", + "type" ], - "description": "Microsoft.Kusto/clusters" + "description": "Microsoft.Kusto/clusters/attachedDatabaseConfigurations" }, "clusters_databases": { "type": "object", "oneOf": [ { "$ref": "#/definitions/ReadWriteDatabase" + }, + { + "$ref": "#/definitions/ReadOnlyFollowingDatabase" } ], "properties": { - "name": { - "type": "string", - "description": "The name of the database in the Kusto cluster." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Kusto/clusters/databases" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -144,168 +182,131 @@ "type": "string", "description": "Resource location." }, + "name": { + "type": "string", + "description": "The name of the database in the Kusto cluster." + }, "resources": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/resourceDefinitions/clusters_databases_dataconnections" + "$ref": "#/definitions/clusters_databases_principalAssignments_childResource" }, { - "$ref": "#/resourceDefinitions/clusters_databases_principalassignments" + "$ref": "#/definitions/clusters_databases_dataConnections_childResource" } ] } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "type" ], "description": "Microsoft.Kusto/clusters/databases" }, - "clusters_dataconnections": { + "clusters_databases_dataConnections": { "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The data connection name" + "oneOf": [ + { + "$ref": "#/definitions/EventHubDataConnection" }, - "type": { - "enum": [ - "Microsoft.Kusto/clusters/dataConnections" - ] + { + "$ref": "#/definitions/IotHubDataConnection" }, + { + "$ref": "#/definitions/EventGridDataConnection" + } + ], + "properties": { "apiVersion": { "type": "string", "enum": [ "2020-02-15" ] }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/GenevaDataConnection" - }, - { - "$ref": "#/definitions/GenevaLegacyDataConnection" - } - ], - "description": "Properties supplied to the data connection create or update Kusto operation." - } - }, - "required": [ - "name", - "type", - "apiVersion", - "properties" - ], - "description": "Microsoft.Kusto/clusters/dataConnections" - }, - "clusters_databases_dataconnections": { - "type": "object", - "properties": { + "location": { + "type": "string", + "description": "Resource location." + }, "name": { "type": "string", - "description": "The data connection name" + "description": "The name of the data connection." }, "type": { - "enum": [ - "Microsoft.Kusto/clusters/databases/dataConnections" - ] - }, - "apiVersion": { "type": "string", "enum": [ - "2020-02-15" + "Microsoft.Kusto/clusters/databases/dataConnections" ] - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EventHubDataConnection" - }, - { - "$ref": "#/definitions/EventGridDataConnection" - }, - { - "$ref": "#/definitions/IotHubDataConnection" - } - ], - "description": "Properties supplied to the Data Connection Create Or Update Kusto operation." } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "type" ], "description": "Microsoft.Kusto/clusters/databases/dataConnections" }, - "clusters_attacheddatabaseconfigurations": { + "clusters_databases_principalAssignments": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The name of the attached database configurations." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Kusto/clusters/AttachedDatabaseConfigurations" - ] - }, "apiVersion": { "type": "string", "enum": [ "2020-02-15" ] }, - "location": { + "name": { "type": "string", - "description": "Resource location." + "description": "The name of the Kusto principalAssignment." }, "properties": { "oneOf": [ { - "$ref": "#/definitions/AttachedDatabaseConfigurationsProperties" + "$ref": "#/definitions/DatabasePrincipalProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ], + "description": "A class representing database principal property." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases/principalAssignments" ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], - "description": "Class representing an attached database configurations." + "description": "Microsoft.Kusto/clusters/databases/principalAssignments" }, - "clusters_principalassignments": { + "clusters_principalAssignments": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The name of the cluster principal assignment" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Kusto/clusters/principalAssignments" - ] - }, "apiVersion": { "type": "string", "enum": [ "2020-02-15" ] }, + "name": { + "type": "string", + "description": "The name of the Kusto principalAssignment." + }, "properties": { "oneOf": [ { @@ -314,28 +315,42 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ], + "description": "A class representing cluster principal property." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/principalAssignments" ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], - "description": "Class representing a cluster principal assignment." + "description": "Microsoft.Kusto/clusters/principalAssignments" }, - "clusters_databases_principalassignments": { + "clusters_dataConnections": { "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/GenevaDataConnection" + }, + { + "$ref": "#/definitions/GenevaLegacyDataConnection" + } + ], "properties": { "name": { "type": "string", - "description": "The name of the database principal assignment" + "description": "The data connection name" }, "type": { - "type": "string", "enum": [ - "Microsoft.Kusto/clusters/databases/principalAssignments" + "Microsoft.Kusto/clusters/dataconnections" ] }, "apiVersion": { @@ -343,31 +358,66 @@ "enum": [ "2020-02-15" ] - }, - "properties": { - "oneOf": [ + } + }, + "required": [ + "apiVersion", + "properties", + "type" + ], + "description": "Microsoft.Kusto/clusters/dataConnections" + } + }, + "definitions": { + "AttachedDatabaseConfigurationProperties": { + "type": "object", + "properties": { + "clusterResourceId": { + "type": "string", + "description": "The resource id of the cluster where the databases you would like to attach reside." + }, + "databaseName": { + "type": "string", + "description": "The name of the database which you would like to attach, use * if you want to follow all current and future databases." + }, + "defaultPrincipalsModificationKind": { + "oneOf": [ { - "$ref": "#/definitions/DatabasePrincipalProperties" + "type": "string", + "enum": [ + "Union", + "Replace", + "None" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "The default principals modification kind." } }, "required": [ - "name", - "type", - "apiVersion", - "properties" + "clusterResourceId", + "databaseName", + "defaultPrincipalsModificationKind" ], - "description": "Class representing a database principal assignment." - } - }, - "definitions": { + "description": "Class representing the an attached database configuration properties of kind specific." + }, "AzureSku": { "type": "object", "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of instances of the cluster." + }, "name": { "oneOf": [ { @@ -394,41 +444,22 @@ "Standard_E16as_v4+3TB_PS", "Standard_E16as_v4+4TB_PS", "Dev(No SLA)_Standard_E2a_v4" - ], - "x-ms-enum": { - "name": "AzureSkuName", - "modelAsString": true - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "SKU name. Possible values include: 'Standard_DS13_v2+1TB_PS', 'Standard_DS13_v2+2TB_PS', 'Standard_DS14_v2+3TB_PS', 'Standard_DS14_v2+4TB_PS', 'Standard_D13_v2', 'Standard_D14_v2', 'Standard_L8s', 'Standard_L16s', 'Standard_D11_v2', 'Standard_D12_v2', 'Standard_L4s', 'Dev(No SLA)_Standard_D11_v2', 'Standard_E2a_v4', 'Standard_E4a_v4', 'Standard_E8a_v4', 'Standard_E16a_v4', 'Standard_E8as_v4+1TB_PS', 'Standard_E8as_v4+2TB_PS', 'Standard_E16as_v4+3TB_PS', 'Standard_E16as_v4+4TB_PS', 'Dev(No SLA)_Standard_E2a_v4'" - }, - "capacity": { - "oneOf": [ - { - "type": "integer" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The number of instances of the cluster." + "description": "SKU name." }, "tier": { "oneOf": [ { "type": "string", "enum": [ - "Standard", - "Basic" - ], - "x-ms-enum": { - "name": "AzureSkuTier", - "modelAsString": true - } + "Basic", + "Standard" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -443,34 +474,59 @@ ], "description": "Azure SKU definition." }, - "ClusterProperties": { + "ClusterPrincipalProperties": { "type": "object", "properties": { - "trustedExternalTenants": { + "principalId": { + "type": "string", + "description": "The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name." + }, + "principalType": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/TrustedExternalTenant" - } + "type": "string", + "enum": [ + "App", + "Group", + "User" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The cluster's external tenants." + "description": "Principal type." }, - "optimizedAutoscale": { + "role": { "oneOf": [ { - "$ref": "#/definitions/OptimizedAutoscale" + "type": "string", + "enum": [ + "AllDatabasesAdmin", + "AllDatabasesViewer" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A class that contains the optimized auto scale definition." + "description": "Cluster principal role." }, + "tenantId": { + "type": "string", + "description": "The tenant id of the principal" + } + }, + "required": [ + "principalId", + "principalType", + "role" + ], + "description": "A class representing cluster principal property." + }, + "ClusterProperties": { + "type": "object", + "properties": { "enableDiskEncryption": { "oneOf": [ { @@ -482,7 +538,7 @@ ], "description": "A boolean value that indicates if the cluster's disks are encrypted." }, - "enableStreamingIngest": { + "enablePurge": { "oneOf": [ { "type": "boolean", @@ -492,18 +548,19 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A boolean value that indicates if the streaming ingest is enabled." + "description": "A boolean value that indicates if the purge operations are enabled." }, - "virtualNetworkConfiguration": { + "enableStreamingIngest": { "oneOf": [ { - "$ref": "#/definitions/VirtualNetworkConfiguration" + "type": "boolean", + "default": false }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A class that contains virtual network definition." + "description": "A boolean value that indicates if the streaming ingest is enabled." }, "keyVaultProperties": { "oneOf": [ @@ -514,226 +571,414 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "KeyVault properties for the cluster encryption." + "description": "Properties of the key vault." }, - "enablePurge": { + "languageExtensions": { "oneOf": [ { - "type": "boolean", - "default": false + "$ref": "#/definitions/LanguageExtensionsList" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "A boolean value that indicates if the purge operations are enabled." - } - } - }, - "ReadWriteDatabaseProperties": { - "type": "object", - "properties": { - "softDeletePeriod": { - "type": "string", - "format": "duration", - "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan." + "description": "The list of language extension objects." }, - "hotCachePeriod": { - "type": "string", - "format": "duration", - "description": "The time the data should be kept in cache for fast queries in TimeSpan." - } - } - }, - "ReadWriteDatabase": { - "type": "object", - "properties": { - "properties": { + "optimizedAutoscale": { "oneOf": [ { - "$ref": "#/definitions/ReadWriteDatabaseProperties" + "$ref": "#/definitions/OptimizedAutoscale" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Read write database properties" + "description": "A class that contains the optimized auto scale definition." }, - "kind": { - "type": "string", - "enum": [ - "ReadWrite" + "trustedExternalTenants": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TrustedExternalTenant" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ], - "description": "Kind of the database" - } - }, - "required": [ - "kind", - "properties" - ], - "description": "Information about the readWrite database" - }, - "AttachedDatabaseConfigurationsProperties": { - "type": "object", - "properties": { - "databaseName": { - "type": "string", - "description": "The name of the database which you would like to attach, use * if you want to follow all current and future databases." - }, - "clusterResourceId": { - "type": "string", - "description": "The resource id of the cluster where the databases you would like to attach reside." + "description": "The cluster's external tenants." }, - "defaultPrincipalsModificationKind": { - "type": "string", - "enum": [ - "Union", - "Replace", - "None" + "virtualNetworkConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ], - "description": "The default principals modification kind" + "description": "A class that contains virtual network definition." } - } + }, + "description": "Class representing the Kusto cluster properties." }, - "EventGridDataConnectionProperties": { + "clusters_attachedDatabaseConfigurations_childResource": { "type": "object", "properties": { - "storageAccountResourceId": { - "type": "string", - "description": "The resource ID of the storage account where the data resides." - }, - "eventHubResourceId": { - "type": "string", - "description": "The resource ID where the event grid is configured to send events." - }, - "consumerGroup": { + "apiVersion": { "type": "string", - "description": "The event hub consumer group." + "enum": [ + "2020-02-15" + ] }, - "tableName": { + "location": { "type": "string", - "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + "description": "Resource location." }, - "mappingRuleName": { + "name": { "type": "string", - "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + "description": "The name of the attached database configuration." }, - "dataFormat": { + "properties": { "oneOf": [ { - "$ref": "#/definitions/DataFormat" + "$ref": "#/definitions/AttachedDatabaseConfigurationProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The data format of the message. Optionally the data format can be added to each message." + "description": "Class representing the an attached database configuration properties of kind specific." + }, + "type": { + "type": "string", + "enum": [ + "attachedDatabaseConfigurations" + ] } }, "required": [ - "storageAccountResourceId", - "eventHubResourceId", - "consumerGroup", - "tableName", - "dataFormat" + "apiVersion", + "name", + "properties", + "type" ], - "description": "Class representing the Kusto event grid connection properties." + "description": "Microsoft.Kusto/clusters/attachedDatabaseConfigurations" }, - "DatabasePrincipalProperties": { + "clusters_databases_childResource": { "type": "object", - "properties": { - "principalId": { - "description": "The principal ID assigned to the database principal. It can be a user email, application ID, or security group name.", - "type": "string" + "oneOf": [ + { + "$ref": "#/definitions/ReadWriteDatabase" }, - "role": { - "description": "Database principal role.", + { + "$ref": "#/definitions/ReadOnlyFollowingDatabase" + } + ], + "properties": { + "apiVersion": { "type": "string", "enum": [ - "Admin", - "Ingestor", - "Monitor", - "User", - "UnrestrictedViewers", - "Viewer" + "2020-02-15" ] }, - "tenantId": { + "location": { "type": "string", - "description": "The tenant id of the principal" + "description": "Resource location." }, - "principalType": { - "description": "Principal type.", + "name": { + "type": "string", + "description": "The name of the database in the Kusto cluster." + }, + "type": { "type": "string", "enum": [ - "App", - "Group", - "User" + "databases" ] } }, "required": [ - "principalId", - "role", - "principalType" + "apiVersion", + "name", + "type" ], - "description": "A class representing database principal property." + "description": "Microsoft.Kusto/clusters/databases" }, - "ClusterPrincipalProperties": { + "clusters_databases_dataConnections_childResource": { "type": "object", - "properties": { - "principalId": { - "description": "The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name.", - "type": "string" + "oneOf": [ + { + "$ref": "#/definitions/EventHubDataConnection" }, - "role": { - "description": "Cluster principal role.", + { + "$ref": "#/definitions/IotHubDataConnection" + }, + { + "$ref": "#/definitions/EventGridDataConnection" + } + ], + "properties": { + "apiVersion": { "type": "string", "enum": [ - "AllDatabasesAdmin", - "AllDatabasesViewer" + "2020-02-15" ] }, - "tenantId": { + "location": { "type": "string", - "description": "The tenant id of the principal" + "description": "Resource location." }, - "principalType": { - "description": "Principal type.", + "name": { + "type": "string", + "description": "The name of the data connection." + }, + "type": { "type": "string", "enum": [ - "App", - "Group", - "User" + "dataConnections" ] } }, "required": [ - "principalId", - "role", - "principalType" + "apiVersion", + "name", + "type" ], - "description": "A class representing cluster principal property." + "description": "Microsoft.Kusto/clusters/databases/dataConnections" }, - "EventGridDataConnection": { + "clusters_databases_principalAssignments_childResource": { "type": "object", "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-02-15" + ] + }, + "name": { + "type": "string", + "description": "The name of the Kusto principalAssignment." + }, "properties": { "oneOf": [ { - "$ref": "#/definitions/EventGridDataConnectionProperties" + "$ref": "#/definitions/DatabasePrincipalProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Class representing the Kusto event grid connection properties." + "description": "A class representing database principal property." + }, + "type": { + "type": "string", + "enum": [ + "principalAssignments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Kusto/clusters/databases/principalAssignments" + }, + "clusters_principalAssignments_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-02-15" + ] + }, + "name": { + "type": "string", + "description": "The name of the Kusto principalAssignment." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ClusterPrincipalProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A class representing cluster principal property." + }, + "type": { + "type": "string", + "enum": [ + "principalAssignments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Kusto/clusters/principalAssignments" + }, + "Componentssgqdofschemasidentitypropertiesuserassignedidentitiesadditionalproperties": { + "type": "object", + "properties": {} + }, + "DatabasePrincipalProperties": { + "type": "object", + "properties": { + "principalId": { + "type": "string", + "description": "The principal ID assigned to the database principal. It can be a user email, application ID, or security group name." + }, + "principalType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "App", + "Group", + "User" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Principal type." + }, + "role": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Admin", + "Ingestor", + "Monitor", + "User", + "UnrestrictedViewers", + "Viewer" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Database principal role." + }, + "tenantId": { + "type": "string", + "description": "The tenant id of the principal" + } + }, + "required": [ + "principalId", + "principalType", + "role" + ], + "description": "A class representing database principal property." + }, + "DatabaseStatistics": { + "type": "object", + "properties": { + "size": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The database size - the total size of compressed data and index in bytes." + } + }, + "description": "A class that contains database statistics information." + }, + "EventGridConnectionProperties": { + "type": "object", + "properties": { + "consumerGroup": { + "type": "string", + "description": "The event hub consumer group." }, + "dataFormat": { + "oneOf": [ + { + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE", + "PARQUET", + "ORC" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "eventHubResourceId": { + "type": "string", + "description": "The resource ID where the event grid is configured to send events." + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "storageAccountResourceId": { + "type": "string", + "description": "The resource ID of the storage account where the data resides." + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + } + }, + "required": [ + "consumerGroup", + "dataFormat", + "eventHubResourceId", + "storageAccountResourceId", + "tableName" + ], + "description": "Class representing the Kusto event grid connection properties." + }, + "EventGridDataConnection": { + "type": "object", + "properties": { "kind": { "type": "string", "enum": [ "EventGrid" ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EventGridConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto event grid connection properties." } }, "required": [ @@ -741,182 +986,538 @@ ], "description": "Class representing an Event Grid data connection." }, - "EventHubDataConnectionProperties": { + "EventHubConnectionProperties": { "type": "object", "properties": { + "compression": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "GZip" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The event hub messages compression type." + }, + "consumerGroup": { + "type": "string", + "description": "The event hub consumer group." + }, + "dataFormat": { + "oneOf": [ + { + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE", + "PARQUET", + "ORC" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The data format of the message. Optionally the data format can be added to each message." + }, "eventHubResourceId": { "type": "string", "description": "The resource ID of the event hub to be used to create a data connection." }, - "consumerGroup": { + "eventSystemProperties": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "System properties of the event hub" + }, + "mappingRuleName": { "type": "string", - "description": "The event hub consumer group." + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." }, "tableName": { "type": "string", "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + } + }, + "required": [ + "consumerGroup", + "eventHubResourceId" + ], + "description": "Class representing the Kusto event hub connection properties." + }, + "EventHubDataConnection": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "EventHub" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EventHubConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto event hub connection properties." + } + }, + "required": [ + "kind" + ], + "description": "Class representing an event hub data connection." + }, + "Identity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "SystemAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The identity type." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Componentssgqdofschemasidentitypropertiesuserassignedidentitiesadditionalproperties" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of user identities associated with the Kusto cluster. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "required": [ + "type" + ], + "description": "Identity for the resource." + }, + "IotHubConnectionProperties": { + "type": "object", + "properties": { + "consumerGroup": { + "type": "string", + "description": "The iot hub consumer group." + }, + "dataFormat": { + "oneOf": [ + { + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE", + "PARQUET", + "ORC" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "eventSystemProperties": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "System properties of the iot hub" + }, + "iotHubResourceId": { + "type": "string", + "description": "The resource ID of the Iot hub to be used to create a data connection." }, "mappingRuleName": { "type": "string", "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." }, - "dataFormat": { + "sharedAccessPolicyName": { + "type": "string", + "description": "The name of the share access policy" + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + } + }, + "required": [ + "consumerGroup", + "iotHubResourceId", + "sharedAccessPolicyName" + ], + "description": "Class representing the Kusto Iot hub connection properties." + }, + "IotHubDataConnection": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "IotHub" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/IotHubConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto Iot hub connection properties." + } + }, + "required": [ + "kind" + ], + "description": "Class representing an iot hub data connection." + }, + "KeyVaultProperties": { + "type": "object", + "properties": { + "keyName": { + "type": "string", + "description": "The name of the key vault key." + }, + "keyVaultUri": { + "type": "string", + "description": "The Uri of the key vault." + }, + "keyVersion": { + "type": "string", + "description": "The version of the key vault key." + } + }, + "required": [ + "keyName", + "keyVaultUri", + "keyVersion" + ], + "description": "Properties of the key vault." + }, + "LanguageExtension": { + "type": "object", + "properties": { + "languageExtensionName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "PYTHON", + "R" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The language extension name." + } + }, + "description": "The language extension object." + }, + "LanguageExtensionsList": { + "type": "object", + "properties": { + "value": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LanguageExtension" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of language extensions." + } + }, + "description": "The list of language extension objects." + }, + "OptimizedAutoscale": { + "type": "object", + "properties": { + "isEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A boolean value that indicate if the optimized autoscale feature is enabled or not." + }, + "maximum": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum allowed instances count." + }, + "minimum": { "oneOf": [ { - "$ref": "#/definitions/DataFormat" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The data format of the message. Optionally the data format can be added to each message." + "description": "Minimum allowed instances count." }, - "eventSystemProperties": { + "version": { "oneOf": [ { - "$ref": "#/definitions/EventSystemProperties" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "System properties of the event hub" + "description": "The version of the template defined, for instance 1." } }, "required": [ - "eventHubResourceId", - "consumerGroup" + "isEnabled", + "maximum", + "minimum", + "version" ], - "description": "Class representing the Kusto event hub connection properties." + "description": "A class that contains the optimized auto scale definition." }, - "EventHubDataConnection": { + "ReadOnlyFollowingDatabase": { "type": "object", "properties": { + "kind": { + "type": "string", + "enum": [ + "ReadOnlyFollowing" + ] + }, "properties": { "oneOf": [ { - "$ref": "#/definitions/EventHubDataConnectionProperties" + "$ref": "#/definitions/ReadOnlyFollowingDatabaseProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Event hub data connection properties" - }, - "kind": { - "type": "string", - "enum": [ - "EventHub" - ] + "description": "Class representing the Kusto database properties." } }, "required": [ "kind" ], - "description": "Information about the event hub data connection" + "description": "Class representing a read only following database." }, - "Identity": { + "ReadOnlyFollowingDatabaseProperties": { "type": "object", "properties": { - "type": { + "hotCachePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept in cache for fast queries in TimeSpan." + }, + "statistics": { "oneOf": [ { - "type": "string", - "enum": [ - "None", - "SystemAssigned" - ] + "$ref": "#/definitions/DatabaseStatistics" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The identity type." + "description": "A class that contains database statistics information." } }, - "required": [ - "type" - ], - "description": "Identity for the resource." + "description": "Class representing the Kusto database properties." }, - "IotHubDataConnectionProperties": { + "ReadWriteDatabase": { "type": "object", "properties": { - "iotHubResourceId": { - "type": "string", - "description": "The resource ID of the iot hub to be used to create a data connection." - }, - "consumerGroup": { - "type": "string", - "description": "The iot hub consumer group." - }, - "tableName": { - "type": "string", - "description": "The table where the data should be ingested. Optionally the table information can be added to each message." - }, - "mappingRuleName": { + "kind": { "type": "string", - "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + "enum": [ + "ReadWrite" + ] }, - "dataFormat": { + "properties": { "oneOf": [ { - "$ref": "#/definitions/DataFormat" + "$ref": "#/definitions/ReadWriteDatabaseProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The data format of the message. Optionally the data format can be added to each message." + "description": "Class representing the Kusto database properties." + } + }, + "required": [ + "kind" + ], + "description": "Class representing a read write database." + }, + "ReadWriteDatabaseProperties": { + "type": "object", + "properties": { + "hotCachePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept in cache for fast queries in TimeSpan." }, - "eventSystemProperties": { + "softDeletePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan." + }, + "statistics": { "oneOf": [ { - "$ref": "#/definitions/EventSystemProperties" + "$ref": "#/definitions/DatabaseStatistics" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The iot hub system properties." + "description": "A class that contains database statistics information." + } + }, + "description": "Class representing the Kusto database properties." + }, + "TrustedExternalTenant": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "GUID representing an external tenant." + } + }, + "description": "Represents a tenant ID that is trusted by the cluster." + }, + "VirtualNetworkConfiguration": { + "type": "object", + "properties": { + "dataManagementPublicIpId": { + "type": "string", + "description": "Data management's service public IP address resource id." }, - "sharedAccessPolicyName": { + "enginePublicIpId": { + "type": "string", + "description": "Engine service's public IP address resource id." + }, + "subnetId": { "type": "string", - "description": "The name of the shared access policy." + "description": "The subnet resource id." } }, "required": [ - "iotHubResourceId", - "consumerGroup", - "sharedAccessPolicyName" + "dataManagementPublicIpId", + "enginePublicIpId", + "subnetId" ], - "description": "Class representing the Kusto Iot hub connection properties." + "description": "A class that contains virtual network definition." }, - "IotHubDataConnection": { + "clusters_dataConnections_childResource": { "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/GenevaDataConnection" + }, + { + "$ref": "#/definitions/GenevaLegacyDataConnection" + } + ], "properties": { - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/IotHubDataConnectionProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Iot hub data connection properties" + "name": { + "type": "string", + "description": "The data connection name" }, - "kind": { + "type": { + "enum": [ + "Microsoft.Kusto/clusters/dataconnections" + ] + }, + "apiVersion": { "type": "string", "enum": [ - "IotHub" + "2020-02-15" ] } }, "required": [ - "kind" + "apiVersion", + "properties", + "type" ], - "description": "Information about the Iot hub data connection" + "description": "Microsoft.Kusto/clusters/dataConnections" }, "GenevaDataConnectionProperties": { "type": "object", @@ -965,11 +1566,11 @@ "description": "The Geneva environment of the geneva data connection." }, "mdsAccounts": { - "type:": "array", + "type": "array", "description": "The list of mds accounts of the geneva data connection." }, "isScrubbed": { - "type:": "boolean", + "type": "boolean", "description": "Indicates whether the data is scrubbed." } }, @@ -992,7 +1593,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Geneva legacy data connection properties" + "description": "Geneva legacy data connection properties." }, "kind": { "type": "string", @@ -1004,153 +1605,7 @@ "required": [ "kind" ], - "description": "Information about the Geneva (GDS) data connection" - }, - "KeyVaultProperties": { - "type": "object", - "properties": { - "keyName": { - "type": "string", - "description": "The name of the key vault key.", - "x-ms-client-name": "KeyName" - }, - "keyVersion": { - "type": "string", - "description": "The version of the key vault key.", - "x-ms-client-name": "KeyVersion" - }, - "keyVaultUri": { - "type": "string", - "description": "The Uri of the key vault.", - "x-ms-client-name": "KeyVaultUri" - } - }, - "required": [ - "keyName", - "keyVersion", - "keyVaultUri" - ], - "description": "Properties of the key vault." - }, - "OptimizedAutoscale": { - "type": "object", - "properties": { - "version": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The version of the template defined, for instance 1." - }, - "isEnabled": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A boolean value that indicate if the optimized autoscale feature is enabled or not." - }, - "minimum": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Minimum allowed instances count." - }, - "maximum": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Maximum allowed instances count." - } - }, - "required": [ - "version", - "isEnabled", - "minimum", - "maximum" - ], - "description": "A class that contains the optimized auto scale definition." - }, - "TrustedExternalTenant": { - "type": "object", - "properties": { - "value": { - "type": "string", - "description": "GUID representing an external tenant." - } - }, - "description": "Represents a tenant ID that is trusted by the cluster." - }, - "VirtualNetworkConfiguration": { - "type": "object", - "properties": { - "subnetId": { - "type": "string", - "description": "The subnet resource id." - }, - "enginePublicIpId": { - "type": "string", - "description": "Engine service's public IP address resource id." - }, - "dataManagementPublicIpId": { - "type": "string", - "description": "Data management's service public IP address resource id." - } - }, - "required": [ - "subnetId", - "enginePublicIpId", - "dataManagementPublicIpId" - ], - "description": "A class that contains virtual network definition." - }, - "DataFormat": { - "type": "string", - "enum": [ - "MULTIJSON", - "JSON", - "CSV", - "TSV", - "SCSV", - "SOHSV", - "PSV", - "TXT", - "RAW", - "SINGLEJSON", - "AVRO", - "TSVE", - "PARQUET", - "ORC" - ], - "description": "The data format of the message. Optionally the data format can be added to each message.", - "x-ms-enum": { - "name": "dataFormat", - "modelAsString": true - } - }, - "EventSystemProperties": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The resource system properties." + "description": "Information about the Geneva legacy data connection." } } } \ No newline at end of file diff --git a/schemas/2020-06-14/Microsoft.Kusto.json b/schemas/2020-06-14/Microsoft.Kusto.json index 01b3a1b877..0dbe44bb6f 100644 --- a/schemas/2020-06-14/Microsoft.Kusto.json +++ b/schemas/2020-06-14/Microsoft.Kusto.json @@ -7,40 +7,61 @@ "clusters": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The name of the Kusto cluster." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Kusto/clusters" - ] - }, "apiVersion": { "type": "string", "enum": [ "2020-06-14" ] }, - "tags": { + "identity": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/Identity" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags." + "description": "Identity for the resource." }, "location": { "type": "string", "description": "The geo-location where the resource lives" }, + "name": { + "type": "string", + "description": "The name of the Kusto cluster." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ClusterProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto cluster properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/clusters_principalAssignments_childResource" + }, + { + "$ref": "#/definitions/clusters_databases_childResource" + }, + { + "$ref": "#/definitions/clusters_attachedDatabaseConfigurations_childResource" + }, + { + "$ref": "#/definitions/clusters_dataConnections_childResource" + } + ] + } + }, "sku": { "oneOf": [ { @@ -50,87 +71,107 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The SKU of the Kusto cluster." + "description": "Azure SKU definition." }, - "zones": { + "tags": { "oneOf": [ { - "type": "array", - "items": { + "type": "object", + "additionalProperties": { "type": "string" - } + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "An array represents the availability zones of the cluster." + "description": "Resource tags." }, - "identity": { + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters" + ] + }, + "zones": { "oneOf": [ { - "$ref": "#/definitions/Identity" + "type": "array", + "items": { + "type": "string" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Identity for the resource." + "description": "An array represents the availability zones of the cluster." + } + }, + "required": [ + "apiVersion", + "location", + "name", + "sku", + "type" + ], + "description": "Microsoft.Kusto/clusters" + }, + "clusters_attachedDatabaseConfigurations": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-14" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the attached database configuration." }, "properties": { "oneOf": [ { - "$ref": "#/definitions/ClusterProperties" + "$ref": "#/definitions/AttachedDatabaseConfigurationProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Class representing the an attached database configuration properties of kind specific." }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/resourceDefinitions/clusters_databases" - }, - { - "$ref": "#/resourceDefinitions/clusters_attacheddatabaseconfigurations" - }, - { - "$ref": "#/resourceDefinitions/clusters_principalassignments" - } - ] - } + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/attachedDatabaseConfigurations" + ] } }, "required": [ - "name", - "type", "apiVersion", - "location", - "sku" + "name", + "properties", + "type" ], - "description": "Microsoft.Kusto/clusters" + "description": "Microsoft.Kusto/clusters/attachedDatabaseConfigurations" }, "clusters_databases": { "type": "object", "oneOf": [ { "$ref": "#/definitions/ReadWriteDatabase" + }, + { + "$ref": "#/definitions/ReadOnlyFollowingDatabase" } ], "properties": { - "name": { - "type": "string", - "description": "The name of the database in the Kusto cluster." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Kusto/clusters/databases" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -141,165 +182,131 @@ "type": "string", "description": "Resource location." }, + "name": { + "type": "string", + "description": "The name of the database in the Kusto cluster." + }, "resources": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/resourceDefinitions/clusters_databases_dataconnections" + "$ref": "#/definitions/clusters_databases_principalAssignments_childResource" }, { - "$ref": "#/resourceDefinitions/clusters_databases_principalassignments" + "$ref": "#/definitions/clusters_databases_dataConnections_childResource" } ] } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "type" ], "description": "Microsoft.Kusto/clusters/databases" }, - "clusters_dataconnections": { + "clusters_databases_dataConnections": { "type": "object", "oneOf": [ { - "$ref": "#/definitions/GenevaDataConnection" + "$ref": "#/definitions/EventHubDataConnection" }, { - "$ref": "#/definitions/GenevaLegacyDataConnection" + "$ref": "#/definitions/IotHubDataConnection" + }, + { + "$ref": "#/definitions/EventGridDataConnection" } ], "properties": { - "name": { - "type": "string", - "description": "The data connection name" - }, - "type": { - "enum": [ - "Microsoft.Kusto/clusters/dataConnections" - ] - }, "apiVersion": { "type": "string", "enum": [ "2020-06-14" ] - } - }, - "required": [ - "name", - "type", - "apiVersion", - "properties" - ], - "description": "Microsoft.Kusto/clusters/dataConnections" - }, - "clusters_databases_dataconnections": { - "type": "object", - "properties": { + }, + "location": { + "type": "string", + "description": "Resource location." + }, "name": { "type": "string", - "description": "The data connection name" + "description": "The name of the data connection." }, "type": { - "enum": [ - "Microsoft.Kusto/clusters/databases/dataConnections" - ] - }, - "apiVersion": { "type": "string", "enum": [ - "2020-06-14" + "Microsoft.Kusto/clusters/databases/dataConnections" ] - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EventHubDataConnection" - }, - { - "$ref": "#/definitions/EventGridDataConnection" - }, - { - "$ref": "#/definitions/IotHubDataConnection" - } - ], - "description": "Properties supplied to the Data Connection Create Or Update Kusto operation." } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "type" ], "description": "Microsoft.Kusto/clusters/databases/dataConnections" }, - "clusters_attacheddatabaseconfigurations": { + "clusters_databases_principalAssignments": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The name of the attached database configurations." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Kusto/clusters/AttachedDatabaseConfigurations" - ] - }, "apiVersion": { "type": "string", "enum": [ "2020-06-14" ] }, - "location": { + "name": { "type": "string", - "description": "Resource location." + "description": "The name of the Kusto principalAssignment." }, "properties": { "oneOf": [ { - "$ref": "#/definitions/AttachedDatabaseConfigurationsProperties" + "$ref": "#/definitions/DatabasePrincipalProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ], + "description": "A class representing database principal property." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases/principalAssignments" ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], - "description": "Class representing an attached database configurations." + "description": "Microsoft.Kusto/clusters/databases/principalAssignments" }, - "clusters_principalassignments": { + "clusters_principalAssignments": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The name of the cluster principal assignment" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Kusto/clusters/principalAssignments" - ] - }, "apiVersion": { "type": "string", "enum": [ "2020-06-14" ] }, + "name": { + "type": "string", + "description": "The name of the Kusto principalAssignment." + }, "properties": { "oneOf": [ { @@ -308,28 +315,42 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ], + "description": "A class representing cluster principal property." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/principalAssignments" ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], - "description": "Class representing a cluster principal assignment." + "description": "Microsoft.Kusto/clusters/principalAssignments" }, - "clusters_databases_principalassignments": { + "clusters_dataConnections": { "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/GenevaDataConnection" + }, + { + "$ref": "#/definitions/GenevaLegacyDataConnection" + } + ], "properties": { "name": { "type": "string", - "description": "The name of the database principal assignment" + "description": "The data connection name" }, "type": { - "type": "string", "enum": [ - "Microsoft.Kusto/clusters/databases/principalAssignments" + "Microsoft.Kusto/clusters/dataconnections" ] }, "apiVersion": { @@ -337,31 +358,66 @@ "enum": [ "2020-06-14" ] - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/DatabasePrincipalProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "properties", + "type" ], - "description": "Class representing a database principal assignment." + "description": "Microsoft.Kusto/clusters/dataConnections" } }, "definitions": { + "AttachedDatabaseConfigurationProperties": { + "type": "object", + "properties": { + "clusterResourceId": { + "type": "string", + "description": "The resource id of the cluster where the databases you would like to attach reside." + }, + "databaseName": { + "type": "string", + "description": "The name of the database which you would like to attach, use * if you want to follow all current and future databases." + }, + "defaultPrincipalsModificationKind": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Union", + "Replace", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The default principals modification kind." + } + }, + "required": [ + "clusterResourceId", + "databaseName", + "defaultPrincipalsModificationKind" + ], + "description": "Class representing the an attached database configuration properties of kind specific." + }, "AzureSku": { "type": "object", "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of instances of the cluster." + }, "name": { "oneOf": [ { @@ -388,41 +444,22 @@ "Standard_E16as_v4+3TB_PS", "Standard_E16as_v4+4TB_PS", "Dev(No SLA)_Standard_E2a_v4" - ], - "x-ms-enum": { - "name": "AzureSkuName", - "modelAsString": true - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "SKU name. Possible values include: 'Standard_DS13_v2+1TB_PS', 'Standard_DS13_v2+2TB_PS', 'Standard_DS14_v2+3TB_PS', 'Standard_DS14_v2+4TB_PS', 'Standard_D13_v2', 'Standard_D14_v2', 'Standard_L8s', 'Standard_L16s', 'Standard_D11_v2', 'Standard_D12_v2', 'Standard_L4s', 'Dev(No SLA)_Standard_D11_v2', 'Standard_E2a_v4', 'Standard_E4a_v4', 'Standard_E8a_v4', 'Standard_E16a_v4', 'Standard_E8as_v4+1TB_PS', 'Standard_E8as_v4+2TB_PS', 'Standard_E16as_v4+3TB_PS', 'Standard_E16as_v4+4TB_PS', 'Dev(No SLA)_Standard_E2a_v4'" - }, - "capacity": { - "oneOf": [ - { - "type": "integer" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The number of instances of the cluster." + "description": "SKU name." }, "tier": { "oneOf": [ { "type": "string", "enum": [ - "Standard", - "Basic" - ], - "x-ms-enum": { - "name": "AzureSkuTier", - "modelAsString": true - } + "Basic", + "Standard" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -437,322 +474,538 @@ ], "description": "Azure SKU definition." }, - "ClusterProperties": { - "type": "object", - "properties": { - "trustedExternalTenants": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/TrustedExternalTenant" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The cluster's external tenants." - }, - "optimizedAutoscale": { - "oneOf": [ - { - "$ref": "#/definitions/OptimizedAutoscale" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A class that contains the optimized auto scale definition." - }, - "enableDiskEncryption": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A boolean value that indicates if the cluster's disks are encrypted." - }, - "enableStreamingIngest": { - "oneOf": [ - { - "type": "boolean", - "default": false - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A boolean value that indicates if the streaming ingest is enabled." - }, - "virtualNetworkConfiguration": { - "oneOf": [ - { - "$ref": "#/definitions/VirtualNetworkConfiguration" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A class that contains virtual network definition." - }, - "keyVaultProperties": { - "oneOf": [ - { - "$ref": "#/definitions/KeyVaultProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "KeyVault properties for the cluster encryption." - }, - "enablePurge": { - "oneOf": [ - { - "type": "boolean", - "default": false - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A boolean value that indicates if the purge operations are enabled." - }, - "enableDoubleEncryption": { - "oneOf": [ - { - "type": "boolean", - "default": false - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates whether or not Double-Encryption is enabled on storage account." - } - } - }, - "ReadWriteDatabaseProperties": { + "ClusterPrincipalProperties": { "type": "object", "properties": { - "softDeletePeriod": { + "principalId": { "type": "string", - "format": "duration", - "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan." + "description": "The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name." }, - "hotCachePeriod": { - "type": "string", - "format": "duration", - "description": "The time the data should be kept in cache for fast queries in TimeSpan." - } - } - }, - "ReadWriteDatabase": { - "type": "object", - "properties": { - "properties": { + "principalType": { "oneOf": [ { - "$ref": "#/definitions/ReadWriteDatabaseProperties" + "type": "string", + "enum": [ + "App", + "Group", + "User" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Read write database properties" + "description": "Principal type." }, - "kind": { - "type": "string", - "enum": [ - "ReadWrite" + "role": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AllDatabasesAdmin", + "AllDatabasesViewer" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ], - "description": "Kind of the database" + "description": "Cluster principal role." + }, + "tenantId": { + "type": "string", + "description": "The tenant id of the principal" } }, "required": [ - "kind", - "properties" + "principalId", + "principalType", + "role" ], - "description": "Information about the readWrite database" + "description": "A class representing cluster principal property." }, - "AttachedDatabaseConfigurationsProperties": { + "ClusterProperties": { "type": "object", "properties": { - "databaseName": { - "type": "string", - "description": "The name of the database which you would like to attach, use * if you want to follow all current and future databases." - }, - "clusterResourceId": { - "type": "string", - "description": "The resource id of the cluster where the databases you would like to attach reside." - }, - "defaultPrincipalsModificationKind": { - "type": "string", - "enum": [ - "Union", - "Replace", - "None" + "enableDiskEncryption": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ], - "description": "The default principals modification kind" - } - } - }, - "EventGridDataConnectionProperties": { - "type": "object", - "properties": { - "storageAccountResourceId": { - "type": "string", - "description": "The resource ID of the storage account where the data resides." + "description": "A boolean value that indicates if the cluster's disks are encrypted." }, - "eventHubResourceId": { - "type": "string", - "description": "The resource ID where the event grid is configured to send events." + "enableDoubleEncryption": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A boolean value that indicates if double encryption is enabled." }, - "consumerGroup": { - "type": "string", - "description": "The event hub consumer group." + "enablePurge": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A boolean value that indicates if the purge operations are enabled." }, - "tableName": { - "type": "string", - "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + "enableStreamingIngest": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A boolean value that indicates if the streaming ingest is enabled." }, - "mappingRuleName": { - "type": "string", - "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + "keyVaultProperties": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the key vault." }, - "dataFormat": { + "optimizedAutoscale": { "oneOf": [ { - "$ref": "#/definitions/DataFormat" + "$ref": "#/definitions/OptimizedAutoscale" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The data format of the message. Optionally the data format can be added to each message." + "description": "A class that contains the optimized auto scale definition." }, - "ignoreFirstRecord": { - "type": "boolean", - "description": "A Boolean value that, if set to true, indicates that ingestion should ignore the first record of every file." + "trustedExternalTenants": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TrustedExternalTenant" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The cluster's external tenants." }, - "blobStorageEventType": { + "virtualNetworkConfiguration": { "oneOf": [ { - "$ref": "#/definitions/BlobStorageEventType" + "$ref": "#/definitions/VirtualNetworkConfiguration" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The name of blob storage event type to process." + "description": "A class that contains virtual network definition." } }, - "required": [ - "storageAccountResourceId", - "eventHubResourceId", - "consumerGroup" - ], - "description": "Class representing the Kusto event grid connection properties." + "description": "Class representing the Kusto cluster properties." }, - "DatabasePrincipalProperties": { + "clusters_attachedDatabaseConfigurations_childResource": { "type": "object", "properties": { - "principalId": { - "description": "The principal ID assigned to the database principal. It can be a user email, application ID, or security group name.", - "type": "string" - }, - "role": { - "description": "Database principal role.", + "apiVersion": { "type": "string", "enum": [ - "Admin", - "Ingestor", - "Monitor", - "User", - "UnrestrictedViewers", - "Viewer" + "2020-06-14" ] }, - "tenantId": { + "location": { "type": "string", - "description": "The tenant id of the principal" + "description": "Resource location." }, - "principalType": { - "description": "Principal type.", + "name": { + "type": "string", + "description": "The name of the attached database configuration." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AttachedDatabaseConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the an attached database configuration properties of kind specific." + }, + "type": { "type": "string", "enum": [ - "App", - "Group", - "User" + "attachedDatabaseConfigurations" ] } }, "required": [ - "principalId", - "role", - "principalType" + "apiVersion", + "name", + "properties", + "type" ], - "description": "A class representing database principal property." + "description": "Microsoft.Kusto/clusters/attachedDatabaseConfigurations" }, - "ClusterPrincipalProperties": { + "clusters_databases_childResource": { "type": "object", - "properties": { - "principalId": { - "description": "The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name.", - "type": "string" + "oneOf": [ + { + "$ref": "#/definitions/ReadWriteDatabase" }, - "role": { - "description": "Cluster principal role.", + { + "$ref": "#/definitions/ReadOnlyFollowingDatabase" + } + ], + "properties": { + "apiVersion": { "type": "string", "enum": [ - "AllDatabasesAdmin", - "AllDatabasesViewer" + "2020-06-14" ] }, - "tenantId": { + "location": { "type": "string", - "description": "The tenant id of the principal" + "description": "Resource location." }, - "principalType": { - "description": "Principal type.", + "name": { + "type": "string", + "description": "The name of the database in the Kusto cluster." + }, + "type": { "type": "string", "enum": [ - "App", - "Group", - "User" + "databases" ] } }, "required": [ - "principalId", - "role", - "principalType" + "apiVersion", + "name", + "type" ], - "description": "A class representing cluster principal property." + "description": "Microsoft.Kusto/clusters/databases" }, - "EventGridDataConnection": { + "clusters_databases_dataConnections_childResource": { "type": "object", - "properties": { - "properties": { - "oneOf": [ + "oneOf": [ + { + "$ref": "#/definitions/EventHubDataConnection" + }, + { + "$ref": "#/definitions/IotHubDataConnection" + }, + { + "$ref": "#/definitions/EventGridDataConnection" + } + ], + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-14" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the data connection." + }, + "type": { + "type": "string", + "enum": [ + "dataConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Kusto/clusters/databases/dataConnections" + }, + "clusters_databases_principalAssignments_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-14" + ] + }, + "name": { + "type": "string", + "description": "The name of the Kusto principalAssignment." + }, + "properties": { + "oneOf": [ { - "$ref": "#/definitions/EventGridDataConnectionProperties" + "$ref": "#/definitions/DatabasePrincipalProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Class representing the Kusto event grid connection properties." + "description": "A class representing database principal property." + }, + "type": { + "type": "string", + "enum": [ + "principalAssignments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Kusto/clusters/databases/principalAssignments" + }, + "clusters_principalAssignments_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-14" + ] + }, + "name": { + "type": "string", + "description": "The name of the Kusto principalAssignment." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ClusterPrincipalProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A class representing cluster principal property." + }, + "type": { + "type": "string", + "enum": [ + "principalAssignments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Kusto/clusters/principalAssignments" + }, + "Componentssgqdofschemasidentitypropertiesuserassignedidentitiesadditionalproperties": { + "type": "object", + "properties": {} + }, + "DatabasePrincipalProperties": { + "type": "object", + "properties": { + "principalId": { + "type": "string", + "description": "The principal ID assigned to the database principal. It can be a user email, application ID, or security group name." + }, + "principalType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "App", + "Group", + "User" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Principal type." }, + "role": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Admin", + "Ingestor", + "Monitor", + "User", + "UnrestrictedViewers", + "Viewer" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Database principal role." + }, + "tenantId": { + "type": "string", + "description": "The tenant id of the principal" + } + }, + "required": [ + "principalId", + "principalType", + "role" + ], + "description": "A class representing database principal property." + }, + "DatabaseStatistics": { + "type": "object", + "properties": { + "size": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The database size - the total size of compressed data and index in bytes." + } + }, + "description": "A class that contains database statistics information." + }, + "EventGridConnectionProperties": { + "type": "object", + "properties": { + "blobStorageEventType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Microsoft.Storage.BlobCreated", + "Microsoft.Storage.BlobRenamed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of blob storage event type to process." + }, + "consumerGroup": { + "type": "string", + "description": "The event hub consumer group." + }, + "dataFormat": { + "oneOf": [ + { + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE", + "PARQUET", + "ORC", + "APACHEAVRO", + "W3CLOGFILE" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "eventHubResourceId": { + "type": "string", + "description": "The resource ID where the event grid is configured to send events." + }, + "ignoreFirstRecord": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A Boolean value that, if set to true, indicates that ingestion should ignore the first record of every file" + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "storageAccountResourceId": { + "type": "string", + "description": "The resource ID of the storage account where the data resides." + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + } + }, + "required": [ + "consumerGroup", + "eventHubResourceId", + "storageAccountResourceId" + ], + "description": "Class representing the Kusto event grid connection properties." + }, + "EventGridDataConnection": { + "type": "object", + "properties": { "kind": { "type": "string", "enum": [ "EventGrid" ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EventGridConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto event grid connection properties." } }, "required": [ @@ -760,29 +1013,184 @@ ], "description": "Class representing an Event Grid data connection." }, - "EventHubDataConnectionProperties": { + "EventHubConnectionProperties": { "type": "object", "properties": { + "compression": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "GZip" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The event hub messages compression type." + }, + "consumerGroup": { + "type": "string", + "description": "The event hub consumer group." + }, + "dataFormat": { + "oneOf": [ + { + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE", + "PARQUET", + "ORC", + "APACHEAVRO", + "W3CLOGFILE" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The data format of the message. Optionally the data format can be added to each message." + }, "eventHubResourceId": { "type": "string", "description": "The resource ID of the event hub to be used to create a data connection." }, - "consumerGroup": { + "eventSystemProperties": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "System properties of the event hub" + }, + "mappingRuleName": { "type": "string", - "description": "The event hub consumer group." + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." }, "tableName": { "type": "string", "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + } + }, + "required": [ + "consumerGroup", + "eventHubResourceId" + ], + "description": "Class representing the Kusto event hub connection properties." + }, + "EventHubDataConnection": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "EventHub" + ] }, - "mappingRuleName": { + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EventHubConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto event hub connection properties." + } + }, + "required": [ + "kind" + ], + "description": "Class representing an event hub data connection." + }, + "Identity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "SystemAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The identity type." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Componentssgqdofschemasidentitypropertiesuserassignedidentitiesadditionalproperties" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of user identities associated with the Kusto cluster. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "required": [ + "type" + ], + "description": "Identity for the resource." + }, + "IotHubConnectionProperties": { + "type": "object", + "properties": { + "consumerGroup": { "type": "string", - "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + "description": "The iot hub consumer group." }, "dataFormat": { "oneOf": [ { - "$ref": "#/definitions/DataFormat" + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE", + "PARQUET", + "ORC", + "APACHEAVRO", + "W3CLOGFILE" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -790,152 +1198,316 @@ ], "description": "The data format of the message. Optionally the data format can be added to each message." }, - "eventSystemProperties": { + "eventSystemProperties": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "System properties of the iot hub" + }, + "iotHubResourceId": { + "type": "string", + "description": "The resource ID of the Iot hub to be used to create a data connection." + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "sharedAccessPolicyName": { + "type": "string", + "description": "The name of the share access policy" + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + } + }, + "required": [ + "consumerGroup", + "iotHubResourceId", + "sharedAccessPolicyName" + ], + "description": "Class representing the Kusto Iot hub connection properties." + }, + "IotHubDataConnection": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "IotHub" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/IotHubConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto Iot hub connection properties." + } + }, + "required": [ + "kind" + ], + "description": "Class representing an iot hub data connection." + }, + "KeyVaultProperties": { + "type": "object", + "properties": { + "keyName": { + "type": "string", + "description": "The name of the key vault key." + }, + "keyVaultUri": { + "type": "string", + "description": "The Uri of the key vault." + }, + "keyVersion": { + "type": "string", + "description": "The version of the key vault key." + } + }, + "required": [ + "keyName", + "keyVaultUri", + "keyVersion" + ], + "description": "Properties of the key vault." + }, + "OptimizedAutoscale": { + "type": "object", + "properties": { + "isEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A boolean value that indicate if the optimized autoscale feature is enabled or not." + }, + "maximum": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum allowed instances count." + }, + "minimum": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimum allowed instances count." + }, + "version": { "oneOf": [ { - "$ref": "#/definitions/EventSystemProperties" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "System properties of the event hub" + "description": "The version of the template defined, for instance 1." } }, "required": [ - "eventHubResourceId", - "consumerGroup" + "isEnabled", + "maximum", + "minimum", + "version" ], - "description": "Class representing the Kusto event hub connection properties." + "description": "A class that contains the optimized auto scale definition." }, - "EventHubDataConnection": { + "ReadOnlyFollowingDatabase": { "type": "object", "properties": { + "kind": { + "type": "string", + "enum": [ + "ReadOnlyFollowing" + ] + }, "properties": { "oneOf": [ { - "$ref": "#/definitions/EventHubDataConnectionProperties" + "$ref": "#/definitions/ReadOnlyFollowingDatabaseProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Event hub data connection properties" - }, - "kind": { - "type": "string", - "enum": [ - "EventHub" - ] + "description": "Class representing the Kusto database properties." } }, "required": [ "kind" ], - "description": "Information about the event hub data connection" + "description": "Class representing a read only following database." }, - "Identity": { + "ReadOnlyFollowingDatabaseProperties": { "type": "object", "properties": { - "type": { + "hotCachePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept in cache for fast queries in TimeSpan." + }, + "statistics": { "oneOf": [ { - "type": "string", - "enum": [ - "None", - "SystemAssigned" - ] + "$ref": "#/definitions/DatabaseStatistics" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The identity type." + "description": "A class that contains database statistics information." } }, - "required": [ - "type" - ], - "description": "Identity for the resource." + "description": "Class representing the Kusto database properties." }, - "IotHubDataConnectionProperties": { + "ReadWriteDatabase": { "type": "object", "properties": { - "iotHubResourceId": { - "type": "string", - "description": "The resource ID of the iot hub to be used to create a data connection." - }, - "consumerGroup": { - "type": "string", - "description": "The iot hub consumer group." - }, - "tableName": { - "type": "string", - "description": "The table where the data should be ingested. Optionally the table information can be added to each message." - }, - "mappingRuleName": { + "kind": { "type": "string", - "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + "enum": [ + "ReadWrite" + ] }, - "dataFormat": { + "properties": { "oneOf": [ { - "$ref": "#/definitions/DataFormat" + "$ref": "#/definitions/ReadWriteDatabaseProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The data format of the message. Optionally the data format can be added to each message." + "description": "Class representing the Kusto database properties." + } + }, + "required": [ + "kind" + ], + "description": "Class representing a read write database." + }, + "ReadWriteDatabaseProperties": { + "type": "object", + "properties": { + "hotCachePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept in cache for fast queries in TimeSpan." }, - "eventSystemProperties": { + "softDeletePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan." + }, + "statistics": { "oneOf": [ { - "$ref": "#/definitions/EventSystemProperties" + "$ref": "#/definitions/DatabaseStatistics" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The iot hub system properties." + "description": "A class that contains database statistics information." + } + }, + "description": "Class representing the Kusto database properties." + }, + "TrustedExternalTenant": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "GUID representing an external tenant." + } + }, + "description": "Represents a tenant ID that is trusted by the cluster." + }, + "VirtualNetworkConfiguration": { + "type": "object", + "properties": { + "dataManagementPublicIpId": { + "type": "string", + "description": "Data management's service public IP address resource id." }, - "sharedAccessPolicyName": { + "enginePublicIpId": { + "type": "string", + "description": "Engine service's public IP address resource id." + }, + "subnetId": { "type": "string", - "description": "The name of the shared access policy." + "description": "The subnet resource id." } }, "required": [ - "iotHubResourceId", - "consumerGroup", - "sharedAccessPolicyName" + "dataManagementPublicIpId", + "enginePublicIpId", + "subnetId" ], - "description": "Class representing the Kusto Iot hub connection properties." + "description": "A class that contains virtual network definition." }, - "IotHubDataConnection": { + "clusters_dataConnections_childResource": { "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/GenevaDataConnection" + }, + { + "$ref": "#/definitions/GenevaLegacyDataConnection" + } + ], "properties": { - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/IotHubDataConnectionProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Iot hub data connection properties" + "name": { + "type": "string", + "description": "The data connection name" }, - "kind": { + "type": { + "enum": [ + "Microsoft.Kusto/clusters/dataconnections" + ] + }, + "apiVersion": { "type": "string", "enum": [ - "IotHub" + "2020-06-14" ] } }, "required": [ - "kind" + "apiVersion", + "properties", + "type" ], - "description": "Information about the Iot hub data connection" + "description": "Microsoft.Kusto/clusters/dataConnections" }, "GenevaDataConnectionProperties": { "type": "object", @@ -984,11 +1556,11 @@ "description": "The Geneva environment of the geneva data connection." }, "mdsAccounts": { - "type:": "array", + "type": "array", "description": "The list of mds accounts of the geneva data connection." }, "isScrubbed": { - "type:": "boolean", + "type": "boolean", "description": "Indicates whether the data is scrubbed." } }, @@ -1011,7 +1583,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Geneva legacy data connection properties" + "description": "Geneva legacy data connection properties." }, "kind": { "type": "string", @@ -1023,167 +1595,7 @@ "required": [ "kind" ], - "description": "Information about the Geneva (GDS) data connection" - }, - "KeyVaultProperties": { - "type": "object", - "properties": { - "keyName": { - "type": "string", - "description": "The name of the key vault key.", - "x-ms-client-name": "KeyName" - }, - "keyVersion": { - "type": "string", - "description": "The version of the key vault key.", - "x-ms-client-name": "KeyVersion" - }, - "keyVaultUri": { - "type": "string", - "description": "The Uri of the key vault.", - "x-ms-client-name": "KeyVaultUri" - } - }, - "required": [ - "keyName", - "keyVersion", - "keyVaultUri" - ], - "description": "Properties of the key vault." - }, - "OptimizedAutoscale": { - "type": "object", - "properties": { - "version": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The version of the template defined, for instance 1." - }, - "isEnabled": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A boolean value that indicate if the optimized autoscale feature is enabled or not." - }, - "minimum": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Minimum allowed instances count." - }, - "maximum": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Maximum allowed instances count." - } - }, - "required": [ - "version", - "isEnabled", - "minimum", - "maximum" - ], - "description": "A class that contains the optimized auto scale definition." - }, - "TrustedExternalTenant": { - "type": "object", - "properties": { - "value": { - "type": "string", - "description": "GUID representing an external tenant." - } - }, - "description": "Represents a tenant ID that is trusted by the cluster." - }, - "VirtualNetworkConfiguration": { - "type": "object", - "properties": { - "subnetId": { - "type": "string", - "description": "The subnet resource id." - }, - "enginePublicIpId": { - "type": "string", - "description": "Engine service's public IP address resource id." - }, - "dataManagementPublicIpId": { - "type": "string", - "description": "Data management's service public IP address resource id." - } - }, - "required": [ - "subnetId", - "enginePublicIpId", - "dataManagementPublicIpId" - ], - "description": "A class that contains virtual network definition." - }, - "DataFormat": { - "type": "string", - "enum": [ - "MULTIJSON", - "JSON", - "CSV", - "TSV", - "SCSV", - "SOHSV", - "PSV", - "TXT", - "RAW", - "SINGLEJSON", - "AVRO", - "TSVE", - "PARQUET", - "ORC", - "APACHEAVRO", - "W3CLOGFILE" - ], - "description": "The data format of the message. Optionally the data format can be added to each message.", - "x-ms-enum": { - "name": "dataFormat", - "modelAsString": true - } - }, - "EventSystemProperties": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The resource system properties." - }, - "BlobStorageEventType": { - "description": "The name of blob storage event type to process.", - "type": "string", - "enum": [ - "Microsoft.Storage.BlobCreated", - "Microsoft.Storage.BlobRenamed" - ], - "x-ms-enum": { - "name": "blobStorageEventType", - "modelAsString": true - } + "description": "Information about the Geneva legacy data connection." } } -} +} \ No newline at end of file diff --git a/schemas/2020-09-18/Microsoft.Kusto.json b/schemas/2020-09-18/Microsoft.Kusto.json index 66a86c5389..0eed12f8dc 100644 --- a/schemas/2020-09-18/Microsoft.Kusto.json +++ b/schemas/2020-09-18/Microsoft.Kusto.json @@ -7,40 +7,61 @@ "clusters": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The name of the Kusto cluster." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Kusto/clusters" - ] - }, "apiVersion": { "type": "string", "enum": [ "2020-09-18" ] }, - "tags": { + "identity": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/Identity" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags." + "description": "Identity for the resource." }, "location": { "type": "string", "description": "The geo-location where the resource lives" }, + "name": { + "type": "string", + "description": "The name of the Kusto cluster." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ClusterProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto cluster properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/clusters_principalAssignments_childResource" + }, + { + "$ref": "#/definitions/clusters_databases_childResource" + }, + { + "$ref": "#/definitions/clusters_attachedDatabaseConfigurations_childResource" + }, + { + "$ref": "#/definitions/clusters_dataConnections_childResource" + } + ] + } + }, "sku": { "oneOf": [ { @@ -50,87 +71,107 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The SKU of the Kusto cluster." + "description": "Azure SKU definition." }, - "zones": { + "tags": { "oneOf": [ { - "type": "array", - "items": { + "type": "object", + "additionalProperties": { "type": "string" - } + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "An array represents the availability zones of the cluster." + "description": "Resource tags." }, - "identity": { + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters" + ] + }, + "zones": { "oneOf": [ { - "$ref": "#/definitions/Identity" + "type": "array", + "items": { + "type": "string" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Identity for the resource." + "description": "An array represents the availability zones of the cluster." + } + }, + "required": [ + "apiVersion", + "location", + "name", + "sku", + "type" + ], + "description": "Microsoft.Kusto/clusters" + }, + "clusters_attachedDatabaseConfigurations": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-18" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the attached database configuration." }, "properties": { "oneOf": [ { - "$ref": "#/definitions/ClusterProperties" + "$ref": "#/definitions/AttachedDatabaseConfigurationProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Class representing the an attached database configuration properties of kind specific." }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/resourceDefinitions/clusters_databases" - }, - { - "$ref": "#/resourceDefinitions/clusters_attacheddatabaseconfigurations" - }, - { - "$ref": "#/resourceDefinitions/clusters_principalassignments" - } - ] - } + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/attachedDatabaseConfigurations" + ] } }, "required": [ - "name", - "type", "apiVersion", - "location", - "sku" + "name", + "properties", + "type" ], - "description": "Microsoft.Kusto/clusters" + "description": "Microsoft.Kusto/clusters/attachedDatabaseConfigurations" }, "clusters_databases": { "type": "object", "oneOf": [ { "$ref": "#/definitions/ReadWriteDatabase" + }, + { + "$ref": "#/definitions/ReadOnlyFollowingDatabase" } ], "properties": { - "name": { - "type": "string", - "description": "The name of the database in the Kusto cluster." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Kusto/clusters/databases" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -141,168 +182,131 @@ "type": "string", "description": "Resource location." }, + "name": { + "type": "string", + "description": "The name of the database in the Kusto cluster." + }, "resources": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/resourceDefinitions/clusters_databases_dataconnections" + "$ref": "#/definitions/clusters_databases_principalAssignments_childResource" }, { - "$ref": "#/resourceDefinitions/clusters_databases_principalassignments" + "$ref": "#/definitions/clusters_databases_dataConnections_childResource" } ] } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "type" ], "description": "Microsoft.Kusto/clusters/databases" }, - "clusters_dataconnections": { + "clusters_databases_dataConnections": { "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The data connection name" + "oneOf": [ + { + "$ref": "#/definitions/EventHubDataConnection" }, - "type": { - "enum": [ - "Microsoft.Kusto/clusters/dataConnections" - ] + { + "$ref": "#/definitions/IotHubDataConnection" }, + { + "$ref": "#/definitions/EventGridDataConnection" + } + ], + "properties": { "apiVersion": { "type": "string", "enum": [ "2020-09-18" ] }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/GenevaDataConnection" - }, - { - "$ref": "#/definitions/GenevaLegacyDataConnection" - } - ], - "description": "Properties supplied to the data connection create or update Kusto operation." - } - }, - "required": [ - "name", - "type", - "apiVersion", - "properties" - ], - "description": "Microsoft.Kusto/clusters/dataConnections" - }, - "clusters_databases_dataconnections": { - "type": "object", - "properties": { + "location": { + "type": "string", + "description": "Resource location." + }, "name": { "type": "string", - "description": "The data connection name" + "description": "The name of the data connection." }, "type": { - "enum": [ - "Microsoft.Kusto/clusters/databases/dataConnections" - ] - }, - "apiVersion": { "type": "string", "enum": [ - "2020-09-18" + "Microsoft.Kusto/clusters/databases/dataConnections" ] - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EventHubDataConnection" - }, - { - "$ref": "#/definitions/EventGridDataConnection" - }, - { - "$ref": "#/definitions/IotHubDataConnection" - } - ], - "description": "Properties supplied to the Data Connection Create Or Update Kusto operation." } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "type" ], "description": "Microsoft.Kusto/clusters/databases/dataConnections" }, - "clusters_attacheddatabaseconfigurations": { + "clusters_databases_principalAssignments": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The name of the attached database configurations." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Kusto/clusters/AttachedDatabaseConfigurations" - ] - }, "apiVersion": { "type": "string", "enum": [ "2020-09-18" ] }, - "location": { + "name": { "type": "string", - "description": "Resource location." + "description": "The name of the Kusto principalAssignment." }, "properties": { "oneOf": [ { - "$ref": "#/definitions/AttachedDatabaseConfigurationsProperties" + "$ref": "#/definitions/DatabasePrincipalProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ], + "description": "A class representing database principal property." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases/principalAssignments" ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], - "description": "Class representing an attached database configurations." + "description": "Microsoft.Kusto/clusters/databases/principalAssignments" }, - "clusters_principalassignments": { + "clusters_principalAssignments": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The name of the cluster principal assignment" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Kusto/clusters/principalAssignments" - ] - }, "apiVersion": { "type": "string", "enum": [ "2020-09-18" ] }, + "name": { + "type": "string", + "description": "The name of the Kusto principalAssignment." + }, "properties": { "oneOf": [ { @@ -311,28 +315,42 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ], + "description": "A class representing cluster principal property." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/principalAssignments" ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], - "description": "Class representing a cluster principal assignment." + "description": "Microsoft.Kusto/clusters/principalAssignments" }, - "clusters_databases_principalassignments": { + "clusters_dataConnections": { "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/GenevaDataConnection" + }, + { + "$ref": "#/definitions/GenevaLegacyDataConnection" + } + ], "properties": { "name": { "type": "string", - "description": "The name of the database principal assignment" + "description": "The data connection name" }, "type": { - "type": "string", "enum": [ - "Microsoft.Kusto/clusters/databases/principalAssignments" + "Microsoft.Kusto/clusters/dataconnections" ] }, "apiVersion": { @@ -340,31 +358,85 @@ "enum": [ "2020-09-18" ] - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/DatabasePrincipalProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "properties", + "type" ], - "description": "Class representing a database principal assignment." + "description": "Microsoft.Kusto/clusters/dataConnections" } }, "definitions": { + "AttachedDatabaseConfigurationProperties": { + "type": "object", + "properties": { + "clusterResourceId": { + "type": "string", + "description": "The resource id of the cluster where the databases you would like to attach reside." + }, + "databaseName": { + "type": "string", + "description": "The name of the database which you would like to attach, use * if you want to follow all current and future databases." + }, + "defaultPrincipalsModificationKind": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Union", + "Replace", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The default principals modification kind." + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Running", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Moving" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The provisioned state of the resource." + } + }, + "required": [ + "clusterResourceId", + "databaseName", + "defaultPrincipalsModificationKind" + ], + "description": "Class representing the an attached database configuration properties of kind specific." + }, "AzureSku": { "type": "object", "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of instances of the cluster." + }, "name": { "oneOf": [ { @@ -392,41 +464,22 @@ "Standard_E16as_v4+3TB_PS", "Standard_E16as_v4+4TB_PS", "Dev(No SLA)_Standard_E2a_v4" - ], - "x-ms-enum": { - "name": "AzureSkuName", - "modelAsString": true - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "SKU name. Possible values include: 'Standard_DS13_v2+1TB_PS', 'Standard_DS13_v2+2TB_PS', 'Standard_DS14_v2+3TB_PS', 'Standard_DS14_v2+4TB_PS', 'Standard_D13_v2', 'Standard_D14_v2', 'Standard_L8s', 'Standard_L16s', 'Standard_D11_v2', 'Standard_D12_v2', 'Standard_L4s', 'Dev(No SLA)_Standard_D11_v2', 'Standard_E2a_v4', 'Standard_E4a_v4', 'Standard_E8a_v4', 'Standard_E16a_v4', 'Standard_E8as_v4+1TB_PS', 'Standard_E8as_v4+2TB_PS', 'Standard_E16as_v4+3TB_PS', 'Standard_E16as_v4+4TB_PS', 'Dev(No SLA)_Standard_E2a_v4'" - }, - "capacity": { - "oneOf": [ - { - "type": "integer" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The number of instances of the cluster." + "description": "SKU name." }, "tier": { "oneOf": [ { "type": "string", "enum": [ - "Standard", - "Basic" - ], - "x-ms-enum": { - "name": "AzureSkuTier", - "modelAsString": true - } + "Basic", + "Standard" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -441,518 +494,1212 @@ ], "description": "Azure SKU definition." }, - "ClusterProperties": { + "ClusterPrincipalProperties": { "type": "object", - "properties": { - "trustedExternalTenants": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/TrustedExternalTenant" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The cluster's external tenants." - }, - "optimizedAutoscale": { - "oneOf": [ - { - "$ref": "#/definitions/OptimizedAutoscale" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A class that contains the optimized auto scale definition." - }, - "enableDiskEncryption": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A boolean value that indicates if the cluster's disks are encrypted." - }, - "enableStreamingIngest": { - "oneOf": [ - { - "type": "boolean", - "default": false - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A boolean value that indicates if the streaming ingest is enabled." - }, - "virtualNetworkConfiguration": { - "oneOf": [ - { - "$ref": "#/definitions/VirtualNetworkConfiguration" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A class that contains virtual network definition." - }, - "keyVaultProperties": { - "oneOf": [ - { - "$ref": "#/definitions/KeyVaultProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "KeyVault properties for the cluster encryption." - }, - "enablePurge": { - "oneOf": [ - { - "type": "boolean", - "default": false - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A boolean value that indicates if the purge operations are enabled." + "properties": { + "principalId": { + "type": "string", + "description": "The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name." + }, + "principalType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "App", + "Group", + "User" + ] }, - "enableDoubleEncryption": { - "oneOf": [ - { - "type": "boolean", - "default": false - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates whether or not Double-Encryption is enabled on storage account." + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Principal type." + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Running", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Moving" + ] }, - "engineType": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A string value that indicates the Azure Data Explorer engine type." + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - } - }, - "ReadWriteDatabaseProperties": { - "type": "object", - "properties": { - "softDeletePeriod": { - "type": "string", - "format": "duration", - "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan." + ], + "description": "The provisioned state of the resource." }, - "hotCachePeriod": { - "type": "string", - "format": "duration", - "description": "The time the data should be kept in cache for fast queries in TimeSpan." - } - } - }, - "ReadWriteDatabase": { - "type": "object", - "properties": { - "properties": { + "role": { "oneOf": [ { - "$ref": "#/definitions/ReadWriteDatabaseProperties" + "type": "string", + "enum": [ + "AllDatabasesAdmin", + "AllDatabasesViewer" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Read write database properties" + "description": "Cluster principal role." }, - "kind": { + "tenantId": { "type": "string", - "enum": [ - "ReadWrite" - ], - "description": "Kind of the database" + "description": "The tenant id of the principal" } }, "required": [ - "kind", - "properties" + "principalId", + "principalType", + "role" ], - "description": "Information about the readWrite database" + "description": "A class representing cluster principal property." }, - "AttachedDatabaseConfigurationsProperties": { + "ClusterProperties": { "type": "object", "properties": { - "databaseName": { - "type": "string", - "description": "The name of the database which you would like to attach, use * if you want to follow all current and future databases." + "enableDiskEncryption": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A boolean value that indicates if the cluster's disks are encrypted." }, - "clusterResourceId": { - "type": "string", - "description": "The resource id of the cluster where the databases you would like to attach reside." + "enableDoubleEncryption": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A boolean value that indicates if double encryption is enabled." }, - "defaultPrincipalsModificationKind": { - "type": "string", - "enum": [ - "Union", - "Replace", - "None" + "enablePurge": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ], - "description": "The default principals modification kind" - } - } - }, - "EventGridDataConnectionProperties": { - "type": "object", - "properties": { - "storageAccountResourceId": { - "type": "string", - "description": "The resource ID of the storage account where the data resides." + "description": "A boolean value that indicates if the purge operations are enabled." }, - "eventHubResourceId": { - "type": "string", - "description": "The resource ID where the event grid is configured to send events." + "enableStreamingIngest": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A boolean value that indicates if the streaming ingest is enabled." }, - "consumerGroup": { - "type": "string", - "description": "The event hub consumer group." + "engineType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "V2", + "V3" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The engine type." }, - "tableName": { - "type": "string", - "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + "keyVaultProperties": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the key vault." }, - "mappingRuleName": { - "type": "string", - "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + "optimizedAutoscale": { + "oneOf": [ + { + "$ref": "#/definitions/OptimizedAutoscale" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A class that contains the optimized auto scale definition." }, - "dataFormat": { + "provisioningState": { "oneOf": [ { - "$ref": "#/definitions/DataFormat" + "type": "string", + "enum": [ + "Running", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Moving" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The data format of the message. Optionally the data format can be added to each message." + "description": "The provisioned state of the resource." }, - "ignoreFirstRecord": { - "type": "boolean", - "description": "A Boolean value that, if set to true, indicates that ingestion should ignore the first record of every file." + "trustedExternalTenants": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TrustedExternalTenant" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The cluster's external tenants." }, - "blobStorageEventType": { + "virtualNetworkConfiguration": { "oneOf": [ { - "$ref": "#/definitions/BlobStorageEventType" + "$ref": "#/definitions/VirtualNetworkConfiguration" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The name of blob storage event type to process." + "description": "A class that contains virtual network definition." } }, - "required": [ - "storageAccountResourceId", - "eventHubResourceId", - "consumerGroup" - ], - "description": "Class representing the Kusto event grid connection properties." + "description": "Class representing the Kusto cluster properties." }, - "DatabasePrincipalProperties": { + "clusters_attachedDatabaseConfigurations_childResource": { "type": "object", "properties": { - "principalId": { - "description": "The principal ID assigned to the database principal. It can be a user email, application ID, or security group name.", - "type": "string" - }, - "role": { - "description": "Database principal role.", + "apiVersion": { "type": "string", "enum": [ - "Admin", - "Ingestor", - "Monitor", - "User", - "UnrestrictedViewers", - "Viewer" + "2020-09-18" ] }, - "tenantId": { + "location": { "type": "string", - "description": "The tenant id of the principal" + "description": "Resource location." }, - "principalType": { - "description": "Principal type.", + "name": { "type": "string", - "enum": [ - "App", - "Group", - "User" - ] - } - }, - "required": [ - "principalId", - "role", - "principalType" + "description": "The name of the attached database configuration." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AttachedDatabaseConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the an attached database configuration properties of kind specific." + }, + "type": { + "type": "string", + "enum": [ + "attachedDatabaseConfigurations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" ], - "description": "A class representing database principal property." + "description": "Microsoft.Kusto/clusters/attachedDatabaseConfigurations" }, - "ClusterPrincipalProperties": { + "clusters_databases_childResource": { "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ReadWriteDatabase" + }, + { + "$ref": "#/definitions/ReadOnlyFollowingDatabase" + } + ], "properties": { - "principalId": { - "description": "The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name.", - "type": "string" + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-18" + ] }, - "role": { - "description": "Cluster principal role.", + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the database in the Kusto cluster." + }, + "type": { "type": "string", "enum": [ - "AllDatabasesAdmin", - "AllDatabasesViewer" + "databases" ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Kusto/clusters/databases" + }, + "clusters_databases_dataConnections_childResource": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/EventHubDataConnection" }, - "tenantId": { + { + "$ref": "#/definitions/IotHubDataConnection" + }, + { + "$ref": "#/definitions/EventGridDataConnection" + } + ], + "properties": { + "apiVersion": { "type": "string", - "description": "The tenant id of the principal" + "enum": [ + "2020-09-18" + ] }, - "principalType": { - "description": "Principal type.", + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the data connection." + }, + "type": { "type": "string", "enum": [ - "App", - "Group", - "User" + "dataConnections" ] } }, "required": [ - "principalId", - "role", - "principalType" + "apiVersion", + "name", + "type" ], - "description": "A class representing cluster principal property." + "description": "Microsoft.Kusto/clusters/databases/dataConnections" }, - "EventGridDataConnection": { + "clusters_databases_principalAssignments_childResource": { "type": "object", "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-18" + ] + }, + "name": { + "type": "string", + "description": "The name of the Kusto principalAssignment." + }, "properties": { "oneOf": [ { - "$ref": "#/definitions/EventGridDataConnectionProperties" + "$ref": "#/definitions/DatabasePrincipalProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Class representing the Kusto event grid connection properties." + "description": "A class representing database principal property." }, - "kind": { + "type": { "type": "string", "enum": [ - "EventGrid" + "principalAssignments" ] } }, "required": [ - "kind" + "apiVersion", + "name", + "properties", + "type" ], - "description": "Class representing an Event Grid data connection." + "description": "Microsoft.Kusto/clusters/databases/principalAssignments" }, - "EventHubDataConnectionProperties": { + "clusters_principalAssignments_childResource": { "type": "object", "properties": { - "eventHubResourceId": { + "apiVersion": { "type": "string", - "description": "The resource ID of the event hub to be used to create a data connection." + "enum": [ + "2020-09-18" + ] + }, + "name": { + "type": "string", + "description": "The name of the Kusto principalAssignment." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ClusterPrincipalProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A class representing cluster principal property." + }, + "type": { + "type": "string", + "enum": [ + "principalAssignments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Kusto/clusters/principalAssignments" + }, + "Componentssgqdofschemasidentitypropertiesuserassignedidentitiesadditionalproperties": { + "type": "object", + "properties": {} + }, + "DatabasePrincipalProperties": { + "type": "object", + "properties": { + "principalId": { + "type": "string", + "description": "The principal ID assigned to the database principal. It can be a user email, application ID, or security group name." + }, + "principalType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "App", + "Group", + "User" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Principal type." + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Running", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Moving" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The provisioned state of the resource." + }, + "role": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Admin", + "Ingestor", + "Monitor", + "User", + "UnrestrictedViewers", + "Viewer" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Database principal role." + }, + "tenantId": { + "type": "string", + "description": "The tenant id of the principal" + } + }, + "required": [ + "principalId", + "principalType", + "role" + ], + "description": "A class representing database principal property." + }, + "DatabaseStatistics": { + "type": "object", + "properties": { + "size": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The database size - the total size of compressed data and index in bytes." + } + }, + "description": "A class that contains database statistics information." + }, + "EventGridConnectionProperties": { + "type": "object", + "properties": { + "blobStorageEventType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Microsoft.Storage.BlobCreated", + "Microsoft.Storage.BlobRenamed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of blob storage event type to process." }, "consumerGroup": { "type": "string", "description": "The event hub consumer group." }, - "tableName": { + "dataFormat": { + "oneOf": [ + { + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE", + "PARQUET", + "ORC", + "APACHEAVRO", + "W3CLOGFILE" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "eventHubResourceId": { "type": "string", - "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + "description": "The resource ID where the event grid is configured to send events." + }, + "ignoreFirstRecord": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A Boolean value that, if set to true, indicates that ingestion should ignore the first record of every file" }, "mappingRuleName": { "type": "string", - "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Running", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Moving" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The provisioned state of the resource." + }, + "storageAccountResourceId": { + "type": "string", + "description": "The resource ID of the storage account where the data resides." + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + } + }, + "required": [ + "consumerGroup", + "eventHubResourceId", + "storageAccountResourceId" + ], + "description": "Class representing the Kusto event grid connection properties." + }, + "EventGridDataConnection": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "EventGrid" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EventGridConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto event grid connection properties." + } + }, + "required": [ + "kind" + ], + "description": "Class representing an Event Grid data connection." + }, + "EventHubConnectionProperties": { + "type": "object", + "properties": { + "compression": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "GZip" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The event hub messages compression type." + }, + "consumerGroup": { + "type": "string", + "description": "The event hub consumer group." + }, + "dataFormat": { + "oneOf": [ + { + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE", + "PARQUET", + "ORC", + "APACHEAVRO", + "W3CLOGFILE" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "eventHubResourceId": { + "type": "string", + "description": "The resource ID of the event hub to be used to create a data connection." + }, + "eventSystemProperties": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "System properties of the event hub" + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Running", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Moving" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The provisioned state of the resource." + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + } + }, + "required": [ + "consumerGroup", + "eventHubResourceId" + ], + "description": "Class representing the Kusto event hub connection properties." + }, + "EventHubDataConnection": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "EventHub" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EventHubConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto event hub connection properties." + } + }, + "required": [ + "kind" + ], + "description": "Class representing an event hub data connection." + }, + "Identity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove all identities." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Componentssgqdofschemasidentitypropertiesuserassignedidentitiesadditionalproperties" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of user identities associated with the Kusto cluster. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "required": [ + "type" + ], + "description": "Identity for the resource." + }, + "IotHubConnectionProperties": { + "type": "object", + "properties": { + "consumerGroup": { + "type": "string", + "description": "The iot hub consumer group." + }, + "dataFormat": { + "oneOf": [ + { + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE", + "PARQUET", + "ORC", + "APACHEAVRO", + "W3CLOGFILE" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "eventSystemProperties": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "System properties of the iot hub" + }, + "iotHubResourceId": { + "type": "string", + "description": "The resource ID of the Iot hub to be used to create a data connection." + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Running", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Moving" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The provisioned state of the resource." + }, + "sharedAccessPolicyName": { + "type": "string", + "description": "The name of the share access policy" + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + } + }, + "required": [ + "consumerGroup", + "iotHubResourceId", + "sharedAccessPolicyName" + ], + "description": "Class representing the Kusto Iot hub connection properties." + }, + "IotHubDataConnection": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "IotHub" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/IotHubConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto Iot hub connection properties." + } + }, + "required": [ + "kind" + ], + "description": "Class representing an iot hub data connection." + }, + "KeyVaultProperties": { + "type": "object", + "properties": { + "keyName": { + "type": "string", + "description": "The name of the key vault key." + }, + "keyVaultUri": { + "type": "string", + "description": "The Uri of the key vault." + }, + "keyVersion": { + "type": "string", + "description": "The version of the key vault key." + }, + "userIdentity": { + "type": "string", + "description": "The user assigned identity (ARM resource id) that has access to the key." + } + }, + "required": [ + "keyName", + "keyVaultUri" + ], + "description": "Properties of the key vault." + }, + "OptimizedAutoscale": { + "type": "object", + "properties": { + "isEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A boolean value that indicate if the optimized autoscale feature is enabled or not." + }, + "maximum": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum allowed instances count." + }, + "minimum": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimum allowed instances count." + }, + "version": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The version of the template defined, for instance 1." + } + }, + "required": [ + "isEnabled", + "maximum", + "minimum", + "version" + ], + "description": "A class that contains the optimized auto scale definition." + }, + "ReadOnlyFollowingDatabase": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "ReadOnlyFollowing" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ReadOnlyFollowingDatabaseProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto database properties." + } + }, + "required": [ + "kind" + ], + "description": "Class representing a read only following database." + }, + "ReadOnlyFollowingDatabaseProperties": { + "type": "object", + "properties": { + "hotCachePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept in cache for fast queries in TimeSpan." }, - "dataFormat": { + "provisioningState": { "oneOf": [ { - "$ref": "#/definitions/DataFormat" + "type": "string", + "enum": [ + "Running", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Moving" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The data format of the message. Optionally the data format can be added to each message." + "description": "The provisioned state of the resource." }, - "eventSystemProperties": { + "statistics": { "oneOf": [ { - "$ref": "#/definitions/EventSystemProperties" + "$ref": "#/definitions/DatabaseStatistics" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "System properties of the event hub" + "description": "A class that contains database statistics information." } }, - "required": [ - "eventHubResourceId", - "consumerGroup" - ], - "description": "Class representing the Kusto event hub connection properties." + "description": "Class representing the Kusto database properties." }, - "EventHubDataConnection": { + "ReadWriteDatabase": { "type": "object", "properties": { + "kind": { + "type": "string", + "enum": [ + "ReadWrite" + ] + }, "properties": { "oneOf": [ { - "$ref": "#/definitions/EventHubDataConnectionProperties" + "$ref": "#/definitions/ReadWriteDatabaseProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Event hub data connection properties" - }, - "kind": { - "type": "string", - "enum": [ - "EventHub" - ] + "description": "Class representing the Kusto database properties." } }, "required": [ "kind" ], - "description": "Information about the event hub data connection" + "description": "Class representing a read write database." }, - "Identity": { + "ReadWriteDatabaseProperties": { "type": "object", "properties": { - "type": { + "hotCachePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept in cache for fast queries in TimeSpan." + }, + "provisioningState": { "oneOf": [ { "type": "string", "enum": [ - "None", - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned" + "Running", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Moving" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove all identities." - } - }, - "required": [ - "type" - ], - "description": "Identity for the resource." - }, - "IotHubDataConnectionProperties": { - "type": "object", - "properties": { - "iotHubResourceId": { - "type": "string", - "description": "The resource ID of the iot hub to be used to create a data connection." - }, - "consumerGroup": { - "type": "string", - "description": "The iot hub consumer group." - }, - "tableName": { - "type": "string", - "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + "description": "The provisioned state of the resource." }, - "mappingRuleName": { + "softDeletePeriod": { "type": "string", - "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + "format": "duration", + "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan." }, - "dataFormat": { + "statistics": { "oneOf": [ { - "$ref": "#/definitions/DataFormat" + "$ref": "#/definitions/DatabaseStatistics" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The data format of the message. Optionally the data format can be added to each message." + "description": "A class that contains database statistics information." + } + }, + "description": "Class representing the Kusto database properties." + }, + "TrustedExternalTenant": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "GUID representing an external tenant." + } + }, + "description": "Represents a tenant ID that is trusted by the cluster." + }, + "VirtualNetworkConfiguration": { + "type": "object", + "properties": { + "dataManagementPublicIpId": { + "type": "string", + "description": "Data management's service public IP address resource id." }, - "eventSystemProperties": { - "oneOf": [ - { - "$ref": "#/definitions/EventSystemProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The iot hub system properties." + "enginePublicIpId": { + "type": "string", + "description": "Engine service's public IP address resource id." }, - "sharedAccessPolicyName": { + "subnetId": { "type": "string", - "description": "The name of the shared access policy." + "description": "The subnet resource id." } }, "required": [ - "iotHubResourceId", - "consumerGroup", - "sharedAccessPolicyName" + "dataManagementPublicIpId", + "enginePublicIpId", + "subnetId" ], - "description": "Class representing the Kusto Iot hub connection properties." + "description": "A class that contains virtual network definition." }, - "IotHubDataConnection": { + "clusters_dataConnections_childResource": { "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/GenevaDataConnection" + }, + { + "$ref": "#/definitions/GenevaLegacyDataConnection" + } + ], "properties": { - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/IotHubDataConnectionProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Iot hub data connection properties" + "name": { + "type": "string", + "description": "The data connection name" }, - "kind": { + "type": { + "enum": [ + "Microsoft.Kusto/clusters/dataconnections" + ] + }, + "apiVersion": { "type": "string", "enum": [ - "IotHub" + "2020-09-18" ] } }, "required": [ - "kind" + "apiVersion", + "properties", + "type" ], - "description": "Information about the Iot hub data connection" + "description": "Microsoft.Kusto/clusters/dataConnections" }, "GenevaDataConnectionProperties": { "type": "object", @@ -1001,11 +1748,11 @@ "description": "The Geneva environment of the geneva data connection." }, "mdsAccounts": { - "type:": "array", + "type": "array", "description": "The list of mds accounts of the geneva data connection." }, "isScrubbed": { - "type:": "boolean", + "type": "boolean", "description": "Indicates whether the data is scrubbed." } }, @@ -1028,7 +1775,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Geneva legacy data connection properties" + "description": "Geneva legacy data connection properties." }, "kind": { "type": "string", @@ -1040,171 +1787,7 @@ "required": [ "kind" ], - "description": "Information about the Geneva (GDS) data connection" - }, - "KeyVaultProperties": { - "type": "object", - "properties": { - "keyName": { - "type": "string", - "description": "The name of the key vault key.", - "x-ms-client-name": "KeyName" - }, - "keyVersion": { - "type": "string", - "description": "The version of the key vault key.", - "x-ms-client-name": "KeyVersion" - }, - "keyVaultUri": { - "type": "string", - "description": "The Uri of the key vault.", - "x-ms-client-name": "KeyVaultUri" - }, - "userIdentity": { - "type": "string", - "description": "The user assigned identity (ARM resource id) that has access to the key.", - "x-ms-client-name": "UserIdentity" - } - }, - "required": [ - "keyName", - "keyVaultUri" - ], - "description": "Properties of the key vault." - }, - "OptimizedAutoscale": { - "type": "object", - "properties": { - "version": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The version of the template defined, for instance 1." - }, - "isEnabled": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A boolean value that indicate if the optimized autoscale feature is enabled or not." - }, - "minimum": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Minimum allowed instances count." - }, - "maximum": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Maximum allowed instances count." - } - }, - "required": [ - "version", - "isEnabled", - "minimum", - "maximum" - ], - "description": "A class that contains the optimized auto scale definition." - }, - "TrustedExternalTenant": { - "type": "object", - "properties": { - "value": { - "type": "string", - "description": "GUID representing an external tenant." - } - }, - "description": "Represents a tenant ID that is trusted by the cluster." - }, - "VirtualNetworkConfiguration": { - "type": "object", - "properties": { - "subnetId": { - "type": "string", - "description": "The subnet resource id." - }, - "enginePublicIpId": { - "type": "string", - "description": "Engine service's public IP address resource id." - }, - "dataManagementPublicIpId": { - "type": "string", - "description": "Data management's service public IP address resource id." - } - }, - "required": [ - "subnetId", - "enginePublicIpId", - "dataManagementPublicIpId" - ], - "description": "A class that contains virtual network definition." - }, - "DataFormat": { - "type": "string", - "enum": [ - "MULTIJSON", - "JSON", - "CSV", - "TSV", - "SCSV", - "SOHSV", - "PSV", - "TXT", - "RAW", - "SINGLEJSON", - "AVRO", - "TSVE", - "PARQUET", - "ORC", - "APACHEAVRO", - "W3CLOGFILE" - ], - "description": "The data format of the message. Optionally the data format can be added to each message.", - "x-ms-enum": { - "name": "dataFormat", - "modelAsString": true - } - }, - "EventSystemProperties": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The resource system properties." - }, - "BlobStorageEventType": { - "description": "The name of blob storage event type to process.", - "type": "string", - "enum": [ - "Microsoft.Storage.BlobCreated", - "Microsoft.Storage.BlobRenamed" - ], - "x-ms-enum": { - "name": "blobStorageEventType", - "modelAsString": true - } + "description": "Information about the Geneva legacy data connection." } } -} +} \ No newline at end of file diff --git a/schemas/2021-01-01/Microsoft.Kusto.json b/schemas/2021-01-01/Microsoft.Kusto.json index 057c0967ea..9f04e36638 100644 --- a/schemas/2021-01-01/Microsoft.Kusto.json +++ b/schemas/2021-01-01/Microsoft.Kusto.json @@ -7,40 +7,61 @@ "clusters": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The name of the Kusto cluster." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Kusto/clusters" - ] - }, "apiVersion": { "type": "string", "enum": [ "2021-01-01" ] }, - "tags": { + "identity": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/Identity" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags." + "description": "Identity for the resource." }, "location": { "type": "string", "description": "The geo-location where the resource lives" }, + "name": { + "type": "string", + "description": "The name of the Kusto cluster." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ClusterProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto cluster properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/clusters_principalAssignments_childResource" + }, + { + "$ref": "#/definitions/clusters_databases_childResource" + }, + { + "$ref": "#/definitions/clusters_attachedDatabaseConfigurations_childResource" + }, + { + "$ref": "#/definitions/clusters_dataConnections_childResource" + } + ] + } + }, "sku": { "oneOf": [ { @@ -50,87 +71,107 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The SKU of the Kusto cluster." + "description": "Azure SKU definition." }, - "zones": { + "tags": { "oneOf": [ { - "type": "array", - "items": { + "type": "object", + "additionalProperties": { "type": "string" - } + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "An array represents the availability zones of the cluster." + "description": "Resource tags." }, - "identity": { + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters" + ] + }, + "zones": { "oneOf": [ { - "$ref": "#/definitions/Identity" + "type": "array", + "items": { + "type": "string" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Identity for the resource." + "description": "An array represents the availability zones of the cluster." + } + }, + "required": [ + "apiVersion", + "location", + "name", + "sku", + "type" + ], + "description": "Microsoft.Kusto/clusters" + }, + "clusters_attachedDatabaseConfigurations": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-01-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the attached database configuration." }, "properties": { "oneOf": [ { - "$ref": "#/definitions/ClusterProperties" + "$ref": "#/definitions/AttachedDatabaseConfigurationProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Class representing the an attached database configuration properties of kind specific." }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/resourceDefinitions/clusters_databases" - }, - { - "$ref": "#/resourceDefinitions/clusters_attacheddatabaseconfigurations" - }, - { - "$ref": "#/resourceDefinitions/clusters_principalassignments" - } - ] - } + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/attachedDatabaseConfigurations" + ] } }, "required": [ - "name", - "type", "apiVersion", - "location", - "sku" + "name", + "properties", + "type" ], - "description": "Microsoft.Kusto/clusters" + "description": "Microsoft.Kusto/clusters/attachedDatabaseConfigurations" }, "clusters_databases": { "type": "object", "oneOf": [ { "$ref": "#/definitions/ReadWriteDatabase" + }, + { + "$ref": "#/definitions/ReadOnlyFollowingDatabase" } ], "properties": { - "name": { - "type": "string", - "description": "The name of the database in the Kusto cluster." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Kusto/clusters/databases" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -141,163 +182,217 @@ "type": "string", "description": "Resource location." }, + "name": { + "type": "string", + "description": "The name of the database in the Kusto cluster." + }, "resources": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/resourceDefinitions/clusters_databases_dataconnections" + "$ref": "#/definitions/clusters_databases_principalAssignments_childResource" }, { - "$ref": "#/resourceDefinitions/clusters_databases_principalassignments" + "$ref": "#/definitions/clusters_databases_scripts_childResource" }, { - "$ref": "#/resourceDefinitions/clusters_databases_scripts" + "$ref": "#/definitions/clusters_databases_dataConnections_childResource" } ] } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "type" ], "description": "Microsoft.Kusto/clusters/databases" }, - "clusters_dataconnections": { + "clusters_databases_dataConnections": { "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/EventHubDataConnection" + }, + { + "$ref": "#/definitions/IotHubDataConnection" + }, + { + "$ref": "#/definitions/EventGridDataConnection" + } + ], "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-01-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, "name": { "type": "string", - "description": "The data connection name" + "description": "The name of the data connection." }, "type": { + "type": "string", "enum": [ - "Microsoft.Kusto/clusters/dataConnections" + "Microsoft.Kusto/clusters/databases/dataConnections" ] - }, + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Kusto/clusters/databases/dataConnections" + }, + "clusters_databases_principalAssignments": { + "type": "object", + "properties": { "apiVersion": { "type": "string", "enum": [ "2021-01-01" ] }, + "name": { + "type": "string", + "description": "The name of the Kusto principalAssignment." + }, "properties": { "oneOf": [ { - "$ref": "#/definitions/GenevaDataConnection" + "$ref": "#/definitions/DatabasePrincipalProperties" }, { - "$ref": "#/definitions/GenevaLegacyDataConnection" + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Properties supplied to the data connection create or update Kusto operation." + "description": "A class representing database principal property." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases/principalAssignments" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], - "description": "Microsoft.Kusto/clusters/dataConnections" + "description": "Microsoft.Kusto/clusters/databases/principalAssignments" }, - "clusters_databases_dataconnections": { + "clusters_databases_scripts": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The data connection name" - }, - "type": { - "enum": [ - "Microsoft.Kusto/clusters/databases/dataConnections" - ] - }, "apiVersion": { "type": "string", "enum": [ "2021-01-01" ] }, + "name": { + "type": "string", + "description": "The name of the Kusto database script." + }, "properties": { "oneOf": [ { - "$ref": "#/definitions/EventHubDataConnection" - }, - { - "$ref": "#/definitions/EventGridDataConnection" + "$ref": "#/definitions/ScriptProperties" }, { - "$ref": "#/definitions/IotHubDataConnection" + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Properties supplied to the Data Connection Create Or Update Kusto operation." + "description": "A class representing database script property." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases/scripts" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], - "description": "Microsoft.Kusto/clusters/databases/dataConnections" + "description": "Microsoft.Kusto/clusters/databases/scripts" }, - "clusters_attacheddatabaseconfigurations": { + "clusters_principalAssignments": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The name of the attached database configurations." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Kusto/clusters/AttachedDatabaseConfigurations" - ] - }, "apiVersion": { "type": "string", "enum": [ "2021-01-01" ] }, - "location": { + "name": { "type": "string", - "description": "Resource location." + "description": "The name of the Kusto principalAssignment." }, "properties": { "oneOf": [ { - "$ref": "#/definitions/AttachedDatabaseConfigurationsProperties" + "$ref": "#/definitions/ClusterPrincipalProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ], + "description": "A class representing cluster principal property." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/principalAssignments" ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], - "description": "Class representing an attached database configurations." + "description": "Microsoft.Kusto/clusters/principalAssignments" }, - "clusters_principalassignments": { + "clusters_dataConnections": { "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/GenevaDataConnection" + }, + { + "$ref": "#/definitions/GenevaLegacyDataConnection" + } + ], "properties": { "name": { "type": "string", - "description": "The name of the cluster principal assignment" + "description": "The data connection name" }, "type": { - "type": "string", "enum": [ - "Microsoft.Kusto/clusters/principalAssignments" + "Microsoft.Kusto/clusters/dataconnections" ] }, "apiVersion": { @@ -305,107 +400,96 @@ "enum": [ "2021-01-01" ] - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ClusterPrincipalProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "properties", + "type" ], - "description": "Class representing a cluster principal assignment." - }, - "clusters_databases_principalassignments": { + "description": "Microsoft.Kusto/clusters/dataConnections" + } + }, + "definitions": { + "AttachedDatabaseConfigurationProperties": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The name of the database principal assignment" - }, - "type": { + "clusterResourceId": { "type": "string", - "enum": [ - "Microsoft.Kusto/clusters/databases/principalAssignments" - ] + "description": "The resource id of the cluster where the databases you would like to attach reside." }, - "apiVersion": { + "databaseName": { "type": "string", - "enum": [ - "2021-01-01" - ] + "description": "The name of the database which you would like to attach, use * if you want to follow all current and future databases." }, - "properties": { + "defaultPrincipalsModificationKind": { "oneOf": [ { - "$ref": "#/definitions/DatabasePrincipalProperties" + "type": "string", + "enum": [ + "Union", + "Replace", + "None" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] - } - }, - "required": [ - "name", - "type", - "apiVersion", - "properties" - ], - "description": "Class representing a database principal assignment." - }, - "clusters_databases_scripts": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The name of the database script" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Kusto/clusters/databases/scripts" - ] + ], + "description": "The default principals modification kind." }, - "apiVersion": { - "type": "string", - "enum": [ - "2021-01-01" - ] + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Running", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Moving" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The provisioned state of the resource." }, - "properties": { + "tableLevelSharingProperties": { "oneOf": [ { - "$ref": "#/definitions/ScriptProperties" + "$ref": "#/definitions/TableLevelSharingProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] + ], + "description": "Tables that will be included and excluded in the follower database" } }, "required": [ - "name", - "type", - "apiVersion", - "properties" + "clusterResourceId", + "databaseName", + "defaultPrincipalsModificationKind" ], - "description": "Class representing a database script." - } - }, - "definitions": { + "description": "Class representing the an attached database configuration properties of kind specific." + }, "AzureSku": { "type": "object", "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of instances of the cluster." + }, "name": { "oneOf": [ { @@ -436,41 +520,22 @@ "Standard_E16as_v4+3TB_PS", "Standard_E16as_v4+4TB_PS", "Dev(No SLA)_Standard_E2a_v4" - ], - "x-ms-enum": { - "name": "AzureSkuName", - "modelAsString": true - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "SKU name. Possible values include: 'Standard_DS13_v2+1TB_PS', 'Standard_DS13_v2+2TB_PS', 'Standard_DS14_v2+3TB_PS', 'Standard_DS14_v2+4TB_PS', 'Standard_D13_v2', 'Standard_D14_v2', 'Standard_L8s', 'Standard_L16s', 'Standard_D11_v2', 'Standard_D12_v2', 'Standard_L4s', 'Dev(No SLA)_Standard_D11_v2', 'Standard_E2a_v4', 'Standard_E4a_v4', 'Standard_E8a_v4', 'Standard_E16a_v4', 'Standard_E8as_v4+1TB_PS', 'Standard_E8as_v4+2TB_PS', 'Standard_E16as_v4+3TB_PS', 'Standard_E16as_v4+4TB_PS', 'Dev(No SLA)_Standard_E2a_v4'" - }, - "capacity": { - "oneOf": [ - { - "type": "integer" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The number of instances of the cluster." + "description": "SKU name." }, "tier": { "oneOf": [ { "type": "string", "enum": [ - "Standard", - "Basic" - ], - "x-ms-enum": { - "name": "AzureSkuTier", - "modelAsString": true - } + "Basic", + "Standard" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -485,608 +550,1399 @@ ], "description": "Azure SKU definition." }, - "ClusterProperties": { - "type": "object", - "properties": { - "trustedExternalTenants": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/TrustedExternalTenant" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The cluster's external tenants." - }, - "optimizedAutoscale": { - "oneOf": [ - { - "$ref": "#/definitions/OptimizedAutoscale" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A class that contains the optimized auto scale definition." - }, - "enableDiskEncryption": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A boolean value that indicates if the cluster's disks are encrypted." - }, - "enableStreamingIngest": { - "oneOf": [ - { - "type": "boolean", - "default": false - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A boolean value that indicates if the streaming ingest is enabled." - }, - "virtualNetworkConfiguration": { - "oneOf": [ - { - "$ref": "#/definitions/VirtualNetworkConfiguration" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A class that contains virtual network definition." - }, - "keyVaultProperties": { - "oneOf": [ - { - "$ref": "#/definitions/KeyVaultProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "KeyVault properties for the cluster encryption." - }, - "enablePurge": { - "oneOf": [ - { - "type": "boolean", - "default": false - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A boolean value that indicates if the purge operations are enabled." - }, - "enableDoubleEncryption": { - "oneOf": [ - { - "type": "boolean", - "default": false - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates whether or not Double-Encryption is enabled on storage account." - }, - "engineType": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A string value that indicates the Azure Data Explorer engine type." - } - } - }, - "ReadWriteDatabaseProperties": { + "ClusterPrincipalProperties": { "type": "object", "properties": { - "softDeletePeriod": { + "principalId": { "type": "string", - "format": "duration", - "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan." + "description": "The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name." }, - "hotCachePeriod": { - "type": "string", - "format": "duration", - "description": "The time the data should be kept in cache for fast queries in TimeSpan." - } - } - }, - "ReadWriteDatabase": { - "type": "object", - "properties": { - "properties": { + "principalType": { "oneOf": [ { - "$ref": "#/definitions/ReadWriteDatabaseProperties" + "type": "string", + "enum": [ + "App", + "Group", + "User" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Read write database properties" + "description": "Principal type." }, - "kind": { - "type": "string", - "enum": [ - "ReadWrite" + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Running", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Moving" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ], - "description": "Kind of the database" + "description": "The provisioned state of the resource." + }, + "role": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AllDatabasesAdmin", + "AllDatabasesViewer" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cluster principal role." + }, + "tenantId": { + "type": "string", + "description": "The tenant id of the principal" } }, "required": [ - "kind", - "properties" + "principalId", + "principalType", + "role" ], - "description": "Information about the readWrite database" + "description": "A class representing cluster principal property." }, - "AttachedDatabaseConfigurationsProperties": { + "ClusterProperties": { "type": "object", "properties": { - "databaseName": { - "type": "string", - "description": "The name of the database which you would like to attach, use * if you want to follow all current and future databases." - }, - "clusterResourceId": { - "type": "string", - "description": "The resource id of the cluster where the databases you would like to attach reside." - }, - "defaultPrincipalsModificationKind": { - "type": "string", - "enum": [ - "Union", - "Replace", - "None" + "enableDiskEncryption": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ], - "description": "The default principals modification kind" + "description": "A boolean value that indicates if the cluster's disks are encrypted." }, - "tableLevelSharingProperties": { + "enableDoubleEncryption": { "oneOf": [ { - "$ref": "#/definitions/TableLevelSharingProperties" + "type": "boolean", + "default": false }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The table level sharing properties." - } - } - }, - "TableLevelSharingProperties": { - "type": "object", - "properties": { - "tablesToInclude": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of tables to include in the follower database" - }, - "tablesToExclude": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of tables to exclude from the follower database" - }, - "externalTablesToInclude": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of external tables to include in the follower database" - }, - "externalTablesToExclude": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of external tables exclude from the follower database" - }, - "materializedViewsToInclude": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of materialized views to include in the follower database" - }, - "materializedViewsToExclude": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of materialized views exclude from the follower database" - } - }, - "description": "The table level sharing properties." - }, - "EventGridDataConnectionProperties": { - "type": "object", - "properties": { - "storageAccountResourceId": { - "type": "string", - "description": "The resource ID of the storage account where the data resides." + "description": "A boolean value that indicates if double encryption is enabled." }, - "eventHubResourceId": { - "type": "string", - "description": "The resource ID where the event grid is configured to send events." - }, - "consumerGroup": { - "type": "string", - "description": "The event hub consumer group." - }, - "tableName": { - "type": "string", - "description": "The table where the data should be ingested. Optionally the table information can be added to each message." - }, - "mappingRuleName": { - "type": "string", - "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." - }, - "dataFormat": { + "enablePurge": { "oneOf": [ { - "$ref": "#/definitions/DataFormat" + "type": "boolean", + "default": false }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The data format of the message. Optionally the data format can be added to each message." + "description": "A boolean value that indicates if the purge operations are enabled." }, - "ignoreFirstRecord": { - "type": "boolean", - "description": "A Boolean value that, if set to true, indicates that ingestion should ignore the first record of every file." + "enableStreamingIngest": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A boolean value that indicates if the streaming ingest is enabled." }, - "blobStorageEventType": { + "engineType": { "oneOf": [ { - "$ref": "#/definitions/BlobStorageEventType" + "type": "string", + "enum": [ + "V2", + "V3" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The name of blob storage event type to process." + "description": "The engine type." + }, + "keyVaultProperties": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the key vault." + }, + "optimizedAutoscale": { + "oneOf": [ + { + "$ref": "#/definitions/OptimizedAutoscale" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A class that contains the optimized auto scale definition." + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Running", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Moving" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The provisioned state of the resource." + }, + "trustedExternalTenants": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TrustedExternalTenant" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The cluster's external tenants." + }, + "virtualNetworkConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A class that contains virtual network definition." } }, - "required": [ - "storageAccountResourceId", - "eventHubResourceId", - "consumerGroup" - ], - "description": "Class representing the Kusto event grid connection properties." + "description": "Class representing the Kusto cluster properties." }, - "DatabasePrincipalProperties": { + "clusters_attachedDatabaseConfigurations_childResource": { "type": "object", "properties": { - "principalId": { - "description": "The principal ID assigned to the database principal. It can be a user email, application ID, or security group name.", - "type": "string" - }, - "role": { - "description": "Database principal role.", + "apiVersion": { "type": "string", "enum": [ - "Admin", - "Ingestor", - "Monitor", - "User", - "UnrestrictedViewers", - "Viewer" + "2021-01-01" ] }, - "tenantId": { + "location": { "type": "string", - "description": "The tenant id of the principal" + "description": "Resource location." }, - "principalType": { - "description": "Principal type.", + "name": { + "type": "string", + "description": "The name of the attached database configuration." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AttachedDatabaseConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the an attached database configuration properties of kind specific." + }, + "type": { "type": "string", "enum": [ - "App", - "Group", - "User" + "attachedDatabaseConfigurations" ] } }, "required": [ - "principalId", - "role", - "principalType" + "apiVersion", + "name", + "properties", + "type" ], - "description": "A class representing database principal property." + "description": "Microsoft.Kusto/clusters/attachedDatabaseConfigurations" }, - "ScriptProperties": { + "clusters_databases_childResource": { "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ReadWriteDatabase" + }, + { + "$ref": "#/definitions/ReadOnlyFollowingDatabase" + } + ], "properties": { - "scriptUrl": { - "description": "The url to the KQL script blob file.", - "type": "string" + "apiVersion": { + "type": "string", + "enum": [ + "2021-01-01" + ] }, - "scriptUrlSasToken": { - "description": "The SaS token that will be used to access the KQL script.", + "location": { "type": "string", - "x-ms-secret": true + "description": "Resource location." }, - "forceUpdateTag": { - "description": "A unique string. If changed the script will be applied again.", - "type": "string" + "name": { + "type": "string", + "description": "The name of the database in the Kusto cluster." }, - "continueOnErrors": { - "description": "Flag that indicates whether to continue if one of the command fails.", - "type": "boolean" + "type": { + "type": "string", + "enum": [ + "databases" + ] } }, "required": [ - "scriptUrl", - "scriptUrlSasToken" + "apiVersion", + "name", + "type" ], - "description": "A class representing database script property." + "description": "Microsoft.Kusto/clusters/databases" }, - "ClusterPrincipalProperties": { + "clusters_databases_dataConnections_childResource": { "type": "object", - "properties": { - "principalId": { - "description": "The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name.", - "type": "string" + "oneOf": [ + { + "$ref": "#/definitions/EventHubDataConnection" }, - "role": { - "description": "Cluster principal role.", + { + "$ref": "#/definitions/IotHubDataConnection" + }, + { + "$ref": "#/definitions/EventGridDataConnection" + } + ], + "properties": { + "apiVersion": { "type": "string", "enum": [ - "AllDatabasesAdmin", - "AllDatabasesViewer" + "2021-01-01" ] }, - "tenantId": { + "location": { "type": "string", - "description": "The tenant id of the principal" + "description": "Resource location." }, - "principalType": { - "description": "Principal type.", + "name": { + "type": "string", + "description": "The name of the data connection." + }, + "type": { "type": "string", "enum": [ - "App", - "Group", - "User" + "dataConnections" ] } }, "required": [ - "principalId", - "role", - "principalType" + "apiVersion", + "name", + "type" ], - "description": "A class representing cluster principal property." + "description": "Microsoft.Kusto/clusters/databases/dataConnections" }, - "EventGridDataConnection": { + "clusters_databases_principalAssignments_childResource": { "type": "object", "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-01-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the Kusto principalAssignment." + }, "properties": { "oneOf": [ { - "$ref": "#/definitions/EventGridDataConnectionProperties" + "$ref": "#/definitions/DatabasePrincipalProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Class representing the Kusto event grid connection properties." + "description": "A class representing database principal property." }, - "kind": { + "type": { "type": "string", "enum": [ - "EventGrid" + "principalAssignments" ] } }, "required": [ - "kind" + "apiVersion", + "name", + "properties", + "type" ], - "description": "Class representing an Event Grid data connection." + "description": "Microsoft.Kusto/clusters/databases/principalAssignments" }, - "EventHubDataConnectionProperties": { + "clusters_databases_scripts_childResource": { "type": "object", "properties": { - "eventHubResourceId": { + "apiVersion": { "type": "string", - "description": "The resource ID of the event hub to be used to create a data connection." + "enum": [ + "2021-01-01" + ] }, - "consumerGroup": { + "name": { "type": "string", - "description": "The event hub consumer group." + "description": "The name of the Kusto database script." }, - "tableName": { + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ScriptProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A class representing database script property." + }, + "type": { "type": "string", - "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + "enum": [ + "scripts" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Kusto/clusters/databases/scripts" + }, + "clusters_principalAssignments_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-01-01" + ] }, - "mappingRuleName": { + "name": { "type": "string", - "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + "description": "The name of the Kusto principalAssignment." }, - "managedIdentityResourceId": { + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ClusterPrincipalProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A class representing cluster principal property." + }, + "type": { "type": "string", - "description": "The resource ID of a managed identity (system or user assigned) to be used to authenticate with event hub." + "enum": [ + "principalAssignments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Kusto/clusters/principalAssignments" + }, + "Componentssgqdofschemasidentitypropertiesuserassignedidentitiesadditionalproperties": { + "type": "object", + "properties": {} + }, + "DatabasePrincipalProperties": { + "type": "object", + "properties": { + "principalId": { + "type": "string", + "description": "The principal ID assigned to the database principal. It can be a user email, application ID, or security group name." }, - "dataFormat": { + "principalType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "App", + "Group", + "User" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Principal type." + }, + "provisioningState": { "oneOf": [ { - "$ref": "#/definitions/DataFormat" + "type": "string", + "enum": [ + "Running", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Moving" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The provisioned state of the resource." + }, + "role": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Admin", + "Ingestor", + "Monitor", + "User", + "UnrestrictedViewer", + "Viewer" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Database principal role." + }, + "tenantId": { + "type": "string", + "description": "The tenant id of the principal" + } + }, + "required": [ + "principalId", + "principalType", + "role" + ], + "description": "A class representing database principal property." + }, + "DatabaseStatistics": { + "type": "object", + "properties": { + "size": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The database size - the total size of compressed data and index in bytes." + } + }, + "description": "A class that contains database statistics information." + }, + "EventGridConnectionProperties": { + "type": "object", + "properties": { + "blobStorageEventType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Microsoft.Storage.BlobCreated", + "Microsoft.Storage.BlobRenamed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of blob storage event type to process." + }, + "consumerGroup": { + "type": "string", + "description": "The event hub consumer group." + }, + "dataFormat": { + "oneOf": [ + { + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE", + "PARQUET", + "ORC", + "APACHEAVRO", + "W3CLOGFILE" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "eventHubResourceId": { + "type": "string", + "description": "The resource ID where the event grid is configured to send events." + }, + "ignoreFirstRecord": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A Boolean value that, if set to true, indicates that ingestion should ignore the first record of every file" + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Running", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Moving" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The provisioned state of the resource." + }, + "storageAccountResourceId": { + "type": "string", + "description": "The resource ID of the storage account where the data resides." + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + } + }, + "required": [ + "consumerGroup", + "eventHubResourceId", + "storageAccountResourceId" + ], + "description": "Class representing the Kusto event grid connection properties." + }, + "EventGridDataConnection": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "EventGrid" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EventGridConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto event grid connection properties." + } + }, + "required": [ + "kind" + ], + "description": "Class representing an Event Grid data connection." + }, + "EventHubConnectionProperties": { + "type": "object", + "properties": { + "compression": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "GZip" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The event hub messages compression type." + }, + "consumerGroup": { + "type": "string", + "description": "The event hub consumer group." + }, + "dataFormat": { + "oneOf": [ + { + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE", + "PARQUET", + "ORC", + "APACHEAVRO", + "W3CLOGFILE" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "eventHubResourceId": { + "type": "string", + "description": "The resource ID of the event hub to be used to create a data connection." + }, + "eventSystemProperties": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "System properties of the event hub" + }, + "managedIdentityResourceId": { + "type": "string", + "description": "The resource ID of a managed identity (system or user assigned) to be used to authenticate with event hub." + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Running", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Moving" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The provisioned state of the resource." + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + } + }, + "required": [ + "consumerGroup", + "eventHubResourceId" + ], + "description": "Class representing the Kusto event hub connection properties." + }, + "EventHubDataConnection": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "EventHub" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EventHubConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto event hub connection properties." + } + }, + "required": [ + "kind" + ], + "description": "Class representing an event hub data connection." + }, + "Identity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove all identities." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Componentssgqdofschemasidentitypropertiesuserassignedidentitiesadditionalproperties" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of user identities associated with the Kusto cluster. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "required": [ + "type" + ], + "description": "Identity for the resource." + }, + "IotHubConnectionProperties": { + "type": "object", + "properties": { + "consumerGroup": { + "type": "string", + "description": "The iot hub consumer group." + }, + "dataFormat": { + "oneOf": [ + { + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE", + "PARQUET", + "ORC", + "APACHEAVRO", + "W3CLOGFILE" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "eventSystemProperties": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "System properties of the iot hub" + }, + "iotHubResourceId": { + "type": "string", + "description": "The resource ID of the Iot hub to be used to create a data connection." + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Running", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Moving" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The provisioned state of the resource." + }, + "sharedAccessPolicyName": { + "type": "string", + "description": "The name of the share access policy" + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + } + }, + "required": [ + "consumerGroup", + "iotHubResourceId", + "sharedAccessPolicyName" + ], + "description": "Class representing the Kusto Iot hub connection properties." + }, + "IotHubDataConnection": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "IotHub" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/IotHubConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto Iot hub connection properties." + } + }, + "required": [ + "kind" + ], + "description": "Class representing an iot hub data connection." + }, + "KeyVaultProperties": { + "type": "object", + "properties": { + "keyName": { + "type": "string", + "description": "The name of the key vault key." + }, + "keyVaultUri": { + "type": "string", + "description": "The Uri of the key vault." + }, + "keyVersion": { + "type": "string", + "description": "The version of the key vault key." + }, + "userIdentity": { + "type": "string", + "description": "The user assigned identity (ARM resource id) that has access to the key." + } + }, + "required": [ + "keyName", + "keyVaultUri" + ], + "description": "Properties of the key vault." + }, + "OptimizedAutoscale": { + "type": "object", + "properties": { + "isEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A boolean value that indicate if the optimized autoscale feature is enabled or not." + }, + "maximum": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum allowed instances count." + }, + "minimum": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimum allowed instances count." + }, + "version": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The version of the template defined, for instance 1." + } + }, + "required": [ + "isEnabled", + "maximum", + "minimum", + "version" + ], + "description": "A class that contains the optimized auto scale definition." + }, + "ReadOnlyFollowingDatabase": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "ReadOnlyFollowing" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ReadOnlyFollowingDatabaseProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto database properties." + } + }, + "required": [ + "kind" + ], + "description": "Class representing a read only following database." + }, + "ReadOnlyFollowingDatabaseProperties": { + "type": "object", + "properties": { + "hotCachePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept in cache for fast queries in TimeSpan." + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Running", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Moving" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The provisioned state of the resource." + }, + "statistics": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseStatistics" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A class that contains database statistics information." + } + }, + "description": "Class representing the Kusto database properties." + }, + "ReadWriteDatabase": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "ReadWrite" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ReadWriteDatabaseProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto database properties." + } + }, + "required": [ + "kind" + ], + "description": "Class representing a read write database." + }, + "ReadWriteDatabaseProperties": { + "type": "object", + "properties": { + "hotCachePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept in cache for fast queries in TimeSpan." + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Running", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Moving" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The provisioned state of the resource." + }, + "softDeletePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan." + }, + "statistics": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseStatistics" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A class that contains database statistics information." + } + }, + "description": "Class representing the Kusto database properties." + }, + "ScriptProperties": { + "type": "object", + "properties": { + "continueOnErrors": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag that indicates whether to continue if one of the command fails." + }, + "forceUpdateTag": { + "type": "string", + "description": "A unique string. If changed the script will be applied again." + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Running", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Moving" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The provisioned state of the resource." + }, + "scriptUrl": { + "type": "string", + "description": "The url to the KQL script blob file." + }, + "scriptUrlSasToken": { + "type": "string", + "description": "The SaS token." + } + }, + "required": [ + "scriptUrl", + "scriptUrlSasToken" + ], + "description": "A class representing database script property." + }, + "TableLevelSharingProperties": { + "type": "object", + "properties": { + "externalTablesToExclude": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of external tables exclude from the follower database" + }, + "externalTablesToInclude": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of external tables to include in the follower database" + }, + "materializedViewsToExclude": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of materialized views exclude from the follower database" + }, + "materializedViewsToInclude": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The data format of the message. Optionally the data format can be added to each message." + "description": "List of materialized views to include in the follower database" }, - "eventSystemProperties": { + "tablesToExclude": { "oneOf": [ { - "$ref": "#/definitions/EventSystemProperties" + "type": "array", + "items": { + "type": "string" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "System properties of the event hub" - } - }, - "required": [ - "eventHubResourceId", - "consumerGroup" - ], - "description": "Class representing the Kusto event hub connection properties." - }, - "EventHubDataConnection": { - "type": "object", - "properties": { - "properties": { + "description": "List of tables to exclude from the follower database" + }, + "tablesToInclude": { "oneOf": [ { - "$ref": "#/definitions/EventHubDataConnectionProperties" + "type": "array", + "items": { + "type": "string" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Event hub data connection properties" - }, - "kind": { - "type": "string", - "enum": [ - "EventHub" - ] + "description": "List of tables to include in the follower database" } }, - "required": [ - "kind" - ], - "description": "Information about the event hub data connection" + "description": "Tables that will be included and excluded in the follower database" }, - "Identity": { + "TrustedExternalTenant": { "type": "object", "properties": { - "type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "None", - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove all identities." + "value": { + "type": "string", + "description": "GUID representing an external tenant." } }, - "required": [ - "type" - ], - "description": "Identity for the resource." + "description": "Represents a tenant ID that is trusted by the cluster." }, - "IotHubDataConnectionProperties": { + "VirtualNetworkConfiguration": { "type": "object", "properties": { - "iotHubResourceId": { - "type": "string", - "description": "The resource ID of the iot hub to be used to create a data connection." - }, - "consumerGroup": { - "type": "string", - "description": "The iot hub consumer group." - }, - "tableName": { + "dataManagementPublicIpId": { "type": "string", - "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + "description": "Data management's service public IP address resource id." }, - "mappingRuleName": { + "enginePublicIpId": { "type": "string", - "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." - }, - "dataFormat": { - "oneOf": [ - { - "$ref": "#/definitions/DataFormat" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The data format of the message. Optionally the data format can be added to each message." - }, - "eventSystemProperties": { - "oneOf": [ - { - "$ref": "#/definitions/EventSystemProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The iot hub system properties." + "description": "Engine service's public IP address resource id." }, - "sharedAccessPolicyName": { + "subnetId": { "type": "string", - "description": "The name of the shared access policy." + "description": "The subnet resource id." } }, "required": [ - "iotHubResourceId", - "consumerGroup", - "sharedAccessPolicyName" + "dataManagementPublicIpId", + "enginePublicIpId", + "subnetId" ], - "description": "Class representing the Kusto Iot hub connection properties." + "description": "A class that contains virtual network definition." }, - "IotHubDataConnection": { + "clusters_dataConnections_childResource": { "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/GenevaDataConnection" + }, + { + "$ref": "#/definitions/GenevaLegacyDataConnection" + } + ], "properties": { - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/IotHubDataConnectionProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Iot hub data connection properties" + "name": { + "type": "string", + "description": "The data connection name" }, - "kind": { + "type": { + "enum": [ + "Microsoft.Kusto/clusters/dataconnections" + ] + }, + "apiVersion": { "type": "string", "enum": [ - "IotHub" + "2021-01-01" ] } }, "required": [ - "kind" + "apiVersion", + "properties", + "type" ], - "description": "Information about the Iot hub data connection" + "description": "Microsoft.Kusto/clusters/dataConnections" }, "GenevaDataConnectionProperties": { "type": "object", @@ -1135,11 +1991,11 @@ "description": "The Geneva environment of the geneva data connection." }, "mdsAccounts": { - "type:": "array", + "type": "array", "description": "The list of mds accounts of the geneva data connection." }, "isScrubbed": { - "type:": "boolean", + "type": "boolean", "description": "Indicates whether the data is scrubbed." } }, @@ -1162,7 +2018,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Geneva legacy data connection properties" + "description": "Geneva legacy data connection properties." }, "kind": { "type": "string", @@ -1174,171 +2030,7 @@ "required": [ "kind" ], - "description": "Information about the Geneva (GDS) data connection" - }, - "KeyVaultProperties": { - "type": "object", - "properties": { - "keyName": { - "type": "string", - "description": "The name of the key vault key.", - "x-ms-client-name": "KeyName" - }, - "keyVersion": { - "type": "string", - "description": "The version of the key vault key.", - "x-ms-client-name": "KeyVersion" - }, - "keyVaultUri": { - "type": "string", - "description": "The Uri of the key vault.", - "x-ms-client-name": "KeyVaultUri" - }, - "userIdentity": { - "type": "string", - "description": "The user assigned identity (ARM resource id) that has access to the key.", - "x-ms-client-name": "UserIdentity" - } - }, - "required": [ - "keyName", - "keyVaultUri" - ], - "description": "Properties of the key vault." - }, - "OptimizedAutoscale": { - "type": "object", - "properties": { - "version": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The version of the template defined, for instance 1." - }, - "isEnabled": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A boolean value that indicate if the optimized autoscale feature is enabled or not." - }, - "minimum": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Minimum allowed instances count." - }, - "maximum": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Maximum allowed instances count." - } - }, - "required": [ - "version", - "isEnabled", - "minimum", - "maximum" - ], - "description": "A class that contains the optimized auto scale definition." - }, - "TrustedExternalTenant": { - "type": "object", - "properties": { - "value": { - "type": "string", - "description": "GUID representing an external tenant." - } - }, - "description": "Represents a tenant ID that is trusted by the cluster." - }, - "VirtualNetworkConfiguration": { - "type": "object", - "properties": { - "subnetId": { - "type": "string", - "description": "The subnet resource id." - }, - "enginePublicIpId": { - "type": "string", - "description": "Engine service's public IP address resource id." - }, - "dataManagementPublicIpId": { - "type": "string", - "description": "Data management's service public IP address resource id." - } - }, - "required": [ - "subnetId", - "enginePublicIpId", - "dataManagementPublicIpId" - ], - "description": "A class that contains virtual network definition." - }, - "DataFormat": { - "type": "string", - "enum": [ - "MULTIJSON", - "JSON", - "CSV", - "TSV", - "SCSV", - "SOHSV", - "PSV", - "TXT", - "RAW", - "SINGLEJSON", - "AVRO", - "TSVE", - "PARQUET", - "ORC", - "APACHEAVRO", - "W3CLOGFILE" - ], - "description": "The data format of the message. Optionally the data format can be added to each message.", - "x-ms-enum": { - "name": "dataFormat", - "modelAsString": true - } - }, - "EventSystemProperties": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The resource system properties." - }, - "BlobStorageEventType": { - "description": "The name of blob storage event type to process.", - "type": "string", - "enum": [ - "Microsoft.Storage.BlobCreated", - "Microsoft.Storage.BlobRenamed" - ], - "x-ms-enum": { - "name": "blobStorageEventType", - "modelAsString": true - } + "description": "Information about the Geneva legacy data connection." } } -} +} \ No newline at end of file diff --git a/schemas/2021-08-27/Microsoft.Kusto.json b/schemas/2021-08-27/Microsoft.Kusto.json new file mode 100644 index 0000000000..fd98f63e95 --- /dev/null +++ b/schemas/2021-08-27/Microsoft.Kusto.json @@ -0,0 +1,2119 @@ +{ + "id": "https://schema.management.azure.com/schemas/2021-08-27/Microsoft.Kusto.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Kusto", + "description": "Microsoft Kusto Resource Types", + "resourceDefinitions": { + "clusters": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-08-27" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/Identity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "The name of the Kusto cluster." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ClusterProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto cluster properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/clusters_principalAssignments_childResource" + }, + { + "$ref": "#/definitions/clusters_databases_childResource" + }, + { + "$ref": "#/definitions/clusters_attachedDatabaseConfigurations_childResource" + }, + { + "$ref": "#/definitions/clusters_managedPrivateEndpoints_childResource" + }, + { + "$ref": "#/definitions/clusters_privateEndpointConnections_childResource" + }, + { + "$ref": "#/definitions/clusters_dataConnections_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/AzureSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure SKU 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.Kusto/clusters" + ] + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array represents the availability zones of the cluster." + } + }, + "required": [ + "apiVersion", + "location", + "name", + "sku", + "type" + ], + "description": "Microsoft.Kusto/clusters" + }, + "clusters_attachedDatabaseConfigurations": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-08-27" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the attached database configuration." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AttachedDatabaseConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the an attached database configuration properties of kind specific." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/attachedDatabaseConfigurations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Kusto/clusters/attachedDatabaseConfigurations" + }, + "clusters_databases": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ReadWriteDatabase" + }, + { + "$ref": "#/definitions/ReadOnlyFollowingDatabase" + } + ], + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-08-27" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the database in the Kusto cluster." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/clusters_databases_principalAssignments_childResource" + }, + { + "$ref": "#/definitions/clusters_databases_scripts_childResource" + }, + { + "$ref": "#/definitions/clusters_databases_dataConnections_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Kusto/clusters/databases" + }, + "clusters_databases_dataConnections": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/EventHubDataConnection" + }, + { + "$ref": "#/definitions/IotHubDataConnection" + }, + { + "$ref": "#/definitions/EventGridDataConnection" + } + ], + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-08-27" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the data connection." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases/dataConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Kusto/clusters/databases/dataConnections" + }, + "clusters_databases_principalAssignments": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-08-27" + ] + }, + "name": { + "type": "string", + "description": "The name of the Kusto principalAssignment." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabasePrincipalProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A class representing database principal property." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases/principalAssignments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Kusto/clusters/databases/principalAssignments" + }, + "clusters_databases_scripts": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-08-27" + ] + }, + "name": { + "type": "string", + "description": "The name of the Kusto database script." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ScriptProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A class representing database script property." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases/scripts" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Kusto/clusters/databases/scripts" + }, + "clusters_managedPrivateEndpoints": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-08-27" + ] + }, + "name": { + "type": "string", + "description": "The name of the managed private endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedPrivateEndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A class representing the properties of a managed private endpoint object." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/managedPrivateEndpoints" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Kusto/clusters/managedPrivateEndpoints" + }, + "clusters_principalAssignments": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-08-27" + ] + }, + "name": { + "type": "string", + "description": "The name of the Kusto principalAssignment." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ClusterPrincipalProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A class representing cluster principal property." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/principalAssignments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Kusto/clusters/principalAssignments" + }, + "clusters_privateEndpointConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-08-27" + ] + }, + "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.Kusto/clusters/privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Kusto/clusters/privateEndpointConnections" + }, + "clusters_dataConnections": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/GenevaDataConnection" + }, + { + "$ref": "#/definitions/GenevaLegacyDataConnection" + } + ], + "properties": { + "name": { + "type": "string", + "description": "The data connection name" + }, + "type": { + "enum": [ + "Microsoft.Kusto/clusters/dataconnections" + ] + }, + "apiVersion": { + "type": "string", + "enum": [ + "2021-08-27" + ] + } + }, + "required": [ + "apiVersion", + "properties", + "type" + ], + "description": "Microsoft.Kusto/clusters/dataConnections" + } + }, + "definitions": { + "AcceptedAudiences": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "GUID or valid URL representing an accepted audience." + } + }, + "description": "Represents an accepted audience trusted by the cluster." + }, + "AttachedDatabaseConfigurationProperties": { + "type": "object", + "properties": { + "clusterResourceId": { + "type": "string", + "description": "The resource id of the cluster where the databases you would like to attach reside." + }, + "databaseName": { + "type": "string", + "description": "The name of the database which you would like to attach, use * if you want to follow all current and future databases." + }, + "defaultPrincipalsModificationKind": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Union", + "Replace", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The default principals modification kind." + }, + "tableLevelSharingProperties": { + "oneOf": [ + { + "$ref": "#/definitions/TableLevelSharingProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tables that will be included and excluded in the follower database" + } + }, + "required": [ + "clusterResourceId", + "databaseName", + "defaultPrincipalsModificationKind" + ], + "description": "Class representing the an attached database configuration properties of kind specific." + }, + "AzureSku": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of instances of the cluster." + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_DS13_v2+1TB_PS", + "Standard_DS13_v2+2TB_PS", + "Standard_DS14_v2+3TB_PS", + "Standard_DS14_v2+4TB_PS", + "Standard_D13_v2", + "Standard_D14_v2", + "Standard_L8s", + "Standard_L16s", + "Standard_L8s_v2", + "Standard_L16s_v2", + "Standard_D11_v2", + "Standard_D12_v2", + "Standard_L4s", + "Dev(No SLA)_Standard_D11_v2", + "Standard_E64i_v3", + "Standard_E80ids_v4", + "Standard_E2a_v4", + "Standard_E4a_v4", + "Standard_E8a_v4", + "Standard_E16a_v4", + "Standard_E8as_v4+1TB_PS", + "Standard_E8as_v4+2TB_PS", + "Standard_E16as_v4+3TB_PS", + "Standard_E16as_v4+4TB_PS", + "Dev(No SLA)_Standard_E2a_v4" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU name." + }, + "tier": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Basic", + "Standard" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU tier." + } + }, + "required": [ + "name", + "tier" + ], + "description": "Azure SKU definition." + }, + "ClusterPrincipalProperties": { + "type": "object", + "properties": { + "principalId": { + "type": "string", + "description": "The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name." + }, + "principalType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "App", + "Group", + "User" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Principal type." + }, + "role": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AllDatabasesAdmin", + "AllDatabasesViewer" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cluster principal role." + }, + "tenantId": { + "type": "string", + "description": "The tenant id of the principal" + } + }, + "required": [ + "principalId", + "principalType", + "role" + ], + "description": "A class representing cluster principal property." + }, + "ClusterProperties": { + "type": "object", + "properties": { + "acceptedAudiences": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AcceptedAudiences" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The cluster's accepted audiences." + }, + "allowedFqdnList": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of allowed FQDNs(Fully Qualified Domain Name) for egress from Cluster." + }, + "allowedIpRangeList": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of ips in the format of CIDR allowed to connect to the cluster." + }, + "enableAutoStop": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A boolean value that indicates if the cluster could be automatically stopped (due to lack of data or no activity for many days)." + }, + "enableDiskEncryption": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A boolean value that indicates if the cluster's disks are encrypted." + }, + "enableDoubleEncryption": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A boolean value that indicates if double encryption is enabled." + }, + "enablePurge": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A boolean value that indicates if the purge operations are enabled." + }, + "enableStreamingIngest": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A boolean value that indicates if the streaming ingest is enabled." + }, + "engineType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "V2", + "V3" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The engine type." + }, + "keyVaultProperties": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the key vault." + }, + "optimizedAutoscale": { + "oneOf": [ + { + "$ref": "#/definitions/OptimizedAutoscale" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A class that contains the optimized auto scale definition." + }, + "publicNetworkAccess": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Public network access to the cluster is enabled by default. When disabled, only private endpoint connection to the cluster is allowed." + }, + "restrictOutboundNetworkAccess": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether or not to restrict outbound network access. Value is optional but if passed in, must be 'Enabled' or 'Disabled'." + }, + "trustedExternalTenants": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TrustedExternalTenant" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The cluster's external tenants." + }, + "virtualNetworkConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A class that contains virtual network definition." + } + }, + "description": "Class representing the Kusto cluster properties." + }, + "clusters_attachedDatabaseConfigurations_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-08-27" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the attached database configuration." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AttachedDatabaseConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the an attached database configuration properties of kind specific." + }, + "type": { + "type": "string", + "enum": [ + "attachedDatabaseConfigurations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Kusto/clusters/attachedDatabaseConfigurations" + }, + "clusters_databases_childResource": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ReadWriteDatabase" + }, + { + "$ref": "#/definitions/ReadOnlyFollowingDatabase" + } + ], + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-08-27" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the database in the Kusto cluster." + }, + "type": { + "type": "string", + "enum": [ + "databases" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Kusto/clusters/databases" + }, + "clusters_databases_dataConnections_childResource": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/EventHubDataConnection" + }, + { + "$ref": "#/definitions/IotHubDataConnection" + }, + { + "$ref": "#/definitions/EventGridDataConnection" + } + ], + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-08-27" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "The name of the data connection." + }, + "type": { + "type": "string", + "enum": [ + "dataConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Kusto/clusters/databases/dataConnections" + }, + "clusters_databases_principalAssignments_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-08-27" + ] + }, + "name": { + "type": "string", + "description": "The name of the Kusto principalAssignment." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabasePrincipalProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A class representing database principal property." + }, + "type": { + "type": "string", + "enum": [ + "principalAssignments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Kusto/clusters/databases/principalAssignments" + }, + "clusters_databases_scripts_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-08-27" + ] + }, + "name": { + "type": "string", + "description": "The name of the Kusto database script." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ScriptProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A class representing database script property." + }, + "type": { + "type": "string", + "enum": [ + "scripts" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Kusto/clusters/databases/scripts" + }, + "clusters_managedPrivateEndpoints_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-08-27" + ] + }, + "name": { + "type": "string", + "description": "The name of the managed private endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedPrivateEndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A class representing the properties of a managed private endpoint object." + }, + "type": { + "type": "string", + "enum": [ + "managedPrivateEndpoints" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Kusto/clusters/managedPrivateEndpoints" + }, + "clusters_principalAssignments_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-08-27" + ] + }, + "name": { + "type": "string", + "description": "The name of the Kusto principalAssignment." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ClusterPrincipalProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A class representing cluster principal property." + }, + "type": { + "type": "string", + "enum": [ + "principalAssignments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Kusto/clusters/principalAssignments" + }, + "clusters_privateEndpointConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-08-27" + ] + }, + "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.Kusto/clusters/privateEndpointConnections" + }, + "Componentssgqdofschemasidentitypropertiesuserassignedidentitiesadditionalproperties": { + "type": "object", + "properties": {} + }, + "DatabasePrincipalProperties": { + "type": "object", + "properties": { + "principalId": { + "type": "string", + "description": "The principal ID assigned to the database principal. It can be a user email, application ID, or security group name." + }, + "principalType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "App", + "Group", + "User" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Principal type." + }, + "role": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Admin", + "Ingestor", + "Monitor", + "User", + "UnrestrictedViewer", + "Viewer" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Database principal role." + }, + "tenantId": { + "type": "string", + "description": "The tenant id of the principal" + } + }, + "required": [ + "principalId", + "principalType", + "role" + ], + "description": "A class representing database principal property." + }, + "EventGridConnectionProperties": { + "type": "object", + "properties": { + "blobStorageEventType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Microsoft.Storage.BlobCreated", + "Microsoft.Storage.BlobRenamed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of blob storage event type to process." + }, + "consumerGroup": { + "type": "string", + "description": "The event hub consumer group." + }, + "dataFormat": { + "oneOf": [ + { + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE", + "PARQUET", + "ORC", + "APACHEAVRO", + "W3CLOGFILE" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "eventHubResourceId": { + "type": "string", + "description": "The resource ID where the event grid is configured to send events." + }, + "ignoreFirstRecord": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A Boolean value that, if set to true, indicates that ingestion should ignore the first record of every file" + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "storageAccountResourceId": { + "type": "string", + "description": "The resource ID of the storage account where the data resides." + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + } + }, + "required": [ + "consumerGroup", + "eventHubResourceId", + "storageAccountResourceId" + ], + "description": "Class representing the Kusto event grid connection properties." + }, + "EventGridDataConnection": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "EventGrid" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EventGridConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto event grid connection properties." + } + }, + "required": [ + "kind" + ], + "description": "Class representing an Event Grid data connection." + }, + "EventHubConnectionProperties": { + "type": "object", + "properties": { + "compression": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "GZip" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The event hub messages compression type." + }, + "consumerGroup": { + "type": "string", + "description": "The event hub consumer group." + }, + "dataFormat": { + "oneOf": [ + { + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE", + "PARQUET", + "ORC", + "APACHEAVRO", + "W3CLOGFILE" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "eventHubResourceId": { + "type": "string", + "description": "The resource ID of the event hub to be used to create a data connection." + }, + "eventSystemProperties": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "System properties of the event hub" + }, + "managedIdentityResourceId": { + "type": "string", + "description": "The resource ID of a managed identity (system or user assigned) to be used to authenticate with event hub." + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + } + }, + "required": [ + "consumerGroup", + "eventHubResourceId" + ], + "description": "Class representing the Kusto event hub connection properties." + }, + "EventHubDataConnection": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "EventHub" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EventHubConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto event hub connection properties." + } + }, + "required": [ + "kind" + ], + "description": "Class representing an event hub data connection." + }, + "Identity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove all identities." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Componentssgqdofschemasidentitypropertiesuserassignedidentitiesadditionalproperties" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of user identities associated with the Kusto cluster. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "required": [ + "type" + ], + "description": "Identity for the resource." + }, + "IotHubConnectionProperties": { + "type": "object", + "properties": { + "consumerGroup": { + "type": "string", + "description": "The iot hub consumer group." + }, + "dataFormat": { + "oneOf": [ + { + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE", + "PARQUET", + "ORC", + "APACHEAVRO", + "W3CLOGFILE" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "eventSystemProperties": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "System properties of the iot hub" + }, + "iotHubResourceId": { + "type": "string", + "description": "The resource ID of the Iot hub to be used to create a data connection." + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "sharedAccessPolicyName": { + "type": "string", + "description": "The name of the share access policy" + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + } + }, + "required": [ + "consumerGroup", + "iotHubResourceId", + "sharedAccessPolicyName" + ], + "description": "Class representing the Kusto Iot hub connection properties." + }, + "IotHubDataConnection": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "IotHub" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/IotHubConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto Iot hub connection properties." + } + }, + "required": [ + "kind" + ], + "description": "Class representing an iot hub data connection." + }, + "KeyVaultProperties": { + "type": "object", + "properties": { + "keyName": { + "type": "string", + "description": "The name of the key vault key." + }, + "keyVaultUri": { + "type": "string", + "description": "The Uri of the key vault." + }, + "keyVersion": { + "type": "string", + "description": "The version of the key vault key." + }, + "userIdentity": { + "type": "string", + "description": "The user assigned identity (ARM resource id) that has access to the key." + } + }, + "description": "Properties of the key vault." + }, + "ManagedPrivateEndpointProperties": { + "type": "object", + "properties": { + "groupId": { + "type": "string", + "description": "The groupId in which the managed private endpoint is created." + }, + "privateLinkResourceId": { + "type": "string", + "description": "The ARM resource ID of the resource for which the managed private endpoint is created." + }, + "privateLinkResourceRegion": { + "type": "string", + "description": "The region of the resource to which the managed private endpoint is created." + }, + "requestMessage": { + "type": "string", + "description": "The user request message." + } + }, + "required": [ + "groupId", + "privateLinkResourceId" + ], + "description": "A class representing the properties of a managed private endpoint object." + }, + "OptimizedAutoscale": { + "type": "object", + "properties": { + "isEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A boolean value that indicate if the optimized autoscale feature is enabled or not." + }, + "maximum": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum allowed instances count." + }, + "minimum": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimum allowed instances count." + }, + "version": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The version of the template defined, for instance 1." + } + }, + "required": [ + "isEnabled", + "maximum", + "minimum", + "version" + ], + "description": "A class that contains the optimized auto scale definition." + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkServiceConnectionStateProperty" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Connection State of the Private Endpoint Connection." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "Properties of a private endpoint connection." + }, + "PrivateLinkServiceConnectionStateProperty": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The private link service connection description." + }, + "status": { + "type": "string", + "description": "The private link service connection status." + } + }, + "description": "Connection State of the Private Endpoint Connection." + }, + "ReadOnlyFollowingDatabase": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "ReadOnlyFollowing" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ReadOnlyFollowingDatabaseProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto database properties." + } + }, + "required": [ + "kind" + ], + "description": "Class representing a read only following database." + }, + "ReadOnlyFollowingDatabaseProperties": { + "type": "object", + "properties": { + "hotCachePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept in cache for fast queries in TimeSpan." + } + }, + "description": "Class representing the Kusto database properties." + }, + "ReadWriteDatabase": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "ReadWrite" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ReadWriteDatabaseProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto database properties." + } + }, + "required": [ + "kind" + ], + "description": "Class representing a read write database." + }, + "ReadWriteDatabaseProperties": { + "type": "object", + "properties": { + "hotCachePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept in cache for fast queries in TimeSpan." + }, + "softDeletePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan." + } + }, + "description": "Class representing the Kusto database properties." + }, + "ScriptProperties": { + "type": "object", + "properties": { + "continueOnErrors": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag that indicates whether to continue if one of the command fails." + }, + "forceUpdateTag": { + "type": "string", + "description": "A unique string. If changed the script will be applied again." + }, + "scriptUrl": { + "type": "string", + "description": "The url to the KQL script blob file." + }, + "scriptUrlSasToken": { + "type": "string", + "description": "The SaS token." + } + }, + "required": [ + "scriptUrl", + "scriptUrlSasToken" + ], + "description": "A class representing database script property." + }, + "TableLevelSharingProperties": { + "type": "object", + "properties": { + "externalTablesToExclude": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of external tables exclude from the follower database" + }, + "externalTablesToInclude": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of external tables to include in the follower database" + }, + "materializedViewsToExclude": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of materialized views exclude from the follower database" + }, + "materializedViewsToInclude": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of materialized views to include in the follower database" + }, + "tablesToExclude": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of tables to exclude from the follower database" + }, + "tablesToInclude": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of tables to include in the follower database" + } + }, + "description": "Tables that will be included and excluded in the follower database" + }, + "TrustedExternalTenant": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "GUID representing an external tenant." + } + }, + "description": "Represents a tenant ID that is trusted by the cluster." + }, + "VirtualNetworkConfiguration": { + "type": "object", + "properties": { + "dataManagementPublicIpId": { + "type": "string", + "description": "Data management's service public IP address resource id." + }, + "enginePublicIpId": { + "type": "string", + "description": "Engine service's public IP address resource id." + }, + "subnetId": { + "type": "string", + "description": "The subnet resource id." + } + }, + "required": [ + "dataManagementPublicIpId", + "enginePublicIpId", + "subnetId" + ], + "description": "A class that contains virtual network definition." + }, + "clusters_dataConnections_childResource": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/GenevaDataConnection" + }, + { + "$ref": "#/definitions/GenevaLegacyDataConnection" + } + ], + "properties": { + "name": { + "type": "string", + "description": "The data connection name" + }, + "type": { + "enum": [ + "Microsoft.Kusto/clusters/dataconnections" + ] + }, + "apiVersion": { + "type": "string", + "enum": [ + "2021-08-27" + ] + } + }, + "required": [ + "apiVersion", + "properties", + "type" + ], + "description": "Microsoft.Kusto/clusters/dataConnections" + }, + "GenevaDataConnectionProperties": { + "type": "object", + "properties": { + "genevaEnvironment": { + "type": "string", + "description": "The Geneva environment of the geneva data connection." + } + }, + "required": [ + "genevaEnvironment" + ], + "description": "Class representing the Kusto Geneva (GDS) connection properties." + }, + "GenevaDataConnection": { + "type": "object", + "properties": { + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GenevaDataConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Geneva (DGS) data connection properties" + }, + "kind": { + "type": "string", + "enum": [ + "Geneva" + ] + } + }, + "required": [ + "kind" + ], + "description": "Information about the Geneva (GDS) data connection" + }, + "GenevaLegacyDataConnectionProperties": { + "type": "object", + "properties": { + "genevaEnvironment": { + "type": "string", + "description": "The Geneva environment of the geneva data connection." + }, + "mdsAccounts": { + "type": "array", + "description": "The list of mds accounts of the geneva data connection." + }, + "isScrubbed": { + "type": "boolean", + "description": "Indicates whether the data is scrubbed." + } + }, + "required": [ + "genevaEnvironment", + "mdsAccounts", + "isScrubbed" + ], + "description": "Class representing the Kusto Geneva legacy connection properties." + }, + "GenevaLegacyDataConnection": { + "type": "object", + "properties": { + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GenevaLegacyDataConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Geneva legacy data connection properties." + }, + "kind": { + "type": "string", + "enum": [ + "GenevaLegacy" + ] + } + }, + "required": [ + "kind" + ], + "description": "Information about the Geneva legacy data connection." + } + } +} \ No newline at end of file diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index d15cf35210..3cd1545d54 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -8077,6 +8077,183 @@ { "$ref": "https://schema.management.azure.com/schemas/2021-10-01/Microsoft.Kubernetes.json#/resourceDefinitions/connectedClusters" }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-09-07-preview/Microsoft.Kusto.json#/resourceDefinitions/clusters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-09-07-preview/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-09-07-preview/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_eventhubconnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-01-21/Microsoft.Kusto.json#/resourceDefinitions/clusters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-01-21/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-01-21/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-05-15/Microsoft.Kusto.json#/resourceDefinitions/clusters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-05-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-05-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-09-07/Microsoft.Kusto.json#/resourceDefinitions/clusters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-09-07/Microsoft.Kusto.json#/resourceDefinitions/clusters_attachedDatabaseConfigurations" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-09-07/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-09-07/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters_attachedDatabaseConfigurations" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalAssignments" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalAssignments" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_attachedDatabaseConfigurations" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalAssignments" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalAssignments" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_attachedDatabaseConfigurations" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalAssignments" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalAssignments" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_attachedDatabaseConfigurations" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalAssignments" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalAssignments" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-01-01/Microsoft.Kusto.json#/resourceDefinitions/clusters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-01-01/Microsoft.Kusto.json#/resourceDefinitions/clusters_attachedDatabaseConfigurations" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-01-01/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-01-01/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-01-01/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalAssignments" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-01-01/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_scripts" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-01-01/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-01-01/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalAssignments" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-08-27/Microsoft.Kusto.json#/resourceDefinitions/clusters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-08-27/Microsoft.Kusto.json#/resourceDefinitions/clusters_attachedDatabaseConfigurations" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-08-27/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-08-27/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-08-27/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalAssignments" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-08-27/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_scripts" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-08-27/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-08-27/Microsoft.Kusto.json#/resourceDefinitions/clusters_managedPrivateEndpoints" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-08-27/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalAssignments" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-08-27/Microsoft.Kusto.json#/resourceDefinitions/clusters_privateEndpointConnections" + }, { "$ref": "https://schema.management.azure.com/schemas/2018-10-15/Microsoft.LabServices.json#/resourceDefinitions/labaccounts" }, diff --git a/tests/2018-09-07-preview/Microsoft.Kusto.tests.json b/tests/2018-09-07-preview/Microsoft.Kusto.tests.json index a7d76a86e5..96c2877c92 100644 --- a/tests/2018-09-07-preview/Microsoft.Kusto.tests.json +++ b/tests/2018-09-07-preview/Microsoft.Kusto.tests.json @@ -126,7 +126,7 @@ "resources": [{ "name": "database - Minimal", "definition": "https://schema.management.azure.com/schemas/2018-09-07-preview/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases", - "type": "Microsoft.Kusto/clusters/databases", + "type": "databases", "apiVersion": "2018-09-07-preview", "location": "westus", "properties": { @@ -135,41 +135,6 @@ } }] } - }, - { - "name": "cluster database event hub", - "definition": "https://schema.management.azure.com/schemas/2018-09-07-preview/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections", - "json": { - "type": "Microsoft.Kusto/clusters/databases/dataconnections", - "apiVersion": "2018-09-07-preview", - "name": "eventhubtest1", - "properties": { - "kind": "EventHub", - "properties": { - "eventHubResourceId": "/subscriptions/f80eb51c-c534-4f0b-80ab-aebc290c1c19/resourceGroups/radennisgeneral/providers/Microsoft.EventHub/namespaces/radenniseg/eventhubs/eventhubeg", - "consumerGroup": "$Default" - } - } - } - }, - { - "name": "cluster database event grid", - "definition": "https://schema.management.azure.com/schemas/2018-09-07-preview/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections", - "json": { - "type": "Microsoft.Kusto/clusters/databases/dataconnections", - "apiVersion": "2018-09-07-preview", - "name": "eventgridtest1", - "properties": { - "kind": "EventGrid", - "properties": { - "storageAccountResourceId": "/subscriptions/11d5f159-a21d-4a6c-8053-c3aae30057cf/resourceGroups/radennistodelete/providers/Microsoft.Storage/storageAccounts/radenniseg", - "eventHubResourceId": "/subscriptions/f80eb51c-c534-4f0b-80ab-aebc290c1c19/resourceGroups/radennisgeneral/providers/Microsoft.EventHub/namespaces/radenniseg/eventhubs/eventhubeg", - "consumerGroup": "$Default", - "tableName": "tablename1", - "dataFormat": "CSV" - } - } - } } ] } diff --git a/tests/2019-01-21/Microsoft.Kusto.tests.json b/tests/2019-01-21/Microsoft.Kusto.tests.json index 28bac2a8ca..0e1005d5a3 100644 --- a/tests/2019-01-21/Microsoft.Kusto.tests.json +++ b/tests/2019-01-21/Microsoft.Kusto.tests.json @@ -8,7 +8,7 @@ "type": "Microsoft.Kusto/clusters", "apiVersion": "2019-01-21", "sku": { - "name": "L16", + "name": "Standard_L16s", "tier": "Standard" }, "location": "westus" @@ -29,7 +29,7 @@ "apiVersion": "2019-01-21", "location": "westus", "sku": { - "name": "L16", + "name": "Standard_L16s", "tier": "Standard" } } @@ -49,7 +49,7 @@ "type": "Microsoft.Kusto/clusters", "location": "westus", "sku": { - "name": "L16", + "name": "Standard_L16s", "tier": "Standard" } } @@ -69,7 +69,7 @@ "type": "Microsoft.Kusto/clusters", "apiVersion": "2019-01-21", "sku": { - "name": "L16", + "name": "Standard_L16s", "tier": "Standard" } } @@ -103,7 +103,7 @@ "json": { "type": "Microsoft.Kusto/clusters", "sku": { - "name": "L16", + "name": "Standard_L16s", "tier": "Standard" }, "location": "westus", @@ -119,14 +119,14 @@ "type": "Microsoft.Kusto/clusters", "apiVersion": "2019-01-21", "sku": { - "name": "L16", + "name": "Standard_L16s", "tier": "Standard" }, "location": "westus", "resources": [{ "name": "database - Minimal", "definition": "https://schema.management.azure.com/schemas/2019-01-21/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases", - "type": "Microsoft.Kusto/clusters/databases", + "type": "databases", "apiVersion": "2019-01-21", "location": "westus", "properties": { @@ -138,36 +138,32 @@ }, { "name": "cluster database event hub", - "definition": "https://schema.management.azure.com/schemas/2019-01-21/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections", + "definition": "https://schema.management.azure.com/schemas/2019-01-21/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections", "json": { - "type": "Microsoft.Kusto/clusters/databases/dataconnections", + "type": "Microsoft.Kusto/clusters/databases/dataConnections", "apiVersion": "2019-01-21", "name": "eventhubtest1", + "kind": "EventHub", "properties": { - "kind": "EventHub", - "properties": { - "eventHubResourceId": "/subscriptions/f80eb51c-c534-4f0b-80ab-aebc290c1c19/resourceGroups/radennisgeneral/providers/Microsoft.EventHub/namespaces/radenniseg/eventhubs/eventhubeg", - "consumerGroup": "$Default" - } + "eventHubResourceId": "/subscriptions/f80eb51c-c534-4f0b-80ab-aebc290c1c19/resourceGroups/radennisgeneral/providers/Microsoft.EventHub/namespaces/radenniseg/eventhubs/eventhubeg", + "consumerGroup": "$Default" } } }, { "name": "cluster database event grid", - "definition": "https://schema.management.azure.com/schemas/2019-01-21/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections", + "definition": "https://schema.management.azure.com/schemas/2019-01-21/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections", "json": { - "type": "Microsoft.Kusto/clusters/databases/dataconnections", + "type": "Microsoft.Kusto/clusters/databases/dataConnections", "apiVersion": "2019-01-21", "name": "eventgridtest1", + "kind": "EventGrid", "properties": { - "kind": "EventGrid", - "properties": { - "storageAccountResourceId": "/subscriptions/11d5f159-a21d-4a6c-8053-c3aae30057cf/resourceGroups/radennistodelete/providers/Microsoft.Storage/storageAccounts/radenniseg", - "eventHubResourceId": "/subscriptions/f80eb51c-c534-4f0b-80ab-aebc290c1c19/resourceGroups/radennisgeneral/providers/Microsoft.EventHub/namespaces/radenniseg/eventhubs/eventhubeg", - "consumerGroup": "$Default", - "tableName": "tablename1", - "dataFormat": "CSV" - } + "storageAccountResourceId": "/subscriptions/11d5f159-a21d-4a6c-8053-c3aae30057cf/resourceGroups/radennistodelete/providers/Microsoft.Storage/storageAccounts/radenniseg", + "eventHubResourceId": "/subscriptions/f80eb51c-c534-4f0b-80ab-aebc290c1c19/resourceGroups/radennisgeneral/providers/Microsoft.EventHub/namespaces/radenniseg/eventhubs/eventhubeg", + "consumerGroup": "$Default", + "tableName": "tablename1", + "dataFormat": "CSV" } } } diff --git a/tests/2019-05-15/Microsoft.Kusto.tests.json b/tests/2019-05-15/Microsoft.Kusto.tests.json index 4f0fb27d4a..42f2c839be 100644 --- a/tests/2019-05-15/Microsoft.Kusto.tests.json +++ b/tests/2019-05-15/Microsoft.Kusto.tests.json @@ -8,7 +8,7 @@ "type": "Microsoft.Kusto/clusters", "apiVersion": "2019-05-15", "sku": { - "name": "L16", + "name": "Standard_L16s", "tier": "Standard" }, "location": "westus" @@ -29,7 +29,7 @@ "apiVersion": "2019-05-15", "location": "westus", "sku": { - "name": "L16", + "name": "Standard_L16s", "tier": "Standard" } } @@ -49,7 +49,7 @@ "type": "Microsoft.Kusto/clusters", "location": "westus", "sku": { - "name": "L16", + "name": "Standard_L16s", "tier": "Standard" } } @@ -69,7 +69,7 @@ "type": "Microsoft.Kusto/clusters", "apiVersion": "2019-05-15", "sku": { - "name": "L16", + "name": "Standard_L16s", "tier": "Standard" } } @@ -103,7 +103,7 @@ "json": { "type": "Microsoft.Kusto/clusters", "sku": { - "name": "L16", + "name": "Standard_L16s", "tier": "Standard" }, "location": "westus", @@ -119,14 +119,14 @@ "type": "Microsoft.Kusto/clusters", "apiVersion": "2019-05-15", "sku": { - "name": "L16", + "name": "Standard_L16s", "tier": "Standard" }, "location": "westus", "resources": [{ "name": "database - Minimal", "definition": "https://schema.management.azure.com/schemas/2019-05-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases", - "type": "Microsoft.Kusto/clusters/databases", + "type": "databases", "apiVersion": "2019-05-15", "location": "westus", "properties": { @@ -138,36 +138,32 @@ }, { "name": "cluster database event hub", - "definition": "https://schema.management.azure.com/schemas/2019-05-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections", + "definition": "https://schema.management.azure.com/schemas/2019-05-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections", "json": { - "type": "Microsoft.Kusto/clusters/databases/dataconnections", + "type": "Microsoft.Kusto/clusters/databases/dataConnections", "apiVersion": "2019-05-15", "name": "eventhubtest1", + "kind": "EventHub", "properties": { - "kind": "EventHub", - "properties": { - "eventHubResourceId": "/subscriptions/f80eb51c-c534-4f0b-80ab-aebc290c1c19/resourceGroups/radennisgeneral/providers/Microsoft.EventHub/namespaces/radenniseg/eventhubs/eventhubeg", - "consumerGroup": "$Default" - } + "eventHubResourceId": "/subscriptions/f80eb51c-c534-4f0b-80ab-aebc290c1c19/resourceGroups/radennisgeneral/providers/Microsoft.EventHub/namespaces/radenniseg/eventhubs/eventhubeg", + "consumerGroup": "$Default" } } }, { "name": "cluster database event grid", - "definition": "https://schema.management.azure.com/schemas/2019-05-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections", + "definition": "https://schema.management.azure.com/schemas/2019-05-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections", "json": { - "type": "Microsoft.Kusto/clusters/databases/dataconnections", + "type": "Microsoft.Kusto/clusters/databases/dataConnections", "apiVersion": "2019-05-15", "name": "eventgridtest1", + "kind": "EventGrid", "properties": { - "kind": "EventGrid", - "properties": { - "storageAccountResourceId": "/subscriptions/11d5f159-a21d-4a6c-8053-c3aae30057cf/resourceGroups/radennistodelete/providers/Microsoft.Storage/storageAccounts/radenniseg", - "eventHubResourceId": "/subscriptions/f80eb51c-c534-4f0b-80ab-aebc290c1c19/resourceGroups/radennisgeneral/providers/Microsoft.EventHub/namespaces/radenniseg/eventhubs/eventhubeg", - "consumerGroup": "$Default", - "tableName": "tablename1", - "dataFormat": "CSV" - } + "storageAccountResourceId": "/subscriptions/11d5f159-a21d-4a6c-8053-c3aae30057cf/resourceGroups/radennistodelete/providers/Microsoft.Storage/storageAccounts/radenniseg", + "eventHubResourceId": "/subscriptions/f80eb51c-c534-4f0b-80ab-aebc290c1c19/resourceGroups/radennisgeneral/providers/Microsoft.EventHub/namespaces/radenniseg/eventhubs/eventhubeg", + "consumerGroup": "$Default", + "tableName": "tablename1", + "dataFormat": "CSV" } } } diff --git a/tests/2019-09-07/Microsoft.Kusto.tests.json b/tests/2019-09-07/Microsoft.Kusto.tests.json index 69c6ebf78f..9a53fcf6d1 100644 --- a/tests/2019-09-07/Microsoft.Kusto.tests.json +++ b/tests/2019-09-07/Microsoft.Kusto.tests.json @@ -8,7 +8,7 @@ "type": "Microsoft.Kusto/clusters", "apiVersion": "2019-09-07", "sku": { - "name": "L16", + "name": "Standard_L16s", "tier": "Standard" }, "location": "westus" @@ -28,7 +28,7 @@ "apiVersion": "2019-09-07", "location": "westus", "sku": { - "name": "L16", + "name": "Standard_L16s", "tier": "Standard" } } @@ -47,7 +47,7 @@ "type": "Microsoft.Kusto/clusters", "location": "westus", "sku": { - "name": "L16", + "name": "Standard_L16s", "tier": "Standard" } } @@ -66,7 +66,7 @@ "type": "Microsoft.Kusto/clusters", "apiVersion": "2019-09-07", "sku": { - "name": "L16", + "name": "Standard_L16s", "tier": "Standard" } } @@ -99,7 +99,7 @@ "json": { "type": "Microsoft.Kusto/clusters", "sku": { - "name": "L16", + "name": "Standard_L16s", "tier": "Standard" }, "location": "westus", @@ -114,7 +114,7 @@ "type": "Microsoft.Kusto/clusters", "apiVersion": "2019-09-07", "sku": { - "name": "L16", + "name": "Standard_L16s", "tier": "Standard" }, "location": "westus", @@ -122,7 +122,7 @@ { "name": "database - Minimal", "definition": "https://schema.management.azure.com/schemas/2019-09-07/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases", - "type": "Microsoft.Kusto/clusters/databases", + "type": "databases", "kind": "ReadWrite", "apiVersion": "2019-09-07", "location": "westus", @@ -136,36 +136,32 @@ }, { "name": "cluster database event hub", - "definition": "https://schema.management.azure.com/schemas/2019-09-07/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections", + "definition": "https://schema.management.azure.com/schemas/2019-09-07/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections", "json": { "type": "Microsoft.Kusto/clusters/databases/dataConnections", "apiVersion": "2019-09-07", "name": "eventhubtest1", + "kind": "EventHub", "properties": { - "kind": "EventHub", - "properties": { - "eventHubResourceId": "/subscriptions/f80eb51c-c534-4f0b-80ab-aebc290c1c19/resourceGroups/radennisgeneral/providers/Microsoft.EventHub/namespaces/radenniseg/eventhubs/eventhubeg", - "consumerGroup": "$Default" - } + "eventHubResourceId": "/subscriptions/f80eb51c-c534-4f0b-80ab-aebc290c1c19/resourceGroups/radennisgeneral/providers/Microsoft.EventHub/namespaces/radenniseg/eventhubs/eventhubeg", + "consumerGroup": "$Default" } } }, { "name": "cluster database event grid", - "definition": "https://schema.management.azure.com/schemas/2019-09-07/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections", + "definition": "https://schema.management.azure.com/schemas/2019-09-07/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections", "json": { "type": "Microsoft.Kusto/clusters/databases/dataConnections", "apiVersion": "2019-09-07", "name": "eventgridtest1", + "kind": "EventGrid", "properties": { - "kind": "EventGrid", - "properties": { - "storageAccountResourceId": "/subscriptions/11d5f159-a21d-4a6c-8053-c3aae30057cf/resourceGroups/radennistodelete/providers/Microsoft.Storage/storageAccounts/radenniseg", - "eventHubResourceId": "/subscriptions/f80eb51c-c534-4f0b-80ab-aebc290c1c19/resourceGroups/radennisgeneral/providers/Microsoft.EventHub/namespaces/radenniseg/eventhubs/eventhubeg", - "consumerGroup": "$Default", - "tableName": "tablename1", - "dataFormat": "CSV" - } + "storageAccountResourceId": "/subscriptions/11d5f159-a21d-4a6c-8053-c3aae30057cf/resourceGroups/radennistodelete/providers/Microsoft.Storage/storageAccounts/radenniseg", + "eventHubResourceId": "/subscriptions/f80eb51c-c534-4f0b-80ab-aebc290c1c19/resourceGroups/radennisgeneral/providers/Microsoft.EventHub/namespaces/radenniseg/eventhubs/eventhubeg", + "consumerGroup": "$Default", + "tableName": "tablename1", + "dataFormat": "CSV" } } }, @@ -177,7 +173,7 @@ "type": "Microsoft.Kusto/clusters", "apiVersion": "2019-09-07", "sku": { - "name": "L16", + "name": "Standard_L16s", "tier": "Standard" }, "location": "westus", @@ -204,7 +200,7 @@ "type": "Microsoft.Kusto/clusters", "apiVersion": "2019-09-07", "sku": { - "name": "L16", + "name": "Standard_L16s", "tier": "Standard" }, "location": "westus", @@ -224,15 +220,15 @@ "type": "Microsoft.Kusto/clusters", "apiVersion": "2019-09-07", "sku": { - "name": "L16", + "name": "Standard_L16s", "tier": "Standard" }, "location": "westus", "resources": [ { "name": "adc - Minimal", - "definition": "https://schema.management.azure.com/schemas/2019-09-07/Microsoft.Kusto.json#/resourceDefinitions/clusters_attacheddatabaseconfigurations", - "type": "Microsoft.Kusto/clusters/AttachedDatabaseConfigurations", + "definition": "https://schema.management.azure.com/schemas/2019-09-07/Microsoft.Kusto.json#/resourceDefinitions/clusters_attachedDatabaseConfigurations", + "type": "attachedDatabaseConfigurations", "apiVersion": "2019-09-07", "location": "westus", "properties": { diff --git a/tests/2019-11-09/Microsoft.Kusto.tests.json b/tests/2019-11-09/Microsoft.Kusto.tests.json index 08c37ff730..b6174a5901 100644 --- a/tests/2019-11-09/Microsoft.Kusto.tests.json +++ b/tests/2019-11-09/Microsoft.Kusto.tests.json @@ -8,7 +8,7 @@ "type": "Microsoft.Kusto/clusters", "apiVersion": "2019-11-09", "sku": { - "name": "L16", + "name": "Standard_L16s", "tier": "Standard" }, "location": "westus" @@ -28,7 +28,7 @@ "apiVersion": "2019-11-09", "location": "westus", "sku": { - "name": "L16", + "name": "Standard_L16s", "tier": "Standard" } } @@ -47,7 +47,7 @@ "type": "Microsoft.Kusto/clusters", "location": "westus", "sku": { - "name": "L16", + "name": "Standard_L16s", "tier": "Standard" } } @@ -66,7 +66,7 @@ "type": "Microsoft.Kusto/clusters", "apiVersion": "2019-11-09", "sku": { - "name": "L16", + "name": "Standard_L16s", "tier": "Standard" } } @@ -99,7 +99,7 @@ "json": { "type": "Microsoft.Kusto/clusters", "sku": { - "name": "L16", + "name": "Standard_L16s", "tier": "Standard" }, "location": "westus", @@ -114,7 +114,7 @@ "type": "Microsoft.Kusto/clusters", "apiVersion": "2019-11-09", "sku": { - "name": "L16", + "name": "Standard_L16s", "tier": "Standard" }, "location": "westus", @@ -122,7 +122,7 @@ { "name": "database - Minimal", "definition": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases", - "type": "Microsoft.Kusto/clusters/databases", + "type": "databases", "kind": "ReadWrite", "apiVersion": "2019-11-09", "location": "westus", @@ -136,36 +136,32 @@ }, { "name": "cluster database event hub", - "definition": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections", + "definition": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections", "json": { "type": "Microsoft.Kusto/clusters/databases/dataConnections", "apiVersion": "2019-11-09", "name": "eventhubtest1", + "kind": "EventHub", "properties": { - "kind": "EventHub", - "properties": { - "eventHubResourceId": "/subscriptions/f80eb51c-c534-4f0b-80ab-aebc290c1c19/resourceGroups/radennisgeneral/providers/Microsoft.EventHub/namespaces/radenniseg/eventhubs/eventhubeg", - "consumerGroup": "$Default" - } + "eventHubResourceId": "/subscriptions/f80eb51c-c534-4f0b-80ab-aebc290c1c19/resourceGroups/radennisgeneral/providers/Microsoft.EventHub/namespaces/radenniseg/eventhubs/eventhubeg", + "consumerGroup": "$Default" } } }, { "name": "cluster database event grid", - "definition": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections", + "definition": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections", "json": { "type": "Microsoft.Kusto/clusters/databases/dataConnections", "apiVersion": "2019-11-09", "name": "eventgridtest1", + "kind": "EventGrid", "properties": { - "kind": "EventGrid", - "properties": { - "storageAccountResourceId": "/subscriptions/11d5f159-a21d-4a6c-8053-c3aae30057cf/resourceGroups/radennistodelete/providers/Microsoft.Storage/storageAccounts/radenniseg", - "eventHubResourceId": "/subscriptions/f80eb51c-c534-4f0b-80ab-aebc290c1c19/resourceGroups/radennisgeneral/providers/Microsoft.EventHub/namespaces/radenniseg/eventhubs/eventhubeg", - "consumerGroup": "$Default", - "tableName": "tablename1", - "dataFormat": "CSV" - } + "storageAccountResourceId": "/subscriptions/11d5f159-a21d-4a6c-8053-c3aae30057cf/resourceGroups/radennistodelete/providers/Microsoft.Storage/storageAccounts/radenniseg", + "eventHubResourceId": "/subscriptions/f80eb51c-c534-4f0b-80ab-aebc290c1c19/resourceGroups/radennisgeneral/providers/Microsoft.EventHub/namespaces/radenniseg/eventhubs/eventhubeg", + "consumerGroup": "$Default", + "tableName": "tablename1", + "dataFormat": "CSV" } } }, @@ -177,7 +173,7 @@ "type": "Microsoft.Kusto/clusters", "apiVersion": "2019-11-09", "sku": { - "name": "L16", + "name": "Standard_L16s", "tier": "Standard" }, "location": "westus", @@ -204,7 +200,7 @@ "type": "Microsoft.Kusto/clusters", "apiVersion": "2019-11-09", "sku": { - "name": "L16", + "name": "Standard_L16s", "tier": "Standard" }, "location": "westus", @@ -224,15 +220,15 @@ "type": "Microsoft.Kusto/clusters", "apiVersion": "2019-11-09", "sku": { - "name": "L16", + "name": "Standard_L16s", "tier": "Standard" }, "location": "westus", "resources": [ { "name": "adc - Minimal", - "definition": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters_attacheddatabaseconfigurations", - "type": "Microsoft.Kusto/clusters/AttachedDatabaseConfigurations", + "definition": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters_attachedDatabaseConfigurations", + "type": "attachedDatabaseConfigurations", "apiVersion": "2019-11-09", "location": "westus", "properties": { @@ -246,7 +242,7 @@ }, { "name": "clusters with principal", - "definition": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalassignments", + "definition": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalAssignments", "json": { "type": "Microsoft.Kusto/clusters/principalAssignments", "apiVersion": "2019-11-09", @@ -261,7 +257,7 @@ }, { "name": "databases with principal", - "definition": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalassignments", + "definition": "https://schema.management.azure.com/schemas/2019-11-09/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalAssignments", "json": { "type": "Microsoft.Kusto/clusters/databases/principalAssignments", "apiVersion": "2019-11-09", diff --git a/tests/2020-02-15/Microsoft.Kusto.tests.json b/tests/2020-02-15/Microsoft.Kusto.tests.json index 95a0dbf9b7..cc2119ce17 100644 --- a/tests/2020-02-15/Microsoft.Kusto.tests.json +++ b/tests/2020-02-15/Microsoft.Kusto.tests.json @@ -122,7 +122,7 @@ { "name": "database - Minimal", "definition": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases", - "type": "Microsoft.Kusto/clusters/databases", + "type": "databases", "kind": "ReadWrite", "apiVersion": "2020-02-15", "location": "westus", @@ -136,36 +136,32 @@ }, { "name": "cluster database event hub", - "definition": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections", + "definition": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections", "json": { "type": "Microsoft.Kusto/clusters/databases/dataConnections", "apiVersion": "2020-02-15", "name": "eventhubtest1", + "kind": "EventHub", "properties": { - "kind": "EventHub", - "properties": { - "eventHubResourceId": "/subscriptions/f80eb51c-c534-4f0b-80ab-aebc290c1c19/resourceGroups/radennisgeneral/providers/Microsoft.EventHub/namespaces/radenniseg/eventhubs/eventhubeg", - "consumerGroup": "$Default" - } + "eventHubResourceId": "/subscriptions/f80eb51c-c534-4f0b-80ab-aebc290c1c19/resourceGroups/radennisgeneral/providers/Microsoft.EventHub/namespaces/radenniseg/eventhubs/eventhubeg", + "consumerGroup": "$Default" } } }, { "name": "cluster database event grid", - "definition": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections", + "definition": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections", "json": { "type": "Microsoft.Kusto/clusters/databases/dataConnections", "apiVersion": "2020-02-15", "name": "eventgridtest1", + "kind": "EventGrid", "properties": { - "kind": "EventGrid", - "properties": { - "storageAccountResourceId": "/subscriptions/11d5f159-a21d-4a6c-8053-c3aae30057cf/resourceGroups/radennistodelete/providers/Microsoft.Storage/storageAccounts/radenniseg", - "eventHubResourceId": "/subscriptions/f80eb51c-c534-4f0b-80ab-aebc290c1c19/resourceGroups/radennisgeneral/providers/Microsoft.EventHub/namespaces/radenniseg/eventhubs/eventhubeg", - "consumerGroup": "$Default", - "tableName": "tablename1", - "dataFormat": "CSV" - } + "storageAccountResourceId": "/subscriptions/11d5f159-a21d-4a6c-8053-c3aae30057cf/resourceGroups/radennistodelete/providers/Microsoft.Storage/storageAccounts/radenniseg", + "eventHubResourceId": "/subscriptions/f80eb51c-c534-4f0b-80ab-aebc290c1c19/resourceGroups/radennisgeneral/providers/Microsoft.EventHub/namespaces/radenniseg/eventhubs/eventhubeg", + "consumerGroup": "$Default", + "tableName": "tablename1", + "dataFormat": "CSV" } } }, @@ -231,8 +227,8 @@ "resources": [ { "name": "adc - Minimal", - "definition": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_attacheddatabaseconfigurations", - "type": "Microsoft.Kusto/clusters/AttachedDatabaseConfigurations", + "definition": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_attachedDatabaseConfigurations", + "type": "attachedDatabaseConfigurations", "apiVersion": "2020-02-15", "location": "westus", "properties": { @@ -246,7 +242,7 @@ }, { "name": "clusters with principal", - "definition": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalassignments", + "definition": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalAssignments", "json": { "type": "Microsoft.Kusto/clusters/principalAssignments", "apiVersion": "2020-02-15", @@ -261,7 +257,7 @@ }, { "name": "databases with principal", - "definition": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalassignments", + "definition": "https://schema.management.azure.com/schemas/2020-02-15/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalAssignments", "json": { "type": "Microsoft.Kusto/clusters/databases/principalAssignments", "apiVersion": "2020-02-15", diff --git a/tests/2020-06-14/Microsoft.Kusto.tests.json b/tests/2020-06-14/Microsoft.Kusto.tests.json index fef191cc80..083495c3cc 100644 --- a/tests/2020-06-14/Microsoft.Kusto.tests.json +++ b/tests/2020-06-14/Microsoft.Kusto.tests.json @@ -122,7 +122,7 @@ { "name": "database - Minimal", "definition": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases", - "type": "Microsoft.Kusto/clusters/databases", + "type": "databases", "kind": "ReadWrite", "apiVersion": "2020-06-14", "location": "westus", @@ -136,36 +136,32 @@ }, { "name": "cluster database event hub", - "definition": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections", + "definition": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections", "json": { "type": "Microsoft.Kusto/clusters/databases/dataConnections", "apiVersion": "2020-06-14", "name": "eventhubtest1", + "kind": "EventHub", "properties": { - "kind": "EventHub", - "properties": { - "eventHubResourceId": "/subscriptions/f80eb51c-c534-4f0b-80ab-aebc290c1c19/resourceGroups/radennisgeneral/providers/Microsoft.EventHub/namespaces/radenniseg/eventhubs/eventhubeg", - "consumerGroup": "$Default" - } + "eventHubResourceId": "/subscriptions/f80eb51c-c534-4f0b-80ab-aebc290c1c19/resourceGroups/radennisgeneral/providers/Microsoft.EventHub/namespaces/radenniseg/eventhubs/eventhubeg", + "consumerGroup": "$Default" } } }, { "name": "cluster database event grid", - "definition": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections", + "definition": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections", "json": { "type": "Microsoft.Kusto/clusters/databases/dataConnections", "apiVersion": "2020-06-14", "name": "eventgridtest1", + "kind": "EventGrid", "properties": { - "kind": "EventGrid", - "properties": { - "storageAccountResourceId": "/subscriptions/11d5f159-a21d-4a6c-8053-c3aae30057cf/resourceGroups/radennistodelete/providers/Microsoft.Storage/storageAccounts/radenniseg", - "eventHubResourceId": "/subscriptions/f80eb51c-c534-4f0b-80ab-aebc290c1c19/resourceGroups/radennisgeneral/providers/Microsoft.EventHub/namespaces/radenniseg/eventhubs/eventhubeg", - "consumerGroup": "$Default", - "tableName": "tablename1", - "dataFormat": "CSV" - } + "storageAccountResourceId": "/subscriptions/11d5f159-a21d-4a6c-8053-c3aae30057cf/resourceGroups/radennistodelete/providers/Microsoft.Storage/storageAccounts/radenniseg", + "eventHubResourceId": "/subscriptions/f80eb51c-c534-4f0b-80ab-aebc290c1c19/resourceGroups/radennisgeneral/providers/Microsoft.EventHub/namespaces/radenniseg/eventhubs/eventhubeg", + "consumerGroup": "$Default", + "tableName": "tablename1", + "dataFormat": "CSV" } } }, @@ -231,8 +227,8 @@ "resources": [ { "name": "adc - Minimal", - "definition": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_attacheddatabaseconfigurations", - "type": "Microsoft.Kusto/clusters/AttachedDatabaseConfigurations", + "definition": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_attachedDatabaseConfigurations", + "type": "attachedDatabaseConfigurations", "apiVersion": "2020-06-14", "location": "westus", "properties": { @@ -246,7 +242,7 @@ }, { "name": "clusters with principal", - "definition": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalassignments", + "definition": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalAssignments", "json": { "type": "Microsoft.Kusto/clusters/principalAssignments", "apiVersion": "2020-06-14", @@ -261,7 +257,7 @@ }, { "name": "databases with principal", - "definition": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalassignments", + "definition": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalAssignments", "json": { "type": "Microsoft.Kusto/clusters/databases/principalAssignments", "apiVersion": "2020-06-14", diff --git a/tests/2020-09-18/Microsoft.Kusto.tests.json b/tests/2020-09-18/Microsoft.Kusto.tests.json index 0bae24fca6..a339fdb0eb 100644 --- a/tests/2020-09-18/Microsoft.Kusto.tests.json +++ b/tests/2020-09-18/Microsoft.Kusto.tests.json @@ -122,7 +122,7 @@ { "name": "database - Minimal", "definition": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases", - "type": "Microsoft.Kusto/clusters/databases", + "type": "databases", "kind": "ReadWrite", "apiVersion": "2020-09-18", "location": "westus", @@ -136,36 +136,32 @@ }, { "name": "cluster database event hub", - "definition": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections", + "definition": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections", "json": { "type": "Microsoft.Kusto/clusters/databases/dataConnections", "apiVersion": "2020-09-18", "name": "eventhubtest1", + "kind": "EventHub", "properties": { - "kind": "EventHub", - "properties": { - "eventHubResourceId": "/subscriptions/f80eb51c-c534-4f0b-80ab-aebc290c1c19/resourceGroups/radennisgeneral/providers/Microsoft.EventHub/namespaces/radenniseg/eventhubs/eventhubeg", - "consumerGroup": "$Default" - } + "eventHubResourceId": "/subscriptions/f80eb51c-c534-4f0b-80ab-aebc290c1c19/resourceGroups/radennisgeneral/providers/Microsoft.EventHub/namespaces/radenniseg/eventhubs/eventhubeg", + "consumerGroup": "$Default" } } }, { "name": "cluster database event grid", - "definition": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections", + "definition": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataConnections", "json": { "type": "Microsoft.Kusto/clusters/databases/dataConnections", "apiVersion": "2020-09-18", "name": "eventgridtest1", + "kind": "EventGrid", "properties": { - "kind": "EventGrid", - "properties": { - "storageAccountResourceId": "/subscriptions/11d5f159-a21d-4a6c-8053-c3aae30057cf/resourceGroups/radennistodelete/providers/Microsoft.Storage/storageAccounts/radenniseg", - "eventHubResourceId": "/subscriptions/f80eb51c-c534-4f0b-80ab-aebc290c1c19/resourceGroups/radennisgeneral/providers/Microsoft.EventHub/namespaces/radenniseg/eventhubs/eventhubeg", - "consumerGroup": "$Default", - "tableName": "tablename1", - "dataFormat": "CSV" - } + "storageAccountResourceId": "/subscriptions/11d5f159-a21d-4a6c-8053-c3aae30057cf/resourceGroups/radennistodelete/providers/Microsoft.Storage/storageAccounts/radenniseg", + "eventHubResourceId": "/subscriptions/f80eb51c-c534-4f0b-80ab-aebc290c1c19/resourceGroups/radennisgeneral/providers/Microsoft.EventHub/namespaces/radenniseg/eventhubs/eventhubeg", + "consumerGroup": "$Default", + "tableName": "tablename1", + "dataFormat": "CSV" } } }, @@ -230,8 +226,8 @@ "resources": [ { "name": "adc - Minimal", - "definition": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_attacheddatabaseconfigurations", - "type": "Microsoft.Kusto/clusters/AttachedDatabaseConfigurations", + "definition": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_attachedDatabaseConfigurations", + "type": "attachedDatabaseConfigurations", "apiVersion": "2020-09-18", "location": "westus", "properties": { @@ -245,7 +241,7 @@ }, { "name": "clusters with principal", - "definition": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalassignments", + "definition": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalAssignments", "json": { "type": "Microsoft.Kusto/clusters/principalAssignments", "apiVersion": "2020-09-18", @@ -260,7 +256,7 @@ }, { "name": "databases with principal", - "definition": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalassignments", + "definition": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalAssignments", "json": { "type": "Microsoft.Kusto/clusters/databases/principalAssignments", "apiVersion": "2020-09-18",