diff --git a/schemas/2015-04-01/Microsoft.DocumentDB.json b/schemas/2015-04-01/Microsoft.DocumentDB.json new file mode 100644 index 0000000000..c29ccea671 --- /dev/null +++ b/schemas/2015-04-01/Microsoft.DocumentDB.json @@ -0,0 +1,2666 @@ +{ + "id": "https://schema.management.azure.com/schemas/2015-04-01/Microsoft.DocumentDB.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.DocumentDB", + "description": "Microsoft DocumentDB Resource Types", + "resourceDefinitions": { + "databaseAccounts": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-04-01" + ] + }, + "kind": { + "oneOf": [ + { + "type": "string", + "enum": [ + "GlobalDocumentDB", + "MongoDB", + "Parse" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the type of database account. This can only be set at database account creation." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*", + "minLength": 3, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB database account name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseAccountCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB database accounts." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts" + }, + "databaseAccounts_apis_databases": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-04-01" + ] + }, + "name": { + "type": "string", + "description": "Cosmos DB database name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlDatabaseCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB SQL database." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/databaseAccounts_apis_databases_settings_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_apis_databases_containers_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_apis_databases_collections_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_apis_databases_graphs_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/apis/databases" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/apis/databases" + }, + "databaseAccounts_apis_databases_collections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-04-01" + ] + }, + "name": { + "type": "string", + "description": "Cosmos DB collection name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MongoDBCollectionCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB MongoDB collection." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/databaseAccounts_apis_databases_collections_settings_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/apis/databases/collections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/apis/databases/collections" + }, + "databaseAccounts_apis_databases_collections_settings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-04-01" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/throughput$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/apis/databases/collections/settings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/apis/databases/collections/settings" + }, + "databaseAccounts_apis_databases_containers": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-04-01" + ] + }, + "name": { + "type": "string", + "description": "Cosmos DB container name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlContainerCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB container." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/databaseAccounts_apis_databases_containers_settings_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/apis/databases/containers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/apis/databases/containers" + }, + "databaseAccounts_apis_databases_containers_settings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-04-01" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/throughput$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/apis/databases/containers/settings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/apis/databases/containers/settings" + }, + "databaseAccounts_apis_databases_graphs": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-04-01" + ] + }, + "name": { + "type": "string", + "description": "Cosmos DB graph name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GremlinGraphCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB Gremlin graph." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/databaseAccounts_apis_databases_graphs_settings_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/apis/databases/graphs" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/apis/databases/graphs" + }, + "databaseAccounts_apis_databases_graphs_settings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-04-01" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/throughput$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/apis/databases/graphs/settings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/apis/databases/graphs/settings" + }, + "databaseAccounts_apis_databases_settings": { + "type": "object", + "oneOf": [ + { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/throughput$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + } + }, + "required": [ + "name", + "properties" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/apis/databases/settings" + }, + { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/throughput$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + } + }, + "required": [ + "name", + "properties" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/apis/databases/settings" + }, + { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/throughput$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + } + }, + "required": [ + "name", + "properties" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/apis/databases/settings" + } + ], + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-04-01" + ] + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/apis/databases/settings" + ] + } + }, + "required": [ + "apiVersion", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/apis/databases/settings" + }, + "databaseAccounts_apis_keyspaces": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-04-01" + ] + }, + "name": { + "type": "string", + "description": "Cosmos DB keyspace name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CassandraKeyspaceCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB Cassandra keyspace." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/databaseAccounts_apis_keyspaces_settings_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_apis_keyspaces_tables_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces" + }, + "databaseAccounts_apis_keyspaces_settings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-04-01" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/throughput$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces/settings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces/settings" + }, + "databaseAccounts_apis_keyspaces_tables": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-04-01" + ] + }, + "name": { + "type": "string", + "description": "Cosmos DB table name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CassandraTableCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB Cassandra table." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/databaseAccounts_apis_keyspaces_tables_settings_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces/tables" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces/tables" + }, + "databaseAccounts_apis_keyspaces_tables_settings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-04-01" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/throughput$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces/tables/settings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces/tables/settings" + }, + "databaseAccounts_apis_tables": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-04-01" + ] + }, + "name": { + "type": "string", + "description": "Cosmos DB table name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/TableCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB Table." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/databaseAccounts_apis_tables_settings_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/apis/tables" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/apis/tables" + }, + "databaseAccounts_apis_tables_settings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-04-01" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/throughput$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/apis/tables/settings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/apis/tables/settings" + } + }, + "definitions": { + "Capability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the Cosmos DB capability. For example, \"name\": \"EnableCassandra\". Current values also include \"EnableTable\" and \"EnableGremlin\"." + } + }, + "description": "Cosmos DB capability object" + }, + "CassandraKeyspaceCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/CassandraKeyspaceResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB Cassandra keyspace id object" + } + }, + "required": [ + "options", + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB Cassandra keyspace." + }, + "CassandraKeyspaceResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra keyspace" + } + }, + "required": [ + "id" + ], + "description": "Cosmos DB Cassandra keyspace id object" + }, + "CassandraPartitionKey": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra table partition key" + } + }, + "description": "Cosmos DB Cassandra table partition key" + }, + "CassandraSchema": { + "type": "object", + "properties": { + "clusterKeys": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ClusterKey" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of cluster key." + }, + "columns": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Column" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of Cassandra table columns." + }, + "partitionKeys": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/CassandraPartitionKey" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of partition key." + } + }, + "description": "Cosmos DB Cassandra table schema" + }, + "CassandraTableCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/CassandraTableResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB Cassandra table id object" + } + }, + "required": [ + "options", + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB Cassandra table." + }, + "CassandraTableResource": { + "type": "object", + "properties": { + "defaultTtl": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Time to live of the Cosmos DB Cassandra table" + }, + "id": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra table" + }, + "schema": { + "oneOf": [ + { + "$ref": "#/definitions/CassandraSchema" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB Cassandra table schema" + } + }, + "required": [ + "id" + ], + "description": "Cosmos DB Cassandra table id object" + }, + "ClusterKey": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra table cluster key" + }, + "orderBy": { + "type": "string", + "description": "Order of the Cosmos DB Cassandra table cluster key, only support \"Asc\" and \"Desc\"" + } + }, + "description": "Cosmos DB Cassandra table cluster key" + }, + "Column": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra table column" + }, + "type": { + "type": "string", + "description": "Type of the Cosmos DB Cassandra table column" + } + }, + "description": "Cosmos DB Cassandra table column" + }, + "ConflictResolutionPolicy": { + "type": "object", + "properties": { + "conflictResolutionPath": { + "type": "string", + "description": "The conflict resolution path in the case of LastWriterWins mode." + }, + "conflictResolutionProcedure": { + "type": "string", + "description": "The procedure to resolve conflicts in the case of custom mode." + }, + "mode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "LastWriterWins", + "Custom" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the conflict resolution mode." + } + }, + "description": "The conflict resolution policy for the container." + }, + "ConsistencyPolicy": { + "type": "object", + "properties": { + "defaultConsistencyLevel": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Eventual", + "Session", + "BoundedStaleness", + "Strong", + "ConsistentPrefix" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The default consistency level and configuration settings of the Cosmos DB account." + }, + "maxIntervalInSeconds": { + "oneOf": [ + { + "type": "integer", + "minimum": 5, + "maximum": 86400 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "When used with the Bounded Staleness consistency level, this value represents the time amount of staleness (in seconds) tolerated. Accepted range for this value is 5 - 86400. Required when defaultConsistencyPolicy is set to 'BoundedStaleness'." + }, + "maxStalenessPrefix": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 2147483647 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "When used with the Bounded Staleness consistency level, this value represents the number of stale requests tolerated. Accepted range for this value is 1 – 2,147,483,647. Required when defaultConsistencyPolicy is set to 'BoundedStaleness'." + } + }, + "required": [ + "defaultConsistencyLevel" + ], + "description": "The consistency policy for the Cosmos DB database account." + }, + "ContainerPartitionKey": { + "type": "object", + "properties": { + "kind": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Hash", + "Range" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the kind of algorithm used for partitioning." + }, + "paths": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of paths using which data within the container can be partitioned" + } + }, + "description": "The configuration of the partition key to be used for partitioning data into multiple partitions" + }, + "DatabaseAccountCreateUpdateProperties": { + "type": "object", + "properties": { + "capabilities": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Capability" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of Cosmos DB capabilities for the account" + }, + "connectorOffer": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Small" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The cassandra connector offer type for the Cosmos DB database C* account." + }, + "consistencyPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ConsistencyPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The consistency policy for the Cosmos DB database account." + }, + "databaseAccountOfferType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The offer type for the database" + }, + "enableAutomaticFailover": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account." + }, + "enableCassandraConnector": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enables the cassandra connector on the Cosmos DB C* account" + }, + "enableMultipleWriteLocations": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enables the account to write in multiple locations" + }, + "ipRangeFilter": { + "type": "string", + "description": "Cosmos DB Firewall Support: This value specifies the set of IP addresses or IP address ranges in CIDR form to be included as the allowed list of client IPs for a given database account. IP addresses/ranges must be comma separated and must not contain any spaces." + }, + "isVirtualNetworkFilterEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to indicate whether to enable/disable Virtual Network ACL rules." + }, + "locations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Location" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array that contains the georeplication locations enabled for the Cosmos DB account." + }, + "virtualNetworkRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of Virtual Network ACL rules configured for the Cosmos DB account." + } + }, + "required": [ + "databaseAccountOfferType", + "locations" + ], + "description": "Properties to create and update Azure Cosmos DB database accounts." + }, + "databaseAccounts_apis_databases_collections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-04-01" + ] + }, + "name": { + "type": "string", + "description": "Cosmos DB collection name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MongoDBCollectionCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB MongoDB collection." + }, + "type": { + "type": "string", + "enum": [ + "collections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/apis/databases/collections" + }, + "databaseAccounts_apis_databases_collections_settings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-04-01" + ] + }, + "name": { + "type": "string", + "enum": [ + "throughput" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "type": { + "type": "string", + "enum": [ + "settings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/apis/databases/collections/settings" + }, + "databaseAccounts_apis_databases_containers_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-04-01" + ] + }, + "name": { + "type": "string", + "description": "Cosmos DB container name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlContainerCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB container." + }, + "type": { + "type": "string", + "enum": [ + "containers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/apis/databases/containers" + }, + "databaseAccounts_apis_databases_containers_settings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-04-01" + ] + }, + "name": { + "type": "string", + "enum": [ + "throughput" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "type": { + "type": "string", + "enum": [ + "settings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/apis/databases/containers/settings" + }, + "databaseAccounts_apis_databases_graphs_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-04-01" + ] + }, + "name": { + "type": "string", + "description": "Cosmos DB graph name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GremlinGraphCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB Gremlin graph." + }, + "type": { + "type": "string", + "enum": [ + "graphs" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/apis/databases/graphs" + }, + "databaseAccounts_apis_databases_graphs_settings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-04-01" + ] + }, + "name": { + "type": "string", + "enum": [ + "throughput" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "type": { + "type": "string", + "enum": [ + "settings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/apis/databases/graphs/settings" + }, + "databaseAccounts_apis_databases_settings_childResource": { + "type": "object", + "oneOf": [ + { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "throughput" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + } + }, + "required": [ + "name", + "properties" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/apis/databases/settings" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "throughput" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + } + }, + "required": [ + "name", + "properties" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/apis/databases/settings" + }, + { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "throughput" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + } + }, + "required": [ + "name", + "properties" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/apis/databases/settings" + } + ], + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-04-01" + ] + }, + "type": { + "type": "string", + "enum": [ + "settings" + ] + } + }, + "required": [ + "apiVersion", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/apis/databases/settings" + }, + "databaseAccounts_apis_keyspaces_settings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-04-01" + ] + }, + "name": { + "type": "string", + "enum": [ + "throughput" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "type": { + "type": "string", + "enum": [ + "settings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces/settings" + }, + "databaseAccounts_apis_keyspaces_tables_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-04-01" + ] + }, + "name": { + "type": "string", + "description": "Cosmos DB table name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CassandraTableCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB Cassandra table." + }, + "type": { + "type": "string", + "enum": [ + "tables" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces/tables" + }, + "databaseAccounts_apis_keyspaces_tables_settings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-04-01" + ] + }, + "name": { + "type": "string", + "enum": [ + "throughput" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "type": { + "type": "string", + "enum": [ + "settings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/apis/keyspaces/tables/settings" + }, + "databaseAccounts_apis_tables_settings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-04-01" + ] + }, + "name": { + "type": "string", + "enum": [ + "throughput" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "type": { + "type": "string", + "enum": [ + "settings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/apis/tables/settings" + }, + "ExcludedPath": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)" + } + } + }, + "GremlinDatabaseCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/GremlinDatabaseResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB Gremlin database id object" + } + }, + "required": [ + "options", + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB Gremlin database." + }, + "GremlinDatabaseResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB Gremlin database" + } + }, + "required": [ + "id" + ], + "description": "Cosmos DB Gremlin database id object" + }, + "GremlinGraphCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/GremlinGraphResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB Gremlin graph resource object" + } + }, + "required": [ + "options", + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB Gremlin graph." + }, + "GremlinGraphResource": { + "type": "object", + "properties": { + "conflictResolutionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ConflictResolutionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The conflict resolution policy for the container." + }, + "defaultTtl": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Default time to live" + }, + "id": { + "type": "string", + "description": "Name of the Cosmos DB Gremlin graph" + }, + "indexingPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/IndexingPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB indexing policy" + }, + "partitionKey": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerPartitionKey" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration of the partition key to be used for partitioning data into multiple partitions" + }, + "uniqueKeyPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/UniqueKeyPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service." + } + }, + "required": [ + "id" + ], + "description": "Cosmos DB Gremlin graph resource object" + }, + "IncludedPath": { + "type": "object", + "properties": { + "indexes": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Indexes" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of indexes for this path" + }, + "path": { + "type": "string", + "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)" + } + }, + "description": "The paths that are included in indexing" + }, + "Indexes": { + "type": "object", + "properties": { + "dataType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "String", + "Number", + "Point", + "Polygon", + "LineString", + "MultiPolygon" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The datatype for which the indexing behavior is applied to." + }, + "kind": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Hash", + "Range", + "Spatial" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the type of index." + }, + "precision": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The precision of the index. -1 is maximum precision." + } + }, + "description": "The indexes for the path." + }, + "IndexingPolicy": { + "type": "object", + "properties": { + "automatic": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the indexing policy is automatic" + }, + "excludedPaths": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ExcludedPath" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of paths to exclude from indexing" + }, + "includedPaths": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IncludedPath" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of paths to include in the indexing" + }, + "indexingMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Consistent", + "Lazy", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the indexing mode." + } + }, + "description": "Cosmos DB indexing policy" + }, + "Location": { + "type": "object", + "properties": { + "failoverPriority": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The failover priority of the region. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists." + }, + "isZoneRedundant": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to indicate whether or not this region is an AvailabilityZone region" + }, + "locationName": { + "type": "string", + "description": "The name of the region." + }, + "provisioningState": { + "type": "string", + "description": "The status of the Cosmos DB account at the time the operation was called. The status can be one of following. 'Creating' – the Cosmos DB account is being created. When an account is in Creating state, only properties that are specified as input for the Create Cosmos DB account operation are returned. 'Succeeded' – the Cosmos DB account is active for use. 'Updating' – the Cosmos DB account is being updated. 'Deleting' – the Cosmos DB account is being deleted. 'Failed' – the Cosmos DB account failed creation. 'Offline' - the Cosmos DB account is not active. 'DeletionFailed' – the Cosmos DB account deletion failed." + } + }, + "description": "A region in which the Azure Cosmos DB database account is deployed." + }, + "MongoDBCollectionCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/MongoDBCollectionResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB MongoDB collection resource object" + } + }, + "required": [ + "options", + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB MongoDB collection." + }, + "MongoDBCollectionResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB MongoDB collection" + }, + "indexes": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MongoIndex" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of index keys" + }, + "shardKey": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The shard key and partition kind pair, only support \"Hash\" partition kind" + } + }, + "required": [ + "id" + ], + "description": "Cosmos DB MongoDB collection resource object" + }, + "MongoDBDatabaseCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/MongoDBDatabaseResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB MongoDB database id object" + } + }, + "required": [ + "options", + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB MongoDB database." + }, + "MongoDBDatabaseResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB MongoDB database" + } + }, + "required": [ + "id" + ], + "description": "Cosmos DB MongoDB database id object" + }, + "MongoIndex": { + "type": "object", + "properties": { + "key": { + "oneOf": [ + { + "$ref": "#/definitions/MongoIndexKeys" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB MongoDB collection resource object" + }, + "options": { + "oneOf": [ + { + "$ref": "#/definitions/MongoIndexOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB MongoDB collection index options" + } + }, + "description": "Cosmos DB MongoDB collection index key" + }, + "MongoIndexKeys": { + "type": "object", + "properties": { + "keys": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of keys for each MongoDB collection in the Azure Cosmos DB service" + } + }, + "description": "Cosmos DB MongoDB collection resource object" + }, + "MongoIndexOptions": { + "type": "object", + "properties": { + "expireAfterSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Expire after seconds" + }, + "unique": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Is unique or not" + } + }, + "description": "Cosmos DB MongoDB collection index options" + }, + "SqlContainerCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/SqlContainerResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB SQL container resource object" + } + }, + "required": [ + "options", + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB container." + }, + "SqlContainerResource": { + "type": "object", + "properties": { + "conflictResolutionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ConflictResolutionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The conflict resolution policy for the container." + }, + "defaultTtl": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Default time to live" + }, + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL container" + }, + "indexingPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/IndexingPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB indexing policy" + }, + "partitionKey": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerPartitionKey" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration of the partition key to be used for partitioning data into multiple partitions" + }, + "uniqueKeyPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/UniqueKeyPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service." + } + }, + "required": [ + "id" + ], + "description": "Cosmos DB SQL container resource object" + }, + "SqlDatabaseCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/SqlDatabaseResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB SQL database id object" + } + }, + "required": [ + "options", + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB SQL database." + }, + "SqlDatabaseResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL database" + } + }, + "required": [ + "id" + ], + "description": "Cosmos DB SQL database id object" + }, + "TableCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/TableResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB table id object" + } + }, + "required": [ + "options", + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB Table." + }, + "TableResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB table" + } + }, + "required": [ + "id" + ], + "description": "Cosmos DB table id object" + }, + "ThroughputResource": { + "type": "object", + "properties": { + "throughput": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Value of the Cosmos DB resource throughput" + } + }, + "required": [ + "throughput" + ], + "description": "Cosmos DB resource throughput object" + }, + "ThroughputUpdateProperties": { + "type": "object", + "properties": { + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB resource throughput object" + } + }, + "required": [ + "resource" + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "UniqueKey": { + "type": "object", + "properties": { + "paths": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of paths must be unique for each document in the Azure Cosmos DB service" + } + }, + "description": "The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service." + }, + "UniqueKeyPolicy": { + "type": "object", + "properties": { + "uniqueKeys": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/UniqueKey" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service." + } + }, + "description": "The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service." + }, + "VirtualNetworkRule": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}." + }, + "ignoreMissingVNetServiceEndpoint": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Create firewall rule before the virtual network has vnet service endpoint enabled." + } + }, + "description": "Virtual Network ACL Rule object" + } + } +} \ No newline at end of file diff --git a/schemas/2019-08-01/Microsoft.DocumentDB.json b/schemas/2019-08-01/Microsoft.DocumentDB.json index a3322499a1..d936041f86 100644 --- a/schemas/2019-08-01/Microsoft.DocumentDB.json +++ b/schemas/2019-08-01/Microsoft.DocumentDB.json @@ -79,6 +79,9 @@ }, { "$ref": "#/definitions/databaseAccounts_notebookWorkspaces_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_privateEndpointConnections_childResource" } ] } @@ -955,6 +958,45 @@ ], "description": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces" }, + "databaseAccounts_privateEndpointConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-08-01" + ] + }, + "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.DocumentDB/databaseAccounts/privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/privateEndpointConnections" + }, "databaseAccounts_sqlDatabases": { "type": "object", "properties": { @@ -2800,6 +2842,45 @@ ], "description": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces" }, + "databaseAccounts_privateEndpointConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-08-01" + ] + }, + "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.DocumentDB/databaseAccounts/privateEndpointConnections" + }, "databaseAccounts_sqlDatabases_childResource": { "type": "object", "properties": { @@ -3898,6 +3979,66 @@ }, "description": "Cosmos DB MongoDB collection index options" }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "groupId": { + "type": "string", + "description": "Group id of the private endpoint." + }, + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointProperty" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Private endpoint which the connection belongs to." + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkServiceConnectionStateProperty" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Connection State of the Private Endpoint Connection." + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the private endpoint." + } + }, + "description": "Properties of a private endpoint connection." + }, + "PrivateEndpointProperty": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource id of the private endpoint." + } + }, + "description": "Private endpoint which the connection belongs to." + }, + "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." + }, "SpatialSpec": { "type": "object", "properties": { diff --git a/schemas/2019-12-12/Microsoft.DocumentDB.json b/schemas/2019-12-12/Microsoft.DocumentDB.json index 19aabb6c85..0e551e0ef8 100644 --- a/schemas/2019-12-12/Microsoft.DocumentDB.json +++ b/schemas/2019-12-12/Microsoft.DocumentDB.json @@ -79,6 +79,9 @@ }, { "$ref": "#/definitions/databaseAccounts_notebookWorkspaces_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_privateEndpointConnections_childResource" } ] } @@ -955,6 +958,45 @@ ], "description": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces" }, + "databaseAccounts_privateEndpointConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-12-12" + ] + }, + "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.DocumentDB/databaseAccounts/privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/privateEndpointConnections" + }, "databaseAccounts_sqlDatabases": { "type": "object", "properties": { @@ -2838,6 +2880,45 @@ ], "description": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces" }, + "databaseAccounts_privateEndpointConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-12-12" + ] + }, + "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.DocumentDB/databaseAccounts/privateEndpointConnections" + }, "databaseAccounts_sqlDatabases_childResource": { "type": "object", "properties": { @@ -3920,6 +4001,66 @@ }, "description": "Cosmos DB MongoDB collection index options" }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "groupId": { + "type": "string", + "description": "Group id of the private endpoint." + }, + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointProperty" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Private endpoint which the connection belongs to." + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkServiceConnectionStateProperty" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Connection State of the Private Endpoint Connection." + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the private endpoint." + } + }, + "description": "Properties of a private endpoint connection." + }, + "PrivateEndpointProperty": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource id of the private endpoint." + } + }, + "description": "Private endpoint which the connection belongs to." + }, + "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." + }, "ProvisionedThroughputSettingsResource": { "type": "object", "properties": { diff --git a/schemas/2020-03-01/Microsoft.DocumentDB.json b/schemas/2020-03-01/Microsoft.DocumentDB.json index 6ed3d79eed..8c6f2691e5 100644 --- a/schemas/2020-03-01/Microsoft.DocumentDB.json +++ b/schemas/2020-03-01/Microsoft.DocumentDB.json @@ -79,6 +79,9 @@ }, { "$ref": "#/definitions/databaseAccounts_notebookWorkspaces_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_privateEndpointConnections_childResource" } ] } @@ -955,6 +958,45 @@ ], "description": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces" }, + "databaseAccounts_privateEndpointConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-03-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the private endpoint connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionPropertiesModel" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a private endpoint connection." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/privateEndpointConnections" + }, "databaseAccounts_sqlDatabases": { "type": "object", "properties": { @@ -2853,6 +2895,45 @@ ], "description": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces" }, + "databaseAccounts_privateEndpointConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-03-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the private endpoint connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionPropertiesModel" + }, + { + "$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.DocumentDB/databaseAccounts/privateEndpointConnections" + }, "databaseAccounts_sqlDatabases_childResource": { "type": "object", "properties": { @@ -3935,6 +4016,62 @@ }, "description": "Cosmos DB MongoDB collection index options" }, + "PrivateEndpointConnectionPropertiesModel": { + "type": "object", + "properties": { + "groupId": { + "type": "string", + "description": "Group id of the private endpoint." + }, + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointProperty" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Private endpoint which the connection belongs to." + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkServiceConnectionStateProperty" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Connection State of the Private Endpoint Connection." + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the private endpoint." + } + }, + "description": "Properties of a private endpoint connection." + }, + "PrivateEndpointProperty": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource id of the private endpoint." + } + }, + "description": "Private endpoint which the connection belongs to." + }, + "PrivateLinkServiceConnectionStateProperty": { + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "The private link service connection status." + } + }, + "description": "Connection State of the Private Endpoint Connection." + }, "ProvisionedThroughputSettingsResource": { "type": "object", "properties": { diff --git a/schemas/2020-04-01/Microsoft.DocumentDB.json b/schemas/2020-04-01/Microsoft.DocumentDB.json index 9fc58f0bbb..c9b711f724 100644 --- a/schemas/2020-04-01/Microsoft.DocumentDB.json +++ b/schemas/2020-04-01/Microsoft.DocumentDB.json @@ -79,6 +79,9 @@ }, { "$ref": "#/definitions/databaseAccounts_notebookWorkspaces_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_privateEndpointConnections_childResource" } ] } @@ -955,6 +958,45 @@ ], "description": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces" }, + "databaseAccounts_privateEndpointConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-04-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the private endpoint connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionPropertiesModel" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a private endpoint connection." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/privateEndpointConnections" + }, "databaseAccounts_sqlDatabases": { "type": "object", "properties": { @@ -1999,6 +2041,44 @@ }, "description": "The configuration of the partition key to be used for partitioning data into multiple partitions" }, + "CorsPolicy": { + "type": "object", + "properties": { + "allowedHeaders": { + "type": "string", + "description": "The request headers that the origin domain may specify on the CORS request." + }, + "allowedMethods": { + "type": "string", + "description": "The methods (HTTP request verbs) that the origin domain may use for a CORS request." + }, + "allowedOrigins": { + "type": "string", + "description": "The origin domains that are permitted to make a request against the service via CORS." + }, + "exposedHeaders": { + "type": "string", + "description": "The response headers that may be sent in the response to the CORS request and exposed by the browser to the request issuer." + }, + "maxAgeInSeconds": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 2147483647 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum amount time that a browser should cache the preflight OPTIONS request." + } + }, + "required": [ + "allowedOrigins" + ], + "description": "The CORS policy for the Cosmos DB database account." + }, "CreateUpdateOptions": { "type": "object", "properties": { @@ -2078,6 +2158,20 @@ ], "description": "The consistency policy for the Cosmos DB database account." }, + "cors": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/CorsPolicy" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The CORS policy for the Cosmos DB database account." + }, "databaseAccountOfferType": { "oneOf": [ { @@ -2975,6 +3069,45 @@ ], "description": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces" }, + "databaseAccounts_privateEndpointConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-04-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the private endpoint connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionPropertiesModel" + }, + { + "$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.DocumentDB/databaseAccounts/privateEndpointConnections" + }, "databaseAccounts_sqlDatabases_childResource": { "type": "object", "properties": { @@ -4078,6 +4211,62 @@ }, "description": "Cosmos DB MongoDB collection index options" }, + "PrivateEndpointConnectionPropertiesModel": { + "type": "object", + "properties": { + "groupId": { + "type": "string", + "description": "Group id of the private endpoint." + }, + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointProperty" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Private endpoint which the connection belongs to." + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkServiceConnectionStateProperty" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Connection State of the Private Endpoint Connection." + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the private endpoint." + } + }, + "description": "Properties of a private endpoint connection." + }, + "PrivateEndpointProperty": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource id of the private endpoint." + } + }, + "description": "Private endpoint which the connection belongs to." + }, + "PrivateLinkServiceConnectionStateProperty": { + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "The private link service connection status." + } + }, + "description": "Connection State of the Private Endpoint Connection." + }, "SpatialSpec": { "type": "object", "properties": { @@ -4142,6 +4331,17 @@ "SqlContainerResource": { "type": "object", "properties": { + "analyticalStorageTtl": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Analytical TTL." + }, "conflictResolutionPolicy": { "oneOf": [ { diff --git a/schemas/2020-06-01-preview/Microsoft.DocumentDB.json b/schemas/2020-06-01-preview/Microsoft.DocumentDB.json index faa63b42bd..3d2b5cd18e 100644 --- a/schemas/2020-06-01-preview/Microsoft.DocumentDB.json +++ b/schemas/2020-06-01-preview/Microsoft.DocumentDB.json @@ -90,6 +90,9 @@ }, { "$ref": "#/definitions/databaseAccounts_notebookWorkspaces_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_privateEndpointConnections_childResource" } ] } @@ -1098,6 +1101,45 @@ ], "description": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces" }, + "databaseAccounts_privateEndpointConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the private endpoint connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionPropertiesModel" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a private endpoint connection." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/privateEndpointConnections" + }, "databaseAccounts_sqlDatabases": { "type": "object", "properties": { @@ -2269,6 +2311,44 @@ ], "description": "The object representing continuous mode backup policy." }, + "CorsPolicy": { + "type": "object", + "properties": { + "allowedHeaders": { + "type": "string", + "description": "The request headers that the origin domain may specify on the CORS request." + }, + "allowedMethods": { + "type": "string", + "description": "The methods (HTTP request verbs) that the origin domain may use for a CORS request." + }, + "allowedOrigins": { + "type": "string", + "description": "The origin domains that are permitted to make a request against the service via CORS." + }, + "exposedHeaders": { + "type": "string", + "description": "The response headers that may be sent in the response to the CORS request and exposed by the browser to the request issuer." + }, + "maxAgeInSeconds": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 2147483647 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum amount time that a browser should cache the preflight OPTIONS request." + } + }, + "required": [ + "allowedOrigins" + ], + "description": "The CORS policy for the Cosmos DB database account." + }, "CreateUpdateOptions": { "type": "object", "properties": { @@ -2367,6 +2447,20 @@ ], "description": "The consistency policy for the Cosmos DB database account." }, + "cors": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/CorsPolicy" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The CORS policy for the Cosmos DB database account." + }, "databaseAccountOfferType": { "oneOf": [ { @@ -3396,6 +3490,45 @@ ], "description": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces" }, + "databaseAccounts_privateEndpointConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the private endpoint connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionPropertiesModel" + }, + { + "$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.DocumentDB/databaseAccounts/privateEndpointConnections" + }, "databaseAccounts_sqlDatabases_childResource": { "type": "object", "properties": { @@ -4716,6 +4849,62 @@ }, "description": "Configuration values for periodic mode backup" }, + "PrivateEndpointConnectionPropertiesModel": { + "type": "object", + "properties": { + "groupId": { + "type": "string", + "description": "Group id of the private endpoint." + }, + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointProperty" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Private endpoint which the connection belongs to." + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkServiceConnectionStateProperty" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Connection State of the Private Endpoint Connection." + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the private endpoint." + } + }, + "description": "Properties of a private endpoint connection." + }, + "PrivateEndpointProperty": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource id of the private endpoint." + } + }, + "description": "Private endpoint which the connection belongs to." + }, + "PrivateLinkServiceConnectionStateProperty": { + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "The private link service connection status." + } + }, + "description": "Connection State of the Private Endpoint Connection." + }, "RestoreParameters": { "type": "object", "properties": { diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index a18ff59272..8b7c98d1c4 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -2428,6 +2428,51 @@ { "$ref": "https://schema.management.azure.com/schemas/2020-03-01-preview/Microsoft.DigitalTwins.json#/resourceDefinitions/digitalTwinsInstances_endpoints" }, + { + "$ref": "https://schema.management.azure.com/schemas/2015-04-01/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2015-04-01/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_apis_databases" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2015-04-01/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_apis_databases_collections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2015-04-01/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_apis_databases_collections_settings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2015-04-01/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_apis_databases_containers" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2015-04-01/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_apis_databases_containers_settings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2015-04-01/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_apis_databases_graphs" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2015-04-01/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_apis_databases_graphs_settings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2015-04-01/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_apis_databases_settings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2015-04-01/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_apis_keyspaces" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2015-04-01/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_apis_keyspaces_settings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2015-04-01/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_apis_keyspaces_tables" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2015-04-01/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_apis_keyspaces_tables_settings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2015-04-01/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_apis_tables" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2015-04-01/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_apis_tables_settings" + }, { "$ref": "https://schema.management.azure.com/schemas/2015-04-08/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts" }, @@ -2650,6 +2695,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2019-08-01/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_notebookWorkspaces" }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-08-01/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_privateEndpointConnections" + }, { "$ref": "https://schema.management.azure.com/schemas/2019-08-01/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_sqlDatabases" }, @@ -2722,6 +2770,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2019-12-12/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_notebookWorkspaces" }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-12-12/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_privateEndpointConnections" + }, { "$ref": "https://schema.management.azure.com/schemas/2019-12-12/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_sqlDatabases" }, @@ -2791,6 +2842,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2020-03-01/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_notebookWorkspaces" }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-03-01/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_privateEndpointConnections" + }, { "$ref": "https://schema.management.azure.com/schemas/2020-03-01/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_sqlDatabases" }, @@ -2860,6 +2914,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2020-04-01/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_notebookWorkspaces" }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-04-01/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_privateEndpointConnections" + }, { "$ref": "https://schema.management.azure.com/schemas/2020-04-01/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_sqlDatabases" }, @@ -2929,6 +2986,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2020-06-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_notebookWorkspaces" }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-06-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_privateEndpointConnections" + }, { "$ref": "https://schema.management.azure.com/schemas/2020-06-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_sqlDatabases" },