diff --git a/api-specs.json b/api-specs.json
index 3972a66ecf4b..3e05a0b02471 100644
--- a/api-specs.json
+++ b/api-specs.json
@@ -42,6 +42,10 @@
"source": "specification/containerregistry/resource-manager/readme.md",
"args": "--multiapi=true --fluent=true"
},
+ "cosmosdb/resource-manager": {
+ "source": "specification/cosmos-db/resource-manager/readme.md",
+ "args": "--multiapi=true --fluent=true"
+ },
"datalakeanalytics/resource-manager": {
"source": "specification/datalake-analytics/resource-manager/readme.md",
"args": "--multiapi --fluent"
diff --git a/cosmosdb/resource-manager/v2015_04_08/pom.xml b/cosmosdb/resource-manager/v2015_04_08/pom.xml
index 7080a7e445cf..03fa4a662c43 100644
--- a/cosmosdb/resource-manager/v2015_04_08/pom.xml
+++ b/cosmosdb/resource-manager/v2015_04_08/pom.xml
@@ -11,15 +11,15 @@
com.microsoft.azure
azure-arm-parent
- 1.0.0
+ 0.0.3-beta
../../../pom.xml
azure-mgmt-cosmosdb
1.0.0-beta
jar
- Microsoft Azure SDK for DocumentDB Management
- This package contains Microsoft DocumentDB Management SDK.
- https://github.com/Azure/azure-libraries-for-java
+ Microsoft Azure SDK for CosmosDB Management
+ This package contains Microsoft CosmosDB Management SDK.
+ https://github.com/Azure/azure-sdk-for-java
The MIT License (MIT)
@@ -28,8 +28,8 @@
- scm:git:https://github.com/Azure/azure-libraries-for-java
- scm:git:git@github.com:Azure/azure-libraries-for-java.git
+ scm:git:https://github.com/Azure/azure-sdk-for-java
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
HEAD
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CassandraKeyspace.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CassandraKeyspace.java
new file mode 100644
index 000000000000..c67f335d7cbd
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CassandraKeyspace.java
@@ -0,0 +1,127 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.CassandraKeyspaceInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.CosmosDBManager;
+import java.util.Map;
+
+/**
+ * Type representing CassandraKeyspace.
+ */
+public interface CassandraKeyspace extends HasInner, Indexable, Updatable, HasManager {
+ /**
+ * @return the cassandraKeyspaceId value.
+ */
+ String cassandraKeyspaceId();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the location value.
+ */
+ String location();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the tags value.
+ */
+ Map tags();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the CassandraKeyspace definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithApi, DefinitionStages.WithOptions, DefinitionStages.WithResource, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of CassandraKeyspace definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a CassandraKeyspace definition.
+ */
+ interface Blank extends WithApi {
+ }
+
+ /**
+ * The stage of the cassandrakeyspace definition allowing to specify Api.
+ */
+ interface WithApi {
+ /**
+ * Specifies resourceGroupName, accountName.
+ * @param resourceGroupName Name of an Azure resource group
+ * @param accountName Cosmos DB database account name
+ * @return the next definition stage
+ */
+ WithOptions withExistingApi(String resourceGroupName, String accountName);
+ }
+
+ /**
+ * The stage of the cassandrakeyspace definition allowing to specify Options.
+ */
+ interface WithOptions {
+ /**
+ * Specifies options.
+ * @param options A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request
+ * @return the next definition stage
+ */
+ WithResource withOptions(Map options);
+ }
+
+ /**
+ * The stage of the cassandrakeyspace definition allowing to specify Resource.
+ */
+ interface WithResource {
+ /**
+ * Specifies resource.
+ * @param resource The standard JSON format of a Cassandra keyspace
+ * @return the next definition stage
+ */
+ WithCreate withResource(CassandraKeyspaceResource resource);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable {
+ }
+ }
+ /**
+ * The template for a CassandraKeyspace update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable {
+ }
+
+ /**
+ * Grouping of CassandraKeyspace update stages.
+ */
+ interface UpdateStages {
+ }
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CassandraKeyspaceCreateUpdateParameters.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CassandraKeyspaceCreateUpdateParameters.java
new file mode 100644
index 000000000000..87d4ef3232ac
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CassandraKeyspaceCreateUpdateParameters.java
@@ -0,0 +1,73 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * Parameters to create and update Cosmos DB Cassandra keyspace.
+ */
+@JsonFlatten
+public class CassandraKeyspaceCreateUpdateParameters {
+ /**
+ * The standard JSON format of a Cassandra keyspace.
+ */
+ @JsonProperty(value = "properties.resource", required = true)
+ private CassandraKeyspaceResource resource;
+
+ /**
+ * A key-value pair of options to be applied for the request. This
+ * corresponds to the headers sent with the request.
+ */
+ @JsonProperty(value = "properties.options", required = true)
+ private Map options;
+
+ /**
+ * Get the standard JSON format of a Cassandra keyspace.
+ *
+ * @return the resource value
+ */
+ public CassandraKeyspaceResource resource() {
+ return this.resource;
+ }
+
+ /**
+ * Set the standard JSON format of a Cassandra keyspace.
+ *
+ * @param resource the resource value to set
+ * @return the CassandraKeyspaceCreateUpdateParameters object itself.
+ */
+ public CassandraKeyspaceCreateUpdateParameters withResource(CassandraKeyspaceResource resource) {
+ this.resource = resource;
+ return this;
+ }
+
+ /**
+ * Get a key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.
+ *
+ * @return the options value
+ */
+ public Map options() {
+ return this.options;
+ }
+
+ /**
+ * Set a key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.
+ *
+ * @param options the options value to set
+ * @return the CassandraKeyspaceCreateUpdateParameters object itself.
+ */
+ public CassandraKeyspaceCreateUpdateParameters withOptions(Map options) {
+ this.options = options;
+ return this;
+ }
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CassandraKeyspaceResource.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CassandraKeyspaceResource.java
new file mode 100644
index 000000000000..17c4fb05b8d6
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CassandraKeyspaceResource.java
@@ -0,0 +1,43 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Cosmos DB Cassandra keyspace id object.
+ */
+public class CassandraKeyspaceResource {
+ /**
+ * Name of the Cosmos DB Cassandra keyspace.
+ */
+ @JsonProperty(value = "id", required = true)
+ private String id;
+
+ /**
+ * Get name of the Cosmos DB Cassandra keyspace.
+ *
+ * @return the id value
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set name of the Cosmos DB Cassandra keyspace.
+ *
+ * @param id the id value to set
+ * @return the CassandraKeyspaceResource object itself.
+ */
+ public CassandraKeyspaceResource withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CassandraPartitionKey.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CassandraPartitionKey.java
new file mode 100644
index 000000000000..bbe8939950a0
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CassandraPartitionKey.java
@@ -0,0 +1,43 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Cosmos DB Cassandra table partition key.
+ */
+public class CassandraPartitionKey {
+ /**
+ * Name of the Cosmos DB Cassandra table partition key.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /**
+ * Get name of the Cosmos DB Cassandra table partition key.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set name of the Cosmos DB Cassandra table partition key.
+ *
+ * @param name the name value to set
+ * @return the CassandraPartitionKey object itself.
+ */
+ public CassandraPartitionKey withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CassandraSchema.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CassandraSchema.java
new file mode 100644
index 000000000000..1570f18858c5
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CassandraSchema.java
@@ -0,0 +1,96 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Cosmos DB Cassandra table schema.
+ */
+public class CassandraSchema {
+ /**
+ * List of Cassandra table columns.
+ */
+ @JsonProperty(value = "columns")
+ private List columns;
+
+ /**
+ * List of partition key.
+ */
+ @JsonProperty(value = "partitionKeys")
+ private List partitionKeys;
+
+ /**
+ * List of cluster key.
+ */
+ @JsonProperty(value = "clusterKeys")
+ private List clusterKeys;
+
+ /**
+ * Get list of Cassandra table columns.
+ *
+ * @return the columns value
+ */
+ public List columns() {
+ return this.columns;
+ }
+
+ /**
+ * Set list of Cassandra table columns.
+ *
+ * @param columns the columns value to set
+ * @return the CassandraSchema object itself.
+ */
+ public CassandraSchema withColumns(List columns) {
+ this.columns = columns;
+ return this;
+ }
+
+ /**
+ * Get list of partition key.
+ *
+ * @return the partitionKeys value
+ */
+ public List partitionKeys() {
+ return this.partitionKeys;
+ }
+
+ /**
+ * Set list of partition key.
+ *
+ * @param partitionKeys the partitionKeys value to set
+ * @return the CassandraSchema object itself.
+ */
+ public CassandraSchema withPartitionKeys(List partitionKeys) {
+ this.partitionKeys = partitionKeys;
+ return this;
+ }
+
+ /**
+ * Get list of cluster key.
+ *
+ * @return the clusterKeys value
+ */
+ public List clusterKeys() {
+ return this.clusterKeys;
+ }
+
+ /**
+ * Set list of cluster key.
+ *
+ * @param clusterKeys the clusterKeys value to set
+ * @return the CassandraSchema object itself.
+ */
+ public CassandraSchema withClusterKeys(List clusterKeys) {
+ this.clusterKeys = clusterKeys;
+ return this;
+ }
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CassandraTable.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CassandraTable.java
new file mode 100644
index 000000000000..7057423db00f
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CassandraTable.java
@@ -0,0 +1,61 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.CosmosDBManager;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.CassandraTableInner;
+import java.util.Map;
+
+/**
+ * Type representing CassandraTable.
+ */
+public interface CassandraTable extends HasInner, HasManager {
+ /**
+ * @return the cassandraTableId value.
+ */
+ String cassandraTableId();
+
+ /**
+ * @return the defaultTtl value.
+ */
+ Integer defaultTtl();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the location value.
+ */
+ String location();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the schema value.
+ */
+ CassandraSchema schema();
+
+ /**
+ * @return the tags value.
+ */
+ Map tags();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CassandraTableCreateUpdateParameters.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CassandraTableCreateUpdateParameters.java
new file mode 100644
index 000000000000..71433d405cfe
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CassandraTableCreateUpdateParameters.java
@@ -0,0 +1,73 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * Parameters to create and update Cosmos DB Cassandra table.
+ */
+@JsonFlatten
+public class CassandraTableCreateUpdateParameters {
+ /**
+ * The standard JSON format of a Cassandra table.
+ */
+ @JsonProperty(value = "properties.resource", required = true)
+ private CassandraTableResource resource;
+
+ /**
+ * A key-value pair of options to be applied for the request. This
+ * corresponds to the headers sent with the request.
+ */
+ @JsonProperty(value = "properties.options", required = true)
+ private Map options;
+
+ /**
+ * Get the standard JSON format of a Cassandra table.
+ *
+ * @return the resource value
+ */
+ public CassandraTableResource resource() {
+ return this.resource;
+ }
+
+ /**
+ * Set the standard JSON format of a Cassandra table.
+ *
+ * @param resource the resource value to set
+ * @return the CassandraTableCreateUpdateParameters object itself.
+ */
+ public CassandraTableCreateUpdateParameters withResource(CassandraTableResource resource) {
+ this.resource = resource;
+ return this;
+ }
+
+ /**
+ * Get a key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.
+ *
+ * @return the options value
+ */
+ public Map options() {
+ return this.options;
+ }
+
+ /**
+ * Set a key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.
+ *
+ * @param options the options value to set
+ * @return the CassandraTableCreateUpdateParameters object itself.
+ */
+ public CassandraTableCreateUpdateParameters withOptions(Map options) {
+ this.options = options;
+ return this;
+ }
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CassandraTableResource.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CassandraTableResource.java
new file mode 100644
index 000000000000..6118e97f2b11
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CassandraTableResource.java
@@ -0,0 +1,95 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Cosmos DB Cassandra table id object.
+ */
+public class CassandraTableResource {
+ /**
+ * Name of the Cosmos DB Cassandra table.
+ */
+ @JsonProperty(value = "id", required = true)
+ private String id;
+
+ /**
+ * Time to live of the Cosmos DB Cassandra table.
+ */
+ @JsonProperty(value = "defaultTtl")
+ private Integer defaultTtl;
+
+ /**
+ * Schema of the Cosmos DB Cassandra table.
+ */
+ @JsonProperty(value = "schema")
+ private CassandraSchema schema;
+
+ /**
+ * Get name of the Cosmos DB Cassandra table.
+ *
+ * @return the id value
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set name of the Cosmos DB Cassandra table.
+ *
+ * @param id the id value to set
+ * @return the CassandraTableResource object itself.
+ */
+ public CassandraTableResource withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get time to live of the Cosmos DB Cassandra table.
+ *
+ * @return the defaultTtl value
+ */
+ public Integer defaultTtl() {
+ return this.defaultTtl;
+ }
+
+ /**
+ * Set time to live of the Cosmos DB Cassandra table.
+ *
+ * @param defaultTtl the defaultTtl value to set
+ * @return the CassandraTableResource object itself.
+ */
+ public CassandraTableResource withDefaultTtl(Integer defaultTtl) {
+ this.defaultTtl = defaultTtl;
+ return this;
+ }
+
+ /**
+ * Get schema of the Cosmos DB Cassandra table.
+ *
+ * @return the schema value
+ */
+ public CassandraSchema schema() {
+ return this.schema;
+ }
+
+ /**
+ * Set schema of the Cosmos DB Cassandra table.
+ *
+ * @param schema the schema value to set
+ * @return the CassandraTableResource object itself.
+ */
+ public CassandraTableResource withSchema(CassandraSchema schema) {
+ this.schema = schema;
+ return this;
+ }
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/ClusterKey.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/ClusterKey.java
new file mode 100644
index 000000000000..45ea38f0b852
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/ClusterKey.java
@@ -0,0 +1,70 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Cosmos DB Cassandra table cluster key.
+ */
+public class ClusterKey {
+ /**
+ * Name of the Cosmos DB Cassandra table cluster key.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /**
+ * Order of the Cosmos DB Cassandra table cluster key, only support "Asc"
+ * and "Desc".
+ */
+ @JsonProperty(value = "orderBy")
+ private String orderBy;
+
+ /**
+ * Get name of the Cosmos DB Cassandra table cluster key.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set name of the Cosmos DB Cassandra table cluster key.
+ *
+ * @param name the name value to set
+ * @return the ClusterKey object itself.
+ */
+ public ClusterKey withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get order of the Cosmos DB Cassandra table cluster key, only support "Asc" and "Desc".
+ *
+ * @return the orderBy value
+ */
+ public String orderBy() {
+ return this.orderBy;
+ }
+
+ /**
+ * Set order of the Cosmos DB Cassandra table cluster key, only support "Asc" and "Desc".
+ *
+ * @param orderBy the orderBy value to set
+ * @return the ClusterKey object itself.
+ */
+ public ClusterKey withOrderBy(String orderBy) {
+ this.orderBy = orderBy;
+ return this;
+ }
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CollectionDatabasisDatabaseAccountMetric.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CollectionDatabasisDatabaseAccountMetric.java
index c66ba45a57a7..f81040613764 100644
--- a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CollectionDatabasisDatabaseAccountMetric.java
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CollectionDatabasisDatabaseAccountMetric.java
@@ -11,14 +11,14 @@
import com.microsoft.azure.arm.model.HasInner;
import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.MetricInner;
import com.microsoft.azure.arm.resources.models.HasManager;
-import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.DocumentDBManager;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.CosmosDBManager;
import org.joda.time.DateTime;
import java.util.List;
/**
* Type representing CollectionDatabasisDatabaseAccountMetric.
*/
-public interface CollectionDatabasisDatabaseAccountMetric extends HasInner, HasManager {
+public interface CollectionDatabasisDatabaseAccountMetric extends HasInner, HasManager {
/**
* @return the endTime value.
*/
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CollectionDatabasisDatabaseAccountMetricDefinition.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CollectionDatabasisDatabaseAccountMetricDefinition.java
index 40fd314c0d95..5253f6b6fc18 100644
--- a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CollectionDatabasisDatabaseAccountMetricDefinition.java
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CollectionDatabasisDatabaseAccountMetricDefinition.java
@@ -11,13 +11,13 @@
import com.microsoft.azure.arm.model.HasInner;
import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.MetricDefinitionInner;
import com.microsoft.azure.arm.resources.models.HasManager;
-import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.DocumentDBManager;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.CosmosDBManager;
import java.util.List;
/**
* Type representing CollectionDatabasisDatabaseAccountMetricDefinition.
*/
-public interface CollectionDatabasisDatabaseAccountMetricDefinition extends HasInner, HasManager {
+public interface CollectionDatabasisDatabaseAccountMetricDefinition extends HasInner, HasManager {
/**
* @return the metricAvailabilities value.
*/
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CollectionDatabasisDatabaseAccountMetricModel.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CollectionDatabasisDatabaseAccountMetricModel.java
index 4888a071fa38..627840565ec2 100644
--- a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CollectionDatabasisDatabaseAccountMetricModel.java
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CollectionDatabasisDatabaseAccountMetricModel.java
@@ -11,14 +11,14 @@
import com.microsoft.azure.arm.model.HasInner;
import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.MetricInner;
import com.microsoft.azure.arm.resources.models.HasManager;
-import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.DocumentDBManager;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.CosmosDBManager;
import org.joda.time.DateTime;
import java.util.List;
/**
* Type representing CollectionDatabasisDatabaseAccountMetricModel.
*/
-public interface CollectionDatabasisDatabaseAccountMetricModel extends HasInner, HasManager {
+public interface CollectionDatabasisDatabaseAccountMetricModel extends HasInner, HasManager {
/**
* @return the endTime value.
*/
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CollectionDatabasisDatabaseAccountUsage.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CollectionDatabasisDatabaseAccountUsage.java
index 1591f221890f..1ad433e3a8cc 100644
--- a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CollectionDatabasisDatabaseAccountUsage.java
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/CollectionDatabasisDatabaseAccountUsage.java
@@ -11,12 +11,12 @@
import com.microsoft.azure.arm.model.HasInner;
import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.UsageInner;
import com.microsoft.azure.arm.resources.models.HasManager;
-import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.DocumentDBManager;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.CosmosDBManager;
/**
* Type representing CollectionDatabasisDatabaseAccountUsage.
*/
-public interface CollectionDatabasisDatabaseAccountUsage extends HasInner, HasManager {
+public interface CollectionDatabasisDatabaseAccountUsage extends HasInner, HasManager {
/**
* @return the currentValue value.
*/
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/Collections.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/Collections.java
index 64f0cdf744bc..308b198dedcd 100644
--- a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/Collections.java
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/Collections.java
@@ -18,7 +18,7 @@
*/
public interface Collections {
/**
- * Retrieves metric defintions for the given collection.
+ * Retrieves metric definitions for the given collection.
*
* @param resourceGroupName Name of an Azure resource group.
* @param accountName Cosmos DB database account name.
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/Column.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/Column.java
new file mode 100644
index 000000000000..66474dd6d67b
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/Column.java
@@ -0,0 +1,69 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Cosmos DB Cassandra table column.
+ */
+public class Column {
+ /**
+ * Name of the Cosmos DB Cassandra table column.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /**
+ * Type of the Cosmos DB Cassandra table column.
+ */
+ @JsonProperty(value = "type")
+ private String type;
+
+ /**
+ * Get name of the Cosmos DB Cassandra table column.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set name of the Cosmos DB Cassandra table column.
+ *
+ * @param name the name value to set
+ * @return the Column object itself.
+ */
+ public Column withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get type of the Cosmos DB Cassandra table column.
+ *
+ * @return the type value
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Set type of the Cosmos DB Cassandra table column.
+ *
+ * @param type the type value to set
+ * @return the Column object itself.
+ */
+ public Column withType(String type) {
+ this.type = type;
+ return this;
+ }
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/ConflictResolutionMode.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/ConflictResolutionMode.java
new file mode 100644
index 000000000000..f548581daa8b
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/ConflictResolutionMode.java
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for ConflictResolutionMode.
+ */
+public final class ConflictResolutionMode extends ExpandableStringEnum {
+ /** Static value LastWriterWins for ConflictResolutionMode. */
+ public static final ConflictResolutionMode LAST_WRITER_WINS = fromString("LastWriterWins");
+
+ /** Static value Custom for ConflictResolutionMode. */
+ public static final ConflictResolutionMode CUSTOM = fromString("Custom");
+
+ /**
+ * Creates or finds a ConflictResolutionMode from its string representation.
+ * @param name a name to look for
+ * @return the corresponding ConflictResolutionMode
+ */
+ @JsonCreator
+ public static ConflictResolutionMode fromString(String name) {
+ return fromString(name, ConflictResolutionMode.class);
+ }
+
+ /**
+ * @return known ConflictResolutionMode values
+ */
+ public static Collection values() {
+ return values(ConflictResolutionMode.class);
+ }
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/ConflictResolutionPolicy.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/ConflictResolutionPolicy.java
new file mode 100644
index 000000000000..e14e3d639f55
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/ConflictResolutionPolicy.java
@@ -0,0 +1,96 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The conflict resolution policy for the container.
+ */
+public class ConflictResolutionPolicy {
+ /**
+ * Indicates the conflict resolution mode. Possible values include:
+ * 'LastWriterWins', 'Custom'.
+ */
+ @JsonProperty(value = "mode")
+ private ConflictResolutionMode mode;
+
+ /**
+ * The conflict resolution path in the case of LastWriterWins mode.
+ */
+ @JsonProperty(value = "conflictResolutionPath")
+ private String conflictResolutionPath;
+
+ /**
+ * The procedure to resolve conflicts in the case of custom mode.
+ */
+ @JsonProperty(value = "conflictResolutionProcedure")
+ private String conflictResolutionProcedure;
+
+ /**
+ * Get indicates the conflict resolution mode. Possible values include: 'LastWriterWins', 'Custom'.
+ *
+ * @return the mode value
+ */
+ public ConflictResolutionMode mode() {
+ return this.mode;
+ }
+
+ /**
+ * Set indicates the conflict resolution mode. Possible values include: 'LastWriterWins', 'Custom'.
+ *
+ * @param mode the mode value to set
+ * @return the ConflictResolutionPolicy object itself.
+ */
+ public ConflictResolutionPolicy withMode(ConflictResolutionMode mode) {
+ this.mode = mode;
+ return this;
+ }
+
+ /**
+ * Get the conflict resolution path in the case of LastWriterWins mode.
+ *
+ * @return the conflictResolutionPath value
+ */
+ public String conflictResolutionPath() {
+ return this.conflictResolutionPath;
+ }
+
+ /**
+ * Set the conflict resolution path in the case of LastWriterWins mode.
+ *
+ * @param conflictResolutionPath the conflictResolutionPath value to set
+ * @return the ConflictResolutionPolicy object itself.
+ */
+ public ConflictResolutionPolicy withConflictResolutionPath(String conflictResolutionPath) {
+ this.conflictResolutionPath = conflictResolutionPath;
+ return this;
+ }
+
+ /**
+ * Get the procedure to resolve conflicts in the case of custom mode.
+ *
+ * @return the conflictResolutionProcedure value
+ */
+ public String conflictResolutionProcedure() {
+ return this.conflictResolutionProcedure;
+ }
+
+ /**
+ * Set the procedure to resolve conflicts in the case of custom mode.
+ *
+ * @param conflictResolutionProcedure the conflictResolutionProcedure value to set
+ * @return the ConflictResolutionPolicy object itself.
+ */
+ public ConflictResolutionPolicy withConflictResolutionProcedure(String conflictResolutionProcedure) {
+ this.conflictResolutionProcedure = conflictResolutionProcedure;
+ return this;
+ }
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/ContainerPartitionKey.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/ContainerPartitionKey.java
new file mode 100644
index 000000000000..25b9e1690116
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/ContainerPartitionKey.java
@@ -0,0 +1,72 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The configuration of the partition key to be used for partitioning data into
+ * multiple partitions.
+ */
+public class ContainerPartitionKey {
+ /**
+ * List of paths using which data within the container can be partitioned.
+ */
+ @JsonProperty(value = "paths")
+ private List paths;
+
+ /**
+ * Indicates the kind of algorithm used for partitioning. Possible values
+ * include: 'Hash', 'Range'.
+ */
+ @JsonProperty(value = "kind")
+ private PartitionKind kind;
+
+ /**
+ * Get list of paths using which data within the container can be partitioned.
+ *
+ * @return the paths value
+ */
+ public List paths() {
+ return this.paths;
+ }
+
+ /**
+ * Set list of paths using which data within the container can be partitioned.
+ *
+ * @param paths the paths value to set
+ * @return the ContainerPartitionKey object itself.
+ */
+ public ContainerPartitionKey withPaths(List paths) {
+ this.paths = paths;
+ return this;
+ }
+
+ /**
+ * Get indicates the kind of algorithm used for partitioning. Possible values include: 'Hash', 'Range'.
+ *
+ * @return the kind value
+ */
+ public PartitionKind kind() {
+ return this.kind;
+ }
+
+ /**
+ * Set indicates the kind of algorithm used for partitioning. Possible values include: 'Hash', 'Range'.
+ *
+ * @param kind the kind value to set
+ * @return the ContainerPartitionKey object itself.
+ */
+ public ContainerPartitionKey withKind(PartitionKind kind) {
+ this.kind = kind;
+ return this;
+ }
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DataType.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DataType.java
new file mode 100644
index 000000000000..6c05d35b1d14
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DataType.java
@@ -0,0 +1,53 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for DataType.
+ */
+public final class DataType extends ExpandableStringEnum {
+ /** Static value String for DataType. */
+ public static final DataType STRING = fromString("String");
+
+ /** Static value Number for DataType. */
+ public static final DataType NUMBER = fromString("Number");
+
+ /** Static value Point for DataType. */
+ public static final DataType POINT = fromString("Point");
+
+ /** Static value Polygon for DataType. */
+ public static final DataType POLYGON = fromString("Polygon");
+
+ /** Static value LineString for DataType. */
+ public static final DataType LINE_STRING = fromString("LineString");
+
+ /** Static value MultiPolygon for DataType. */
+ public static final DataType MULTI_POLYGON = fromString("MultiPolygon");
+
+ /**
+ * Creates or finds a DataType from its string representation.
+ * @param name a name to look for
+ * @return the corresponding DataType
+ */
+ @JsonCreator
+ public static DataType fromString(String name) {
+ return fromString(name, DataType.class);
+ }
+
+ /**
+ * @return known DataType values
+ */
+ public static Collection values() {
+ return values(DataType.class);
+ }
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabaseAccount.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabaseAccount.java
index fc82aa718965..be9c08fbd3bb 100644
--- a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabaseAccount.java
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabaseAccount.java
@@ -17,14 +17,14 @@
import com.microsoft.azure.arm.model.Appliable;
import com.microsoft.azure.arm.model.Creatable;
import com.microsoft.azure.arm.resources.models.HasManager;
-import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.DocumentDBManager;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.CosmosDBManager;
import java.util.List;
import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.DatabaseAccountInner;
/**
* Type representing DatabaseAccount.
*/
-public interface DatabaseAccount extends HasInner, Resource, GroupableResourceCore, HasResourceGroup, Refreshable, Updatable, HasManager {
+public interface DatabaseAccount extends HasInner, Resource, GroupableResourceCore, HasResourceGroup, Refreshable, Updatable, HasManager {
/**
* @return the capabilities value.
*/
@@ -50,6 +50,11 @@ public interface DatabaseAccount extends HasInner, Resourc
*/
Boolean enableAutomaticFailover();
+ /**
+ * @return the enableMultipleWriteLocations value.
+ */
+ Boolean enableMultipleWriteLocations();
+
/**
* @return the failoverPolicies value.
*/
@@ -118,7 +123,9 @@ interface WithGroup extends GroupableResourceCore.DefinitionStages.WithGroup locations);
}
/**
- * The stage of the databaseaccount update allowing to specify Capabilities.
+ * The stage of the databaseaccount definition allowing to specify Capabilities.
*/
interface WithCapabilities {
/**
* Specifies capabilities.
+ * @param capabilities List of Cosmos DB capabilities for the account
+ * @return the next definition stage
*/
WithCreate withCapabilities(List capabilities);
}
/**
- * The stage of the databaseaccount update allowing to specify ConsistencyPolicy.
+ * The stage of the databaseaccount definition allowing to specify ConsistencyPolicy.
*/
interface WithConsistencyPolicy {
/**
* Specifies consistencyPolicy.
+ * @param consistencyPolicy The consistency policy for the Cosmos DB account
+ * @return the next definition stage
*/
WithCreate withConsistencyPolicy(ConsistencyPolicy consistencyPolicy);
}
/**
- * The stage of the databaseaccount update allowing to specify EnableAutomaticFailover.
+ * The stage of the databaseaccount definition allowing to specify EnableAutomaticFailover.
*/
interface WithEnableAutomaticFailover {
/**
* Specifies enableAutomaticFailover.
+ * @param enableAutomaticFailover 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
+ * @return the next definition stage
*/
WithCreate withEnableAutomaticFailover(Boolean enableAutomaticFailover);
}
/**
- * The stage of the databaseaccount update allowing to specify IpRangeFilter.
+ * The stage of the databaseaccount definition allowing to specify EnableMultipleWriteLocations.
+ */
+ interface WithEnableMultipleWriteLocations {
+ /**
+ * Specifies enableMultipleWriteLocations.
+ * @param enableMultipleWriteLocations Enables the account to write in multiple locations
+ * @return the next definition stage
+ */
+ WithCreate withEnableMultipleWriteLocations(Boolean enableMultipleWriteLocations);
+ }
+
+ /**
+ * The stage of the databaseaccount definition allowing to specify IpRangeFilter.
*/
interface WithIpRangeFilter {
/**
* Specifies ipRangeFilter.
+ * @param ipRangeFilter 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
+ * @return the next definition stage
*/
WithCreate withIpRangeFilter(String ipRangeFilter);
}
/**
- * The stage of the databaseaccount update allowing to specify IsVirtualNetworkFilterEnabled.
+ * The stage of the databaseaccount definition allowing to specify IsVirtualNetworkFilterEnabled.
*/
interface WithIsVirtualNetworkFilterEnabled {
/**
* Specifies isVirtualNetworkFilterEnabled.
+ * @param isVirtualNetworkFilterEnabled Flag to indicate whether to enable/disable Virtual Network ACL rules
+ * @return the next definition stage
*/
WithCreate withIsVirtualNetworkFilterEnabled(Boolean isVirtualNetworkFilterEnabled);
}
/**
- * The stage of the databaseaccount update allowing to specify Kind.
+ * The stage of the databaseaccount definition allowing to specify Kind.
*/
interface WithKind {
/**
* Specifies kind.
+ * @param kind Indicates the type of database account. This can only be set at database account creation. Possible values include: 'GlobalDocumentDB', 'MongoDB', 'Parse'
+ * @return the next definition stage
*/
WithCreate withKind(DatabaseAccountKind kind);
}
/**
- * The stage of the databaseaccount update allowing to specify VirtualNetworkRules.
+ * The stage of the databaseaccount definition allowing to specify VirtualNetworkRules.
*/
interface WithVirtualNetworkRules {
/**
* Specifies virtualNetworkRules.
+ * @param virtualNetworkRules List of Virtual Network ACL rules configured for the Cosmos DB account
+ * @return the next definition stage
*/
WithCreate withVirtualNetworkRules(List virtualNetworkRules);
}
@@ -207,7 +242,7 @@ interface WithVirtualNetworkRules {
* the resource to be created (via {@link WithCreate#create()}), but also allows
* for any other optional settings to be specified.
*/
- interface WithCreate extends Creatable, Resource.DefinitionWithTags, DefinitionStages.WithCapabilities, DefinitionStages.WithConsistencyPolicy, DefinitionStages.WithEnableAutomaticFailover, DefinitionStages.WithIpRangeFilter, DefinitionStages.WithIsVirtualNetworkFilterEnabled, DefinitionStages.WithKind, DefinitionStages.WithVirtualNetworkRules {
+ interface WithCreate extends Creatable, Resource.DefinitionWithTags, DefinitionStages.WithCapabilities, DefinitionStages.WithConsistencyPolicy, DefinitionStages.WithEnableAutomaticFailover, DefinitionStages.WithEnableMultipleWriteLocations, DefinitionStages.WithIpRangeFilter, DefinitionStages.WithIsVirtualNetworkFilterEnabled, DefinitionStages.WithKind, DefinitionStages.WithVirtualNetworkRules {
}
}
/**
@@ -221,11 +256,13 @@ interface Update extends Appliable, Resource.UpdateWithTags capabilities);
}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabaseAccountCreateUpdateParameters.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabaseAccountCreateUpdateParameters.java
index 0ec79c3e9d99..57403672cffa 100644
--- a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabaseAccountCreateUpdateParameters.java
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabaseAccountCreateUpdateParameters.java
@@ -11,12 +11,14 @@
import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.rest.SkipParentValidation;
import com.microsoft.azure.Resource;
/**
* Parameters to create and update Cosmos DB database accounts.
*/
@JsonFlatten
+@SkipParentValidation
public class DatabaseAccountCreateUpdateParameters extends Resource {
/**
* Indicates the type of database account. This can only be set at database
@@ -40,7 +42,7 @@ public class DatabaseAccountCreateUpdateParameters extends Resource {
private List locations;
/**
- * The databaseAccountOfferType property.
+ * The offer type for the database.
*/
@JsonProperty(value = "properties.databaseAccountOfferType", required = true)
private String databaseAccountOfferType;
@@ -81,6 +83,12 @@ public class DatabaseAccountCreateUpdateParameters extends Resource {
@JsonProperty(value = "properties.virtualNetworkRules")
private List virtualNetworkRules;
+ /**
+ * Enables the account to write in multiple locations.
+ */
+ @JsonProperty(value = "properties.enableMultipleWriteLocations")
+ private Boolean enableMultipleWriteLocations;
+
/**
* Creates an instance of DatabaseAccountCreateUpdateParameters class.
* @param locations an array that contains the georeplication locations enabled for the Cosmos DB account.
@@ -150,7 +158,7 @@ public DatabaseAccountCreateUpdateParameters withLocations(List locati
}
/**
- * Get the databaseAccountOfferType value.
+ * Get the offer type for the database.
*
* @return the databaseAccountOfferType value
*/
@@ -159,7 +167,7 @@ public String databaseAccountOfferType() {
}
/**
- * Set the databaseAccountOfferType value.
+ * Set the offer type for the database.
*
* @param databaseAccountOfferType the databaseAccountOfferType value to set
* @return the DatabaseAccountCreateUpdateParameters object itself.
@@ -269,4 +277,24 @@ public DatabaseAccountCreateUpdateParameters withVirtualNetworkRules(List, HasManager {
+public interface DatabaseAccountListConnectionStringsResult extends HasInner, HasManager {
/**
* @return the connectionStrings value.
*/
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabaseAccountListKeysResult.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabaseAccountListKeysResult.java
index 08a891e07570..b0c705cad284 100644
--- a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabaseAccountListKeysResult.java
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabaseAccountListKeysResult.java
@@ -10,13 +10,13 @@
import com.microsoft.azure.arm.model.HasInner;
import com.microsoft.azure.arm.resources.models.HasManager;
-import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.DocumentDBManager;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.CosmosDBManager;
import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.DatabaseAccountListKeysResultInner;
/**
* Type representing DatabaseAccountListKeysResult.
*/
-public interface DatabaseAccountListKeysResult extends HasInner, HasManager {
+public interface DatabaseAccountListKeysResult extends HasInner, HasManager {
/**
* @return the primaryMasterKey value.
*/
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabaseAccountListReadOnlyKeysResult.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabaseAccountListReadOnlyKeysResult.java
index 7494d9359013..613b002ed9ee 100644
--- a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabaseAccountListReadOnlyKeysResult.java
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabaseAccountListReadOnlyKeysResult.java
@@ -10,13 +10,13 @@
import com.microsoft.azure.arm.model.HasInner;
import com.microsoft.azure.arm.resources.models.HasManager;
-import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.DocumentDBManager;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.CosmosDBManager;
import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.DatabaseAccountListReadOnlyKeysResultInner;
/**
* Type representing DatabaseAccountListReadOnlyKeysResult.
*/
-public interface DatabaseAccountListReadOnlyKeysResult extends HasInner, HasManager {
+public interface DatabaseAccountListReadOnlyKeysResult extends HasInner, HasManager {
/**
* @return the primaryReadonlyMasterKey value.
*/
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabaseAccountMetric.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabaseAccountMetric.java
index 0b7368ff0045..e2b422e5cdc0 100644
--- a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabaseAccountMetric.java
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabaseAccountMetric.java
@@ -11,14 +11,14 @@
import com.microsoft.azure.arm.model.HasInner;
import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.MetricInner;
import com.microsoft.azure.arm.resources.models.HasManager;
-import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.DocumentDBManager;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.CosmosDBManager;
import org.joda.time.DateTime;
import java.util.List;
/**
* Type representing DatabaseAccountMetric.
*/
-public interface DatabaseAccountMetric extends HasInner, HasManager {
+public interface DatabaseAccountMetric extends HasInner, HasManager {
/**
* @return the endTime value.
*/
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabaseAccountMetricDefinition.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabaseAccountMetricDefinition.java
index 706f921065be..c2256d7c4028 100644
--- a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabaseAccountMetricDefinition.java
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabaseAccountMetricDefinition.java
@@ -11,13 +11,13 @@
import com.microsoft.azure.arm.model.HasInner;
import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.MetricDefinitionInner;
import com.microsoft.azure.arm.resources.models.HasManager;
-import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.DocumentDBManager;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.CosmosDBManager;
import java.util.List;
/**
* Type representing DatabaseAccountMetricDefinition.
*/
-public interface DatabaseAccountMetricDefinition extends HasInner, HasManager {
+public interface DatabaseAccountMetricDefinition extends HasInner, HasManager {
/**
* @return the metricAvailabilities value.
*/
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabaseAccountUsage.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabaseAccountUsage.java
index 370396418cfc..0b34841eb8cc 100644
--- a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabaseAccountUsage.java
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabaseAccountUsage.java
@@ -11,12 +11,12 @@
import com.microsoft.azure.arm.model.HasInner;
import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.UsageInner;
import com.microsoft.azure.arm.resources.models.HasManager;
-import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.DocumentDBManager;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.CosmosDBManager;
/**
* Type representing DatabaseAccountUsage.
*/
-public interface DatabaseAccountUsage extends HasInner, HasManager {
+public interface DatabaseAccountUsage extends HasInner, HasManager {
/**
* @return the currentValue value.
*/
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabaseAccounts.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabaseAccounts.java
index c8b29a04b91c..c167b0bbaace 100644
--- a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabaseAccounts.java
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabaseAccounts.java
@@ -22,11 +22,56 @@
import com.microsoft.azure.management.cosmosdb.v2015_04_08.DatabaseAccountMetric;
import com.microsoft.azure.management.cosmosdb.v2015_04_08.DatabaseAccountUsage;
import com.microsoft.azure.management.cosmosdb.v2015_04_08.DatabaseAccountMetricDefinition;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.SqlContainer;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.MongoDBCollection;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.GremlinGraph;
/**
* Type representing DatabaseAccounts.
*/
public interface DatabaseAccounts extends SupportsCreating, SupportsDeletingByResourceGroup, SupportsBatchDeletion, SupportsGettingByResourceGroup, SupportsListingByResourceGroup, SupportsListing, HasInner {
+ /**
+ * Begins definition for a new Databasis resource.
+ * @param name resource name.
+ * @return the first stage of the new Databasis definition.
+ */
+ SqlDatabase.DefinitionStages.Blank defineDatabasis(String name);
+
+ /**
+ * Begins definition for a new Container resource.
+ * @param name resource name.
+ * @return the first stage of the new Container definition.
+ */
+ SqlContainer.DefinitionStages.Blank defineContainer(String name);
+
+ /**
+ * Begins definition for a new Collection resource.
+ * @param name resource name.
+ * @return the first stage of the new Collection definition.
+ */
+ MongoDBCollection.DefinitionStages.Blank defineCollection(String name);
+
+ /**
+ * Begins definition for a new Table resource.
+ * @param name resource name.
+ * @return the first stage of the new Table definition.
+ */
+ Table.DefinitionStages.Blank defineTable(String name);
+
+ /**
+ * Begins definition for a new Keyspace resource.
+ * @param name resource name.
+ * @return the first stage of the new Keyspace definition.
+ */
+ CassandraKeyspace.DefinitionStages.Blank defineKeyspace(String name);
+
+ /**
+ * Begins definition for a new Graph resource.
+ * @param name resource name.
+ * @return the first stage of the new Graph definition.
+ */
+ GremlinGraph.DefinitionStages.Blank defineGraph(String name);
+
/**
* Changes the failover priority for the Azure Cosmos DB database account. 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.
*
@@ -118,7 +163,7 @@ public interface DatabaseAccounts extends SupportsCreating checkNameExistsAsync(String accountName);
/**
* Retrieves the metrics determined by the given filter for the given database account.
@@ -142,7 +187,7 @@ public interface DatabaseAccounts extends SupportsCreating listUsagesAsync(String resourceGroupName, String accountName);
/**
- * Retrieves metric defintions for the given database account.
+ * Retrieves metric definitions for the given database account.
*
* @param resourceGroupName Name of an Azure resource group.
* @param accountName Cosmos DB database account name.
@@ -151,4 +196,341 @@ public interface DatabaseAccounts extends SupportsCreating listMetricDefinitionsAsync(String resourceGroupName, String accountName);
+ /**
+ * Lists the SQL databases under an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param accountName Cosmos DB database account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listSqlDatabasesAsync(String resourceGroupName, String accountName);
+
+ /**
+ * Gets the SQL databases under an existing Azure Cosmos DB database account with the provided name.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getSqlDatabaseAsync(String resourceGroupName, String accountName, String databaseName);
+
+ /**
+ * Deletes an existing Azure Cosmos DB SQL database.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteSqlDatabaseAsync(String resourceGroupName, String accountName, String databaseName);
+
+ /**
+ * Lists the MongoDB databases under an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param accountName Cosmos DB database account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listMongoDBDatabasesAsync(String resourceGroupName, String accountName);
+
+ /**
+ * Gets the MongoDB databases under an existing Azure Cosmos DB database account with the provided name.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getMongoDBDatabaseAsync(String resourceGroupName, String accountName, String databaseName);
+
+ /**
+ * Create or updates Azure Cosmos DB MongoDB database.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param createUpdateMongoDBDatabaseParameters The parameters to provide for the current MongoDB database.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable createUpdateMongoDBDatabaseAsync(String resourceGroupName, String accountName, String databaseName, MongoDBDatabaseCreateUpdateParameters createUpdateMongoDBDatabaseParameters);
+
+ /**
+ * Deletes an existing Azure Cosmos DB MongoDB database.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteMongoDBDatabaseAsync(String resourceGroupName, String accountName, String databaseName);
+
+ /**
+ * Lists the Gremlin databases under an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param accountName Cosmos DB database account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listGremlinDatabasesAsync(String resourceGroupName, String accountName);
+
+ /**
+ * Gets the Gremlin databases under an existing Azure Cosmos DB database account with the provided name.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getGremlinDatabaseAsync(String resourceGroupName, String accountName, String databaseName);
+
+ /**
+ * Create or update an Azure Cosmos DB Gremlin database.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param createUpdateGremlinDatabaseParameters The parameters to provide for the current Gremlin database.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable createUpdateGremlinDatabaseAsync(String resourceGroupName, String accountName, String databaseName, GremlinDatabaseCreateUpdateParameters createUpdateGremlinDatabaseParameters);
+
+ /**
+ * Deletes an existing Azure Cosmos DB Gremlin database.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteGremlinDatabaseAsync(String resourceGroupName, String accountName, String databaseName);
+
+ /**
+ * Gets the SQL container under an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param containerName Cosmos DB container name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getSqlContainerAsync(String resourceGroupName, String accountName, String databaseName, String containerName);
+
+ /**
+ * Lists the SQL container under an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listSqlContainersAsync(String resourceGroupName, String accountName, String databaseName);
+
+ /**
+ * Deletes an existing Azure Cosmos DB SQL container.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param containerName Cosmos DB container name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteSqlContainerAsync(String resourceGroupName, String accountName, String databaseName, String containerName);
+
+ /**
+ * Gets the MongoDB collection under an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param collectionName Cosmos DB collection name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getMongoDBCollectionAsync(String resourceGroupName, String accountName, String databaseName, String collectionName);
+
+ /**
+ * Lists the MongoDB collection under an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listMongoDBCollectionsAsync(String resourceGroupName, String accountName, String databaseName);
+
+ /**
+ * Deletes an existing Azure Cosmos DB MongoDB Collection.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param collectionName Cosmos DB collection name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteMongoDBCollectionAsync(String resourceGroupName, String accountName, String databaseName, String collectionName);
+
+ /**
+ * Lists the Tables under an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param accountName Cosmos DB database account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listTablesAsync(String resourceGroupName, String accountName);
+
+ /**
+ * Gets the Tables under an existing Azure Cosmos DB database account with the provided name.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param accountName Cosmos DB database account name.
+ * @param tableName Cosmos DB table name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getTableAsync(String resourceGroupName, String accountName, String tableName);
+
+ /**
+ * Deletes an existing Azure Cosmos DB Table.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param accountName Cosmos DB database account name.
+ * @param tableName Cosmos DB table name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteTableAsync(String resourceGroupName, String accountName, String tableName);
+
+ /**
+ * Lists the Cassandra table under an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listCassandraTablesAsync(String resourceGroupName, String accountName, String keyspaceName);
+
+ /**
+ * Gets the Cassandra table under an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @param tableName Cosmos DB table name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getCassandraTableAsync(String resourceGroupName, String accountName, String keyspaceName, String tableName);
+
+ /**
+ * Create or update an Azure Cosmos DB Cassandra Table.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @param tableName Cosmos DB table name.
+ * @param createUpdateCassandraTableParameters The parameters to provide for the current Cassandra Table.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable createUpdateCassandraTableAsync(String resourceGroupName, String accountName, String keyspaceName, String tableName, CassandraTableCreateUpdateParameters createUpdateCassandraTableParameters);
+
+ /**
+ * Deletes an existing Azure Cosmos DB Cassandra table.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @param tableName Cosmos DB table name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteCassandraTableAsync(String resourceGroupName, String accountName, String keyspaceName, String tableName);
+
+ /**
+ * Lists the Cassandra keyspaces under an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param accountName Cosmos DB database account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listCassandraKeyspacesAsync(String resourceGroupName, String accountName);
+
+ /**
+ * Gets the Cassandra keyspaces under an existing Azure Cosmos DB database account with the provided name.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getCassandraKeyspaceAsync(String resourceGroupName, String accountName, String keyspaceName);
+
+ /**
+ * Deletes an existing Azure Cosmos DB Cassandra keyspace.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteCassandraKeyspaceAsync(String resourceGroupName, String accountName, String keyspaceName);
+
+ /**
+ * Gets the Gremlin graph under an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param graphName Cosmos DB graph name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getGremlinGraphAsync(String resourceGroupName, String accountName, String databaseName, String graphName);
+
+ /**
+ * Lists the Gremlin graph under an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listGremlinGraphsAsync(String resourceGroupName, String accountName, String databaseName);
+
+ /**
+ * Deletes an existing Azure Cosmos DB Gremlin graph.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param graphName Cosmos DB graph name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteGremlinGraphAsync(String resourceGroupName, String accountName, String databaseName, String graphName);
+
}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/Databases.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/Databases.java
index 122c38b5d3fa..be27b8b60c0d 100644
--- a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/Databases.java
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/Databases.java
@@ -18,7 +18,7 @@
*/
public interface Databases {
/**
- * Retrieves metric defintions for the given database.
+ * Retrieves metric definitions for the given database.
*
* @param resourceGroupName Name of an Azure resource group.
* @param accountName Cosmos DB database account name.
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabasisDatabaseAccountMetric.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabasisDatabaseAccountMetric.java
index 9afba95e1fc0..ae60f081859b 100644
--- a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabasisDatabaseAccountMetric.java
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabasisDatabaseAccountMetric.java
@@ -11,14 +11,14 @@
import com.microsoft.azure.arm.model.HasInner;
import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.MetricInner;
import com.microsoft.azure.arm.resources.models.HasManager;
-import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.DocumentDBManager;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.CosmosDBManager;
import org.joda.time.DateTime;
import java.util.List;
/**
* Type representing DatabasisDatabaseAccountMetric.
*/
-public interface DatabasisDatabaseAccountMetric extends HasInner, HasManager {
+public interface DatabasisDatabaseAccountMetric extends HasInner, HasManager {
/**
* @return the endTime value.
*/
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabasisDatabaseAccountMetricDefinition.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabasisDatabaseAccountMetricDefinition.java
index afdc01b24010..402b93eaec63 100644
--- a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabasisDatabaseAccountMetricDefinition.java
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabasisDatabaseAccountMetricDefinition.java
@@ -11,13 +11,13 @@
import com.microsoft.azure.arm.model.HasInner;
import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.MetricDefinitionInner;
import com.microsoft.azure.arm.resources.models.HasManager;
-import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.DocumentDBManager;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.CosmosDBManager;
import java.util.List;
/**
* Type representing DatabasisDatabaseAccountMetricDefinition.
*/
-public interface DatabasisDatabaseAccountMetricDefinition extends HasInner, HasManager {
+public interface DatabasisDatabaseAccountMetricDefinition extends HasInner, HasManager {
/**
* @return the metricAvailabilities value.
*/
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabasisDatabaseAccountUsage.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabasisDatabaseAccountUsage.java
index 8c7681221664..c3e19ca660f1 100644
--- a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabasisDatabaseAccountUsage.java
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/DatabasisDatabaseAccountUsage.java
@@ -11,12 +11,12 @@
import com.microsoft.azure.arm.model.HasInner;
import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.UsageInner;
import com.microsoft.azure.arm.resources.models.HasManager;
-import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.DocumentDBManager;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.CosmosDBManager;
/**
* Type representing DatabasisDatabaseAccountUsage.
*/
-public interface DatabasisDatabaseAccountUsage extends HasInner, HasManager {
+public interface DatabasisDatabaseAccountUsage extends HasInner, HasManager {
/**
* @return the currentValue value.
*/
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/ExcludedPath.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/ExcludedPath.java
new file mode 100644
index 000000000000..3885d4e55285
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/ExcludedPath.java
@@ -0,0 +1,44 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The ExcludedPath model.
+ */
+public class ExcludedPath {
+ /**
+ * The path for which the indexing behavior applies to. Index paths
+ * typically start with root and end with wildcard (/path/*).
+ */
+ @JsonProperty(value = "path")
+ private String path;
+
+ /**
+ * Get the path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*).
+ *
+ * @return the path value
+ */
+ public String path() {
+ return this.path;
+ }
+
+ /**
+ * Set the path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*).
+ *
+ * @param path the path value to set
+ * @return the ExcludedPath object itself.
+ */
+ public ExcludedPath withPath(String path) {
+ this.path = path;
+ return this;
+ }
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/ExtendedResourceProperties.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/ExtendedResourceProperties.java
new file mode 100644
index 000000000000..184b855ded0d
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/ExtendedResourceProperties.java
@@ -0,0 +1,98 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The system generated resource properties associated with SQL databases and
+ * SQL containers.
+ */
+public class ExtendedResourceProperties {
+ /**
+ * A system generated property. A unique identifier.
+ */
+ @JsonProperty(value = "_rid")
+ private String _rid;
+
+ /**
+ * A system generated property that denotes the last updated timestamp of
+ * the resource.
+ */
+ @JsonProperty(value = "_ts")
+ private Object _ts;
+
+ /**
+ * A system generated property representing the resource etag required for
+ * optimistic concurrency control.
+ */
+ @JsonProperty(value = "_etag")
+ private String _etag;
+
+ /**
+ * Get a system generated property. A unique identifier.
+ *
+ * @return the _rid value
+ */
+ public String _rid() {
+ return this._rid;
+ }
+
+ /**
+ * Set a system generated property. A unique identifier.
+ *
+ * @param _rid the _rid value to set
+ * @return the ExtendedResourceProperties object itself.
+ */
+ public ExtendedResourceProperties with_rid(String _rid) {
+ this._rid = _rid;
+ return this;
+ }
+
+ /**
+ * Get a system generated property that denotes the last updated timestamp of the resource.
+ *
+ * @return the _ts value
+ */
+ public Object _ts() {
+ return this._ts;
+ }
+
+ /**
+ * Set a system generated property that denotes the last updated timestamp of the resource.
+ *
+ * @param _ts the _ts value to set
+ * @return the ExtendedResourceProperties object itself.
+ */
+ public ExtendedResourceProperties with_ts(Object _ts) {
+ this._ts = _ts;
+ return this;
+ }
+
+ /**
+ * Get a system generated property representing the resource etag required for optimistic concurrency control.
+ *
+ * @return the _etag value
+ */
+ public String _etag() {
+ return this._etag;
+ }
+
+ /**
+ * Set a system generated property representing the resource etag required for optimistic concurrency control.
+ *
+ * @param _etag the _etag value to set
+ * @return the ExtendedResourceProperties object itself.
+ */
+ public ExtendedResourceProperties with_etag(String _etag) {
+ this._etag = _etag;
+ return this;
+ }
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/GremlinDatabase.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/GremlinDatabase.java
new file mode 100644
index 000000000000..b8c32d366393
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/GremlinDatabase.java
@@ -0,0 +1,66 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.CosmosDBManager;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.GremlinDatabaseInner;
+import java.util.Map;
+
+/**
+ * Type representing GremlinDatabase.
+ */
+public interface GremlinDatabase extends HasInner, HasManager {
+ /**
+ * @return the _etag value.
+ */
+ String _etag();
+
+ /**
+ * @return the _rid value.
+ */
+ String _rid();
+
+ /**
+ * @return the _ts value.
+ */
+ Object _ts();
+
+ /**
+ * @return the gremlinDatabaseId value.
+ */
+ String gremlinDatabaseId();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the location value.
+ */
+ String location();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the tags value.
+ */
+ Map tags();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/GremlinDatabaseCreateUpdateParameters.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/GremlinDatabaseCreateUpdateParameters.java
new file mode 100644
index 000000000000..1008c5811eb7
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/GremlinDatabaseCreateUpdateParameters.java
@@ -0,0 +1,73 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * Parameters to create and update Cosmos DB Gremlin database.
+ */
+@JsonFlatten
+public class GremlinDatabaseCreateUpdateParameters {
+ /**
+ * The standard JSON format of a Gremlin database.
+ */
+ @JsonProperty(value = "properties.resource", required = true)
+ private GremlinDatabaseResource resource;
+
+ /**
+ * A key-value pair of options to be applied for the request. This
+ * corresponds to the headers sent with the request.
+ */
+ @JsonProperty(value = "properties.options", required = true)
+ private Map options;
+
+ /**
+ * Get the standard JSON format of a Gremlin database.
+ *
+ * @return the resource value
+ */
+ public GremlinDatabaseResource resource() {
+ return this.resource;
+ }
+
+ /**
+ * Set the standard JSON format of a Gremlin database.
+ *
+ * @param resource the resource value to set
+ * @return the GremlinDatabaseCreateUpdateParameters object itself.
+ */
+ public GremlinDatabaseCreateUpdateParameters withResource(GremlinDatabaseResource resource) {
+ this.resource = resource;
+ return this;
+ }
+
+ /**
+ * Get a key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.
+ *
+ * @return the options value
+ */
+ public Map options() {
+ return this.options;
+ }
+
+ /**
+ * Set a key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.
+ *
+ * @param options the options value to set
+ * @return the GremlinDatabaseCreateUpdateParameters object itself.
+ */
+ public GremlinDatabaseCreateUpdateParameters withOptions(Map options) {
+ this.options = options;
+ return this;
+ }
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/GremlinDatabaseResource.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/GremlinDatabaseResource.java
new file mode 100644
index 000000000000..385493bf90b8
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/GremlinDatabaseResource.java
@@ -0,0 +1,43 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Cosmos DB Gremlin database id object.
+ */
+public class GremlinDatabaseResource {
+ /**
+ * Name of the Cosmos DB Gremlin database.
+ */
+ @JsonProperty(value = "id", required = true)
+ private String id;
+
+ /**
+ * Get name of the Cosmos DB Gremlin database.
+ *
+ * @return the id value
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set name of the Cosmos DB Gremlin database.
+ *
+ * @param id the id value to set
+ * @return the GremlinDatabaseResource object itself.
+ */
+ public GremlinDatabaseResource withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/GremlinGraph.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/GremlinGraph.java
new file mode 100644
index 000000000000..e14a006984bc
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/GremlinGraph.java
@@ -0,0 +1,169 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.GremlinGraphInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.CosmosDBManager;
+import java.util.Map;
+
+/**
+ * Type representing GremlinGraph.
+ */
+public interface GremlinGraph extends HasInner, Indexable, Refreshable, Updatable, HasManager {
+ /**
+ * @return the _etag value.
+ */
+ String _etag();
+
+ /**
+ * @return the _rid value.
+ */
+ String _rid();
+
+ /**
+ * @return the _ts value.
+ */
+ Object _ts();
+
+ /**
+ * @return the conflictResolutionPolicy value.
+ */
+ ConflictResolutionPolicy conflictResolutionPolicy();
+
+ /**
+ * @return the defaultTtl value.
+ */
+ Integer defaultTtl();
+
+ /**
+ * @return the gremlinGraphId value.
+ */
+ String gremlinGraphId();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the indexingPolicy value.
+ */
+ IndexingPolicy indexingPolicy();
+
+ /**
+ * @return the location value.
+ */
+ String location();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the partitionKey value.
+ */
+ ContainerPartitionKey partitionKey();
+
+ /**
+ * @return the tags value.
+ */
+ Map tags();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * @return the uniqueKeyPolicy value.
+ */
+ UniqueKeyPolicy uniqueKeyPolicy();
+
+ /**
+ * The entirety of the GremlinGraph definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithDatabasis, DefinitionStages.WithOptions, DefinitionStages.WithResource, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of GremlinGraph definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a GremlinGraph definition.
+ */
+ interface Blank extends WithDatabasis {
+ }
+
+ /**
+ * The stage of the gremlingraph definition allowing to specify Databasis.
+ */
+ interface WithDatabasis {
+ /**
+ * Specifies resourceGroupName, accountName, databaseName.
+ * @param resourceGroupName Name of an Azure resource group
+ * @param accountName Cosmos DB database account name
+ * @param databaseName Cosmos DB database name
+ * @return the next definition stage
+ */
+ WithOptions withExistingDatabasis(String resourceGroupName, String accountName, String databaseName);
+ }
+
+ /**
+ * The stage of the gremlingraph definition allowing to specify Options.
+ */
+ interface WithOptions {
+ /**
+ * Specifies options.
+ * @param options A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request
+ * @return the next definition stage
+ */
+ WithResource withOptions(Map options);
+ }
+
+ /**
+ * The stage of the gremlingraph definition allowing to specify Resource.
+ */
+ interface WithResource {
+ /**
+ * Specifies resource.
+ * @param resource The standard JSON format of a Gremlin graph
+ * @return the next definition stage
+ */
+ WithCreate withResource(GremlinGraphResource resource);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable {
+ }
+ }
+ /**
+ * The template for a GremlinGraph update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable {
+ }
+
+ /**
+ * Grouping of GremlinGraph update stages.
+ */
+ interface UpdateStages {
+ }
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/GremlinGraphCreateUpdateParameters.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/GremlinGraphCreateUpdateParameters.java
new file mode 100644
index 000000000000..f19390a320f1
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/GremlinGraphCreateUpdateParameters.java
@@ -0,0 +1,73 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * Parameters to create and update Cosmos DB Gremlin graph.
+ */
+@JsonFlatten
+public class GremlinGraphCreateUpdateParameters {
+ /**
+ * The standard JSON format of a Gremlin graph.
+ */
+ @JsonProperty(value = "properties.resource", required = true)
+ private GremlinGraphResource resource;
+
+ /**
+ * A key-value pair of options to be applied for the request. This
+ * corresponds to the headers sent with the request.
+ */
+ @JsonProperty(value = "properties.options", required = true)
+ private Map options;
+
+ /**
+ * Get the standard JSON format of a Gremlin graph.
+ *
+ * @return the resource value
+ */
+ public GremlinGraphResource resource() {
+ return this.resource;
+ }
+
+ /**
+ * Set the standard JSON format of a Gremlin graph.
+ *
+ * @param resource the resource value to set
+ * @return the GremlinGraphCreateUpdateParameters object itself.
+ */
+ public GremlinGraphCreateUpdateParameters withResource(GremlinGraphResource resource) {
+ this.resource = resource;
+ return this;
+ }
+
+ /**
+ * Get a key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.
+ *
+ * @return the options value
+ */
+ public Map options() {
+ return this.options;
+ }
+
+ /**
+ * Set a key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.
+ *
+ * @param options the options value to set
+ * @return the GremlinGraphCreateUpdateParameters object itself.
+ */
+ public GremlinGraphCreateUpdateParameters withOptions(Map options) {
+ this.options = options;
+ return this;
+ }
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/GremlinGraphResource.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/GremlinGraphResource.java
new file mode 100644
index 000000000000..5684772e9353
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/GremlinGraphResource.java
@@ -0,0 +1,177 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Cosmos DB Gremlin graph resource object.
+ */
+public class GremlinGraphResource {
+ /**
+ * Name of the Cosmos DB Gremlin graph.
+ */
+ @JsonProperty(value = "id", required = true)
+ private String id;
+
+ /**
+ * The configuration of the indexing policy. By default, the indexing is
+ * automatic for all document paths within the graph.
+ */
+ @JsonProperty(value = "indexingPolicy")
+ private IndexingPolicy indexingPolicy;
+
+ /**
+ * The configuration of the partition key to be used for partitioning data
+ * into multiple partitions.
+ */
+ @JsonProperty(value = "partitionKey")
+ private ContainerPartitionKey partitionKey;
+
+ /**
+ * Default time to live.
+ */
+ @JsonProperty(value = "defaultTtl")
+ private Integer defaultTtl;
+
+ /**
+ * The unique key policy configuration for specifying uniqueness
+ * constraints on documents in the collection in the Azure Cosmos DB
+ * service.
+ */
+ @JsonProperty(value = "uniqueKeyPolicy")
+ private UniqueKeyPolicy uniqueKeyPolicy;
+
+ /**
+ * The conflict resolution policy for the graph.
+ */
+ @JsonProperty(value = "conflictResolutionPolicy")
+ private ConflictResolutionPolicy conflictResolutionPolicy;
+
+ /**
+ * Get name of the Cosmos DB Gremlin graph.
+ *
+ * @return the id value
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set name of the Cosmos DB Gremlin graph.
+ *
+ * @param id the id value to set
+ * @return the GremlinGraphResource object itself.
+ */
+ public GremlinGraphResource withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get the configuration of the indexing policy. By default, the indexing is automatic for all document paths within the graph.
+ *
+ * @return the indexingPolicy value
+ */
+ public IndexingPolicy indexingPolicy() {
+ return this.indexingPolicy;
+ }
+
+ /**
+ * Set the configuration of the indexing policy. By default, the indexing is automatic for all document paths within the graph.
+ *
+ * @param indexingPolicy the indexingPolicy value to set
+ * @return the GremlinGraphResource object itself.
+ */
+ public GremlinGraphResource withIndexingPolicy(IndexingPolicy indexingPolicy) {
+ this.indexingPolicy = indexingPolicy;
+ return this;
+ }
+
+ /**
+ * Get the configuration of the partition key to be used for partitioning data into multiple partitions.
+ *
+ * @return the partitionKey value
+ */
+ public ContainerPartitionKey partitionKey() {
+ return this.partitionKey;
+ }
+
+ /**
+ * Set the configuration of the partition key to be used for partitioning data into multiple partitions.
+ *
+ * @param partitionKey the partitionKey value to set
+ * @return the GremlinGraphResource object itself.
+ */
+ public GremlinGraphResource withPartitionKey(ContainerPartitionKey partitionKey) {
+ this.partitionKey = partitionKey;
+ return this;
+ }
+
+ /**
+ * Get default time to live.
+ *
+ * @return the defaultTtl value
+ */
+ public Integer defaultTtl() {
+ return this.defaultTtl;
+ }
+
+ /**
+ * Set default time to live.
+ *
+ * @param defaultTtl the defaultTtl value to set
+ * @return the GremlinGraphResource object itself.
+ */
+ public GremlinGraphResource withDefaultTtl(Integer defaultTtl) {
+ this.defaultTtl = defaultTtl;
+ return this;
+ }
+
+ /**
+ * Get the unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service.
+ *
+ * @return the uniqueKeyPolicy value
+ */
+ public UniqueKeyPolicy uniqueKeyPolicy() {
+ return this.uniqueKeyPolicy;
+ }
+
+ /**
+ * Set the unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service.
+ *
+ * @param uniqueKeyPolicy the uniqueKeyPolicy value to set
+ * @return the GremlinGraphResource object itself.
+ */
+ public GremlinGraphResource withUniqueKeyPolicy(UniqueKeyPolicy uniqueKeyPolicy) {
+ this.uniqueKeyPolicy = uniqueKeyPolicy;
+ return this;
+ }
+
+ /**
+ * Get the conflict resolution policy for the graph.
+ *
+ * @return the conflictResolutionPolicy value
+ */
+ public ConflictResolutionPolicy conflictResolutionPolicy() {
+ return this.conflictResolutionPolicy;
+ }
+
+ /**
+ * Set the conflict resolution policy for the graph.
+ *
+ * @param conflictResolutionPolicy the conflictResolutionPolicy value to set
+ * @return the GremlinGraphResource object itself.
+ */
+ public GremlinGraphResource withConflictResolutionPolicy(ConflictResolutionPolicy conflictResolutionPolicy) {
+ this.conflictResolutionPolicy = conflictResolutionPolicy;
+ return this;
+ }
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/IncludedPath.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/IncludedPath.java
new file mode 100644
index 000000000000..6b4ab59de343
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/IncludedPath.java
@@ -0,0 +1,71 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The paths that are included in indexing.
+ */
+public class IncludedPath {
+ /**
+ * The path for which the indexing behavior applies to. Index paths
+ * typically start with root and end with wildcard (/path/*).
+ */
+ @JsonProperty(value = "path")
+ private String path;
+
+ /**
+ * List of indexes for this path.
+ */
+ @JsonProperty(value = "indexes")
+ private List indexes;
+
+ /**
+ * Get the path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*).
+ *
+ * @return the path value
+ */
+ public String path() {
+ return this.path;
+ }
+
+ /**
+ * Set the path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*).
+ *
+ * @param path the path value to set
+ * @return the IncludedPath object itself.
+ */
+ public IncludedPath withPath(String path) {
+ this.path = path;
+ return this;
+ }
+
+ /**
+ * Get list of indexes for this path.
+ *
+ * @return the indexes value
+ */
+ public List indexes() {
+ return this.indexes;
+ }
+
+ /**
+ * Set list of indexes for this path.
+ *
+ * @param indexes the indexes value to set
+ * @return the IncludedPath object itself.
+ */
+ public IncludedPath withIndexes(List indexes) {
+ this.indexes = indexes;
+ return this;
+ }
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/IndexKind.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/IndexKind.java
new file mode 100644
index 000000000000..969579bc7f6f
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/IndexKind.java
@@ -0,0 +1,44 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for IndexKind.
+ */
+public final class IndexKind extends ExpandableStringEnum {
+ /** Static value Hash for IndexKind. */
+ public static final IndexKind HASH = fromString("Hash");
+
+ /** Static value Range for IndexKind. */
+ public static final IndexKind RANGE = fromString("Range");
+
+ /** Static value Spatial for IndexKind. */
+ public static final IndexKind SPATIAL = fromString("Spatial");
+
+ /**
+ * Creates or finds a IndexKind from its string representation.
+ * @param name a name to look for
+ * @return the corresponding IndexKind
+ */
+ @JsonCreator
+ public static IndexKind fromString(String name) {
+ return fromString(name, IndexKind.class);
+ }
+
+ /**
+ * @return known IndexKind values
+ */
+ public static Collection values() {
+ return values(IndexKind.class);
+ }
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/Indexes.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/Indexes.java
new file mode 100644
index 000000000000..8247b1c30f3c
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/Indexes.java
@@ -0,0 +1,98 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The indexes for the path.
+ */
+public class Indexes {
+ /**
+ * The datatype for which the indexing behavior is applied to. Possible
+ * values include: 'String', 'Number', 'Point', 'Polygon', 'LineString',
+ * 'MultiPolygon'.
+ */
+ @JsonProperty(value = "dataType")
+ private DataType dataType;
+
+ /**
+ * The precision of the index. -1 is maximum precision.
+ */
+ @JsonProperty(value = "precision")
+ private Integer precision;
+
+ /**
+ * Indicates the type of index. Possible values include: 'Hash', 'Range',
+ * 'Spatial'.
+ */
+ @JsonProperty(value = "kind")
+ private IndexKind kind;
+
+ /**
+ * Get the datatype for which the indexing behavior is applied to. Possible values include: 'String', 'Number', 'Point', 'Polygon', 'LineString', 'MultiPolygon'.
+ *
+ * @return the dataType value
+ */
+ public DataType dataType() {
+ return this.dataType;
+ }
+
+ /**
+ * Set the datatype for which the indexing behavior is applied to. Possible values include: 'String', 'Number', 'Point', 'Polygon', 'LineString', 'MultiPolygon'.
+ *
+ * @param dataType the dataType value to set
+ * @return the Indexes object itself.
+ */
+ public Indexes withDataType(DataType dataType) {
+ this.dataType = dataType;
+ return this;
+ }
+
+ /**
+ * Get the precision of the index. -1 is maximum precision.
+ *
+ * @return the precision value
+ */
+ public Integer precision() {
+ return this.precision;
+ }
+
+ /**
+ * Set the precision of the index. -1 is maximum precision.
+ *
+ * @param precision the precision value to set
+ * @return the Indexes object itself.
+ */
+ public Indexes withPrecision(Integer precision) {
+ this.precision = precision;
+ return this;
+ }
+
+ /**
+ * Get indicates the type of index. Possible values include: 'Hash', 'Range', 'Spatial'.
+ *
+ * @return the kind value
+ */
+ public IndexKind kind() {
+ return this.kind;
+ }
+
+ /**
+ * Set indicates the type of index. Possible values include: 'Hash', 'Range', 'Spatial'.
+ *
+ * @param kind the kind value to set
+ * @return the Indexes object itself.
+ */
+ public Indexes withKind(IndexKind kind) {
+ this.kind = kind;
+ return this;
+ }
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/IndexingMode.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/IndexingMode.java
new file mode 100644
index 000000000000..2a4725d3e288
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/IndexingMode.java
@@ -0,0 +1,44 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for IndexingMode.
+ */
+public final class IndexingMode extends ExpandableStringEnum {
+ /** Static value Consistent for IndexingMode. */
+ public static final IndexingMode CONSISTENT = fromString("Consistent");
+
+ /** Static value Lazy for IndexingMode. */
+ public static final IndexingMode LAZY = fromString("Lazy");
+
+ /** Static value None for IndexingMode. */
+ public static final IndexingMode NONE = fromString("None");
+
+ /**
+ * Creates or finds a IndexingMode from its string representation.
+ * @param name a name to look for
+ * @return the corresponding IndexingMode
+ */
+ @JsonCreator
+ public static IndexingMode fromString(String name) {
+ return fromString(name, IndexingMode.class);
+ }
+
+ /**
+ * @return known IndexingMode values
+ */
+ public static Collection values() {
+ return values(IndexingMode.class);
+ }
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/IndexingPolicy.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/IndexingPolicy.java
new file mode 100644
index 000000000000..728ee3d8ac25
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/IndexingPolicy.java
@@ -0,0 +1,123 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Cosmos DB indexing policy.
+ */
+public class IndexingPolicy {
+ /**
+ * Indicates if the indexing policy is automatic.
+ */
+ @JsonProperty(value = "automatic")
+ private Boolean automatic;
+
+ /**
+ * Indicates the indexing mode. Possible values include: 'Consistent',
+ * 'Lazy', 'None'.
+ */
+ @JsonProperty(value = "indexingMode")
+ private IndexingMode indexingMode;
+
+ /**
+ * List of paths to include in the indexing.
+ */
+ @JsonProperty(value = "includedPaths")
+ private List includedPaths;
+
+ /**
+ * List of paths to exclude from indexing.
+ */
+ @JsonProperty(value = "excludedPaths")
+ private List excludedPaths;
+
+ /**
+ * Get indicates if the indexing policy is automatic.
+ *
+ * @return the automatic value
+ */
+ public Boolean automatic() {
+ return this.automatic;
+ }
+
+ /**
+ * Set indicates if the indexing policy is automatic.
+ *
+ * @param automatic the automatic value to set
+ * @return the IndexingPolicy object itself.
+ */
+ public IndexingPolicy withAutomatic(Boolean automatic) {
+ this.automatic = automatic;
+ return this;
+ }
+
+ /**
+ * Get indicates the indexing mode. Possible values include: 'Consistent', 'Lazy', 'None'.
+ *
+ * @return the indexingMode value
+ */
+ public IndexingMode indexingMode() {
+ return this.indexingMode;
+ }
+
+ /**
+ * Set indicates the indexing mode. Possible values include: 'Consistent', 'Lazy', 'None'.
+ *
+ * @param indexingMode the indexingMode value to set
+ * @return the IndexingPolicy object itself.
+ */
+ public IndexingPolicy withIndexingMode(IndexingMode indexingMode) {
+ this.indexingMode = indexingMode;
+ return this;
+ }
+
+ /**
+ * Get list of paths to include in the indexing.
+ *
+ * @return the includedPaths value
+ */
+ public List includedPaths() {
+ return this.includedPaths;
+ }
+
+ /**
+ * Set list of paths to include in the indexing.
+ *
+ * @param includedPaths the includedPaths value to set
+ * @return the IndexingPolicy object itself.
+ */
+ public IndexingPolicy withIncludedPaths(List includedPaths) {
+ this.includedPaths = includedPaths;
+ return this;
+ }
+
+ /**
+ * Get list of paths to exclude from indexing.
+ *
+ * @return the excludedPaths value
+ */
+ public List excludedPaths() {
+ return this.excludedPaths;
+ }
+
+ /**
+ * Set list of paths to exclude from indexing.
+ *
+ * @param excludedPaths the excludedPaths value to set
+ * @return the IndexingPolicy object itself.
+ */
+ public IndexingPolicy withExcludedPaths(List excludedPaths) {
+ this.excludedPaths = excludedPaths;
+ return this;
+ }
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/MongoDBCollection.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/MongoDBCollection.java
new file mode 100644
index 000000000000..58c275266a0a
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/MongoDBCollection.java
@@ -0,0 +1,140 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.MongoDBCollectionInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.CosmosDBManager;
+import java.util.Map;
+import java.util.List;
+
+/**
+ * Type representing MongoDBCollection.
+ */
+public interface MongoDBCollection extends HasInner, Indexable, Refreshable, Updatable, HasManager {
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the indexes value.
+ */
+ List indexes();
+
+ /**
+ * @return the location value.
+ */
+ String location();
+
+ /**
+ * @return the mongoDBCollectionId value.
+ */
+ String mongoDBCollectionId();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the shardKey value.
+ */
+ Map shardKey();
+
+ /**
+ * @return the tags value.
+ */
+ Map tags();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the MongoDBCollection definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithDatabasis, DefinitionStages.WithOptions, DefinitionStages.WithResource, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of MongoDBCollection definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a MongoDBCollection definition.
+ */
+ interface Blank extends WithDatabasis {
+ }
+
+ /**
+ * The stage of the mongodbcollection definition allowing to specify Databasis.
+ */
+ interface WithDatabasis {
+ /**
+ * Specifies resourceGroupName, accountName, databaseName.
+ * @param resourceGroupName Name of an Azure resource group
+ * @param accountName Cosmos DB database account name
+ * @param databaseName Cosmos DB database name
+ * @return the next definition stage
+ */
+ WithOptions withExistingDatabasis(String resourceGroupName, String accountName, String databaseName);
+ }
+
+ /**
+ * The stage of the mongodbcollection definition allowing to specify Options.
+ */
+ interface WithOptions {
+ /**
+ * Specifies options.
+ * @param options A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request
+ * @return the next definition stage
+ */
+ WithResource withOptions(Map options);
+ }
+
+ /**
+ * The stage of the mongodbcollection definition allowing to specify Resource.
+ */
+ interface WithResource {
+ /**
+ * Specifies resource.
+ * @param resource The standard JSON format of a MongoDB collection
+ * @return the next definition stage
+ */
+ WithCreate withResource(MongoDBCollectionResource resource);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable {
+ }
+ }
+ /**
+ * The template for a MongoDBCollection update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable {
+ }
+
+ /**
+ * Grouping of MongoDBCollection update stages.
+ */
+ interface UpdateStages {
+ }
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/MongoDBCollectionCreateUpdateParameters.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/MongoDBCollectionCreateUpdateParameters.java
new file mode 100644
index 000000000000..1ee105c96f07
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/MongoDBCollectionCreateUpdateParameters.java
@@ -0,0 +1,73 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * Parameters to create and update Cosmos DB MongoDB collection.
+ */
+@JsonFlatten
+public class MongoDBCollectionCreateUpdateParameters {
+ /**
+ * The standard JSON format of a MongoDB collection.
+ */
+ @JsonProperty(value = "properties.resource", required = true)
+ private MongoDBCollectionResource resource;
+
+ /**
+ * A key-value pair of options to be applied for the request. This
+ * corresponds to the headers sent with the request.
+ */
+ @JsonProperty(value = "properties.options", required = true)
+ private Map options;
+
+ /**
+ * Get the standard JSON format of a MongoDB collection.
+ *
+ * @return the resource value
+ */
+ public MongoDBCollectionResource resource() {
+ return this.resource;
+ }
+
+ /**
+ * Set the standard JSON format of a MongoDB collection.
+ *
+ * @param resource the resource value to set
+ * @return the MongoDBCollectionCreateUpdateParameters object itself.
+ */
+ public MongoDBCollectionCreateUpdateParameters withResource(MongoDBCollectionResource resource) {
+ this.resource = resource;
+ return this;
+ }
+
+ /**
+ * Get a key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.
+ *
+ * @return the options value
+ */
+ public Map options() {
+ return this.options;
+ }
+
+ /**
+ * Set a key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.
+ *
+ * @param options the options value to set
+ * @return the MongoDBCollectionCreateUpdateParameters object itself.
+ */
+ public MongoDBCollectionCreateUpdateParameters withOptions(Map options) {
+ this.options = options;
+ return this;
+ }
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/MongoDBCollectionResource.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/MongoDBCollectionResource.java
new file mode 100644
index 000000000000..c51928decc5b
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/MongoDBCollectionResource.java
@@ -0,0 +1,97 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import java.util.Map;
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Cosmos DB MongoDB collection resource object.
+ */
+public class MongoDBCollectionResource {
+ /**
+ * Name of the Cosmos DB MongoDB collection.
+ */
+ @JsonProperty(value = "id", required = true)
+ private String id;
+
+ /**
+ * A key-value pair of shard keys to be applied for the request.
+ */
+ @JsonProperty(value = "shardKey")
+ private Map shardKey;
+
+ /**
+ * List of index keys.
+ */
+ @JsonProperty(value = "indexes")
+ private List indexes;
+
+ /**
+ * Get name of the Cosmos DB MongoDB collection.
+ *
+ * @return the id value
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set name of the Cosmos DB MongoDB collection.
+ *
+ * @param id the id value to set
+ * @return the MongoDBCollectionResource object itself.
+ */
+ public MongoDBCollectionResource withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get a key-value pair of shard keys to be applied for the request.
+ *
+ * @return the shardKey value
+ */
+ public Map shardKey() {
+ return this.shardKey;
+ }
+
+ /**
+ * Set a key-value pair of shard keys to be applied for the request.
+ *
+ * @param shardKey the shardKey value to set
+ * @return the MongoDBCollectionResource object itself.
+ */
+ public MongoDBCollectionResource withShardKey(Map shardKey) {
+ this.shardKey = shardKey;
+ return this;
+ }
+
+ /**
+ * Get list of index keys.
+ *
+ * @return the indexes value
+ */
+ public List indexes() {
+ return this.indexes;
+ }
+
+ /**
+ * Set list of index keys.
+ *
+ * @param indexes the indexes value to set
+ * @return the MongoDBCollectionResource object itself.
+ */
+ public MongoDBCollectionResource withIndexes(List indexes) {
+ this.indexes = indexes;
+ return this;
+ }
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/MongoDBDatabase.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/MongoDBDatabase.java
new file mode 100644
index 000000000000..bb3b51f8538f
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/MongoDBDatabase.java
@@ -0,0 +1,51 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.CosmosDBManager;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.MongoDBDatabaseInner;
+import java.util.Map;
+
+/**
+ * Type representing MongoDBDatabase.
+ */
+public interface MongoDBDatabase extends HasInner, HasManager {
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the location value.
+ */
+ String location();
+
+ /**
+ * @return the mongoDBDatabaseId value.
+ */
+ String mongoDBDatabaseId();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the tags value.
+ */
+ Map tags();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/MongoDBDatabaseCreateUpdateParameters.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/MongoDBDatabaseCreateUpdateParameters.java
new file mode 100644
index 000000000000..a1a057c8c293
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/MongoDBDatabaseCreateUpdateParameters.java
@@ -0,0 +1,73 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * Parameters to create and update Cosmos DB MongoDB database.
+ */
+@JsonFlatten
+public class MongoDBDatabaseCreateUpdateParameters {
+ /**
+ * The standard JSON format of a MongoDB database.
+ */
+ @JsonProperty(value = "properties.resource", required = true)
+ private MongoDBDatabaseResource resource;
+
+ /**
+ * A key-value pair of options to be applied for the request. This
+ * corresponds to the headers sent with the request.
+ */
+ @JsonProperty(value = "properties.options", required = true)
+ private Map options;
+
+ /**
+ * Get the standard JSON format of a MongoDB database.
+ *
+ * @return the resource value
+ */
+ public MongoDBDatabaseResource resource() {
+ return this.resource;
+ }
+
+ /**
+ * Set the standard JSON format of a MongoDB database.
+ *
+ * @param resource the resource value to set
+ * @return the MongoDBDatabaseCreateUpdateParameters object itself.
+ */
+ public MongoDBDatabaseCreateUpdateParameters withResource(MongoDBDatabaseResource resource) {
+ this.resource = resource;
+ return this;
+ }
+
+ /**
+ * Get a key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.
+ *
+ * @return the options value
+ */
+ public Map options() {
+ return this.options;
+ }
+
+ /**
+ * Set a key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.
+ *
+ * @param options the options value to set
+ * @return the MongoDBDatabaseCreateUpdateParameters object itself.
+ */
+ public MongoDBDatabaseCreateUpdateParameters withOptions(Map options) {
+ this.options = options;
+ return this;
+ }
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/MongoDBDatabaseResource.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/MongoDBDatabaseResource.java
new file mode 100644
index 000000000000..adfaa17cba3d
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/MongoDBDatabaseResource.java
@@ -0,0 +1,43 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Cosmos DB MongoDB database id object.
+ */
+public class MongoDBDatabaseResource {
+ /**
+ * Name of the Cosmos DB MongoDB database.
+ */
+ @JsonProperty(value = "id", required = true)
+ private String id;
+
+ /**
+ * Get name of the Cosmos DB MongoDB database.
+ *
+ * @return the id value
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set name of the Cosmos DB MongoDB database.
+ *
+ * @param id the id value to set
+ * @return the MongoDBDatabaseResource object itself.
+ */
+ public MongoDBDatabaseResource withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/MongoIndex.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/MongoIndex.java
new file mode 100644
index 000000000000..8d10eb94fdc3
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/MongoIndex.java
@@ -0,0 +1,69 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Cosmos DB MongoDB collection index key.
+ */
+public class MongoIndex {
+ /**
+ * Cosmos DB MongoDB collection index keys.
+ */
+ @JsonProperty(value = "key")
+ private MongoIndexKeys key;
+
+ /**
+ * Cosmos DB MongoDB collection index key options.
+ */
+ @JsonProperty(value = "options")
+ private MongoIndexOptions options;
+
+ /**
+ * Get cosmos DB MongoDB collection index keys.
+ *
+ * @return the key value
+ */
+ public MongoIndexKeys key() {
+ return this.key;
+ }
+
+ /**
+ * Set cosmos DB MongoDB collection index keys.
+ *
+ * @param key the key value to set
+ * @return the MongoIndex object itself.
+ */
+ public MongoIndex withKey(MongoIndexKeys key) {
+ this.key = key;
+ return this;
+ }
+
+ /**
+ * Get cosmos DB MongoDB collection index key options.
+ *
+ * @return the options value
+ */
+ public MongoIndexOptions options() {
+ return this.options;
+ }
+
+ /**
+ * Set cosmos DB MongoDB collection index key options.
+ *
+ * @param options the options value to set
+ * @return the MongoIndex object itself.
+ */
+ public MongoIndex withOptions(MongoIndexOptions options) {
+ this.options = options;
+ return this;
+ }
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/MongoIndexKeys.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/MongoIndexKeys.java
new file mode 100644
index 000000000000..9482984bd19e
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/MongoIndexKeys.java
@@ -0,0 +1,44 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Cosmos DB MongoDB collection resource object.
+ */
+public class MongoIndexKeys {
+ /**
+ * List of keys for each MongoDB collection in the Azure Cosmos DB service.
+ */
+ @JsonProperty(value = "keys")
+ private List keys;
+
+ /**
+ * Get list of keys for each MongoDB collection in the Azure Cosmos DB service.
+ *
+ * @return the keys value
+ */
+ public List keys() {
+ return this.keys;
+ }
+
+ /**
+ * Set list of keys for each MongoDB collection in the Azure Cosmos DB service.
+ *
+ * @param keys the keys value to set
+ * @return the MongoIndexKeys object itself.
+ */
+ public MongoIndexKeys withKeys(List keys) {
+ this.keys = keys;
+ return this;
+ }
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/MongoIndexOptions.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/MongoIndexOptions.java
new file mode 100644
index 000000000000..d2b9d94acc5a
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/MongoIndexOptions.java
@@ -0,0 +1,69 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Cosmos DB MongoDB collection index options.
+ */
+public class MongoIndexOptions {
+ /**
+ * Expire after seconds.
+ */
+ @JsonProperty(value = "expireAfterSeconds")
+ private Integer expireAfterSeconds;
+
+ /**
+ * Is unique or not.
+ */
+ @JsonProperty(value = "unique")
+ private Boolean unique;
+
+ /**
+ * Get expire after seconds.
+ *
+ * @return the expireAfterSeconds value
+ */
+ public Integer expireAfterSeconds() {
+ return this.expireAfterSeconds;
+ }
+
+ /**
+ * Set expire after seconds.
+ *
+ * @param expireAfterSeconds the expireAfterSeconds value to set
+ * @return the MongoIndexOptions object itself.
+ */
+ public MongoIndexOptions withExpireAfterSeconds(Integer expireAfterSeconds) {
+ this.expireAfterSeconds = expireAfterSeconds;
+ return this;
+ }
+
+ /**
+ * Get is unique or not.
+ *
+ * @return the unique value
+ */
+ public Boolean unique() {
+ return this.unique;
+ }
+
+ /**
+ * Set is unique or not.
+ *
+ * @param unique the unique value to set
+ * @return the MongoIndexOptions object itself.
+ */
+ public MongoIndexOptions withUnique(Boolean unique) {
+ this.unique = unique;
+ return this;
+ }
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/Operation.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/Operation.java
index 5e818fbdb555..e7b6d0f15616 100644
--- a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/Operation.java
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/Operation.java
@@ -10,13 +10,13 @@
import com.microsoft.azure.arm.model.HasInner;
import com.microsoft.azure.arm.resources.models.HasManager;
-import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.DocumentDBManager;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.CosmosDBManager;
import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.OperationInner;
/**
* Type representing Operation.
*/
-public interface Operation extends HasInner, HasManager {
+public interface Operation extends HasInner, HasManager {
/**
* @return the display value.
*/
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/PartitionKind.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/PartitionKind.java
new file mode 100644
index 000000000000..5f71ad325e81
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/PartitionKind.java
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for PartitionKind.
+ */
+public final class PartitionKind extends ExpandableStringEnum {
+ /** Static value Hash for PartitionKind. */
+ public static final PartitionKind HASH = fromString("Hash");
+
+ /** Static value Range for PartitionKind. */
+ public static final PartitionKind RANGE = fromString("Range");
+
+ /**
+ * Creates or finds a PartitionKind from its string representation.
+ * @param name a name to look for
+ * @return the corresponding PartitionKind
+ */
+ @JsonCreator
+ public static PartitionKind fromString(String name) {
+ return fromString(name, PartitionKind.class);
+ }
+
+ /**
+ * @return known PartitionKind values
+ */
+ public static Collection values() {
+ return values(PartitionKind.class);
+ }
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/PartitionMetric.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/PartitionMetric.java
index 11bc2c53eabe..f71b2da26643 100644
--- a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/PartitionMetric.java
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/PartitionMetric.java
@@ -10,7 +10,7 @@
import com.microsoft.azure.arm.model.HasInner;
import com.microsoft.azure.arm.resources.models.HasManager;
-import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.DocumentDBManager;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.CosmosDBManager;
import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.PartitionMetricInner;
import org.joda.time.DateTime;
import java.util.List;
@@ -18,7 +18,7 @@
/**
* Type representing PartitionMetric.
*/
-public interface PartitionMetric extends HasInner, HasManager {
+public interface PartitionMetric extends HasInner, HasManager {
/**
* @return the endTime value.
*/
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/PartitionUsage.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/PartitionUsage.java
index 847e364e86b7..4539c8a466f4 100644
--- a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/PartitionUsage.java
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/PartitionUsage.java
@@ -10,13 +10,13 @@
import com.microsoft.azure.arm.model.HasInner;
import com.microsoft.azure.arm.resources.models.HasManager;
-import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.DocumentDBManager;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.CosmosDBManager;
import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.PartitionUsageInner;
/**
* Type representing PartitionUsage.
*/
-public interface PartitionUsage extends HasInner, HasManager {
+public interface PartitionUsage extends HasInner, HasManager {
/**
* @return the currentValue value.
*/
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/PercentileMetric.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/PercentileMetric.java
index 7f2d36d57971..68e2b873d3ae 100644
--- a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/PercentileMetric.java
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/PercentileMetric.java
@@ -10,7 +10,7 @@
import com.microsoft.azure.arm.model.HasInner;
import com.microsoft.azure.arm.resources.models.HasManager;
-import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.DocumentDBManager;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.CosmosDBManager;
import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.PercentileMetricInner;
import org.joda.time.DateTime;
import java.util.List;
@@ -18,7 +18,7 @@
/**
* Type representing PercentileMetric.
*/
-public interface PercentileMetric extends HasInner, HasManager {
+public interface PercentileMetric extends HasInner, HasManager {
/**
* @return the endTime value.
*/
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/SqlContainer.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/SqlContainer.java
new file mode 100644
index 000000000000..8aa6050c80c1
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/SqlContainer.java
@@ -0,0 +1,169 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.SqlContainerInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.CosmosDBManager;
+import java.util.Map;
+
+/**
+ * Type representing SqlContainer.
+ */
+public interface SqlContainer extends HasInner, Indexable, Refreshable, Updatable, HasManager {
+ /**
+ * @return the _etag value.
+ */
+ String _etag();
+
+ /**
+ * @return the _rid value.
+ */
+ String _rid();
+
+ /**
+ * @return the _ts value.
+ */
+ Object _ts();
+
+ /**
+ * @return the conflictResolutionPolicy value.
+ */
+ ConflictResolutionPolicy conflictResolutionPolicy();
+
+ /**
+ * @return the defaultTtl value.
+ */
+ Integer defaultTtl();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the indexingPolicy value.
+ */
+ IndexingPolicy indexingPolicy();
+
+ /**
+ * @return the location value.
+ */
+ String location();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the partitionKey value.
+ */
+ ContainerPartitionKey partitionKey();
+
+ /**
+ * @return the sqlContainerId value.
+ */
+ String sqlContainerId();
+
+ /**
+ * @return the tags value.
+ */
+ Map tags();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * @return the uniqueKeyPolicy value.
+ */
+ UniqueKeyPolicy uniqueKeyPolicy();
+
+ /**
+ * The entirety of the SqlContainer definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithDatabasis, DefinitionStages.WithOptions, DefinitionStages.WithResource, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of SqlContainer definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a SqlContainer definition.
+ */
+ interface Blank extends WithDatabasis {
+ }
+
+ /**
+ * The stage of the sqlcontainer definition allowing to specify Databasis.
+ */
+ interface WithDatabasis {
+ /**
+ * Specifies resourceGroupName, accountName, databaseName.
+ * @param resourceGroupName Name of an Azure resource group
+ * @param accountName Cosmos DB database account name
+ * @param databaseName Cosmos DB database name
+ * @return the next definition stage
+ */
+ WithOptions withExistingDatabasis(String resourceGroupName, String accountName, String databaseName);
+ }
+
+ /**
+ * The stage of the sqlcontainer definition allowing to specify Options.
+ */
+ interface WithOptions {
+ /**
+ * Specifies options.
+ * @param options A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request
+ * @return the next definition stage
+ */
+ WithResource withOptions(Map options);
+ }
+
+ /**
+ * The stage of the sqlcontainer definition allowing to specify Resource.
+ */
+ interface WithResource {
+ /**
+ * Specifies resource.
+ * @param resource The standard JSON format of a container
+ * @return the next definition stage
+ */
+ WithCreate withResource(SqlContainerResource resource);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable {
+ }
+ }
+ /**
+ * The template for a SqlContainer update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable {
+ }
+
+ /**
+ * Grouping of SqlContainer update stages.
+ */
+ interface UpdateStages {
+ }
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/SqlContainerCreateUpdateParameters.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/SqlContainerCreateUpdateParameters.java
new file mode 100644
index 000000000000..de221fb26b77
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/SqlContainerCreateUpdateParameters.java
@@ -0,0 +1,73 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * Parameters to create and update Cosmos DB container.
+ */
+@JsonFlatten
+public class SqlContainerCreateUpdateParameters {
+ /**
+ * The standard JSON format of a container.
+ */
+ @JsonProperty(value = "properties.resource", required = true)
+ private SqlContainerResource resource;
+
+ /**
+ * A key-value pair of options to be applied for the request. This
+ * corresponds to the headers sent with the request.
+ */
+ @JsonProperty(value = "properties.options", required = true)
+ private Map options;
+
+ /**
+ * Get the standard JSON format of a container.
+ *
+ * @return the resource value
+ */
+ public SqlContainerResource resource() {
+ return this.resource;
+ }
+
+ /**
+ * Set the standard JSON format of a container.
+ *
+ * @param resource the resource value to set
+ * @return the SqlContainerCreateUpdateParameters object itself.
+ */
+ public SqlContainerCreateUpdateParameters withResource(SqlContainerResource resource) {
+ this.resource = resource;
+ return this;
+ }
+
+ /**
+ * Get a key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.
+ *
+ * @return the options value
+ */
+ public Map options() {
+ return this.options;
+ }
+
+ /**
+ * Set a key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.
+ *
+ * @param options the options value to set
+ * @return the SqlContainerCreateUpdateParameters object itself.
+ */
+ public SqlContainerCreateUpdateParameters withOptions(Map options) {
+ this.options = options;
+ return this;
+ }
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/SqlContainerResource.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/SqlContainerResource.java
new file mode 100644
index 000000000000..b2f37621d9af
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/SqlContainerResource.java
@@ -0,0 +1,177 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Cosmos DB SQL container resource object.
+ */
+public class SqlContainerResource {
+ /**
+ * Name of the Cosmos DB SQL container.
+ */
+ @JsonProperty(value = "id", required = true)
+ private String id;
+
+ /**
+ * The configuration of the indexing policy. By default, the indexing is
+ * automatic for all document paths within the container.
+ */
+ @JsonProperty(value = "indexingPolicy")
+ private IndexingPolicy indexingPolicy;
+
+ /**
+ * The configuration of the partition key to be used for partitioning data
+ * into multiple partitions.
+ */
+ @JsonProperty(value = "partitionKey")
+ private ContainerPartitionKey partitionKey;
+
+ /**
+ * Default time to live.
+ */
+ @JsonProperty(value = "defaultTtl")
+ private Integer defaultTtl;
+
+ /**
+ * The unique key policy configuration for specifying uniqueness
+ * constraints on documents in the collection in the Azure Cosmos DB
+ * service.
+ */
+ @JsonProperty(value = "uniqueKeyPolicy")
+ private UniqueKeyPolicy uniqueKeyPolicy;
+
+ /**
+ * The conflict resolution policy for the container.
+ */
+ @JsonProperty(value = "conflictResolutionPolicy")
+ private ConflictResolutionPolicy conflictResolutionPolicy;
+
+ /**
+ * Get name of the Cosmos DB SQL container.
+ *
+ * @return the id value
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set name of the Cosmos DB SQL container.
+ *
+ * @param id the id value to set
+ * @return the SqlContainerResource object itself.
+ */
+ public SqlContainerResource withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get the configuration of the indexing policy. By default, the indexing is automatic for all document paths within the container.
+ *
+ * @return the indexingPolicy value
+ */
+ public IndexingPolicy indexingPolicy() {
+ return this.indexingPolicy;
+ }
+
+ /**
+ * Set the configuration of the indexing policy. By default, the indexing is automatic for all document paths within the container.
+ *
+ * @param indexingPolicy the indexingPolicy value to set
+ * @return the SqlContainerResource object itself.
+ */
+ public SqlContainerResource withIndexingPolicy(IndexingPolicy indexingPolicy) {
+ this.indexingPolicy = indexingPolicy;
+ return this;
+ }
+
+ /**
+ * Get the configuration of the partition key to be used for partitioning data into multiple partitions.
+ *
+ * @return the partitionKey value
+ */
+ public ContainerPartitionKey partitionKey() {
+ return this.partitionKey;
+ }
+
+ /**
+ * Set the configuration of the partition key to be used for partitioning data into multiple partitions.
+ *
+ * @param partitionKey the partitionKey value to set
+ * @return the SqlContainerResource object itself.
+ */
+ public SqlContainerResource withPartitionKey(ContainerPartitionKey partitionKey) {
+ this.partitionKey = partitionKey;
+ return this;
+ }
+
+ /**
+ * Get default time to live.
+ *
+ * @return the defaultTtl value
+ */
+ public Integer defaultTtl() {
+ return this.defaultTtl;
+ }
+
+ /**
+ * Set default time to live.
+ *
+ * @param defaultTtl the defaultTtl value to set
+ * @return the SqlContainerResource object itself.
+ */
+ public SqlContainerResource withDefaultTtl(Integer defaultTtl) {
+ this.defaultTtl = defaultTtl;
+ return this;
+ }
+
+ /**
+ * Get the unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service.
+ *
+ * @return the uniqueKeyPolicy value
+ */
+ public UniqueKeyPolicy uniqueKeyPolicy() {
+ return this.uniqueKeyPolicy;
+ }
+
+ /**
+ * Set the unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service.
+ *
+ * @param uniqueKeyPolicy the uniqueKeyPolicy value to set
+ * @return the SqlContainerResource object itself.
+ */
+ public SqlContainerResource withUniqueKeyPolicy(UniqueKeyPolicy uniqueKeyPolicy) {
+ this.uniqueKeyPolicy = uniqueKeyPolicy;
+ return this;
+ }
+
+ /**
+ * Get the conflict resolution policy for the container.
+ *
+ * @return the conflictResolutionPolicy value
+ */
+ public ConflictResolutionPolicy conflictResolutionPolicy() {
+ return this.conflictResolutionPolicy;
+ }
+
+ /**
+ * Set the conflict resolution policy for the container.
+ *
+ * @param conflictResolutionPolicy the conflictResolutionPolicy value to set
+ * @return the SqlContainerResource object itself.
+ */
+ public SqlContainerResource withConflictResolutionPolicy(ConflictResolutionPolicy conflictResolutionPolicy) {
+ this.conflictResolutionPolicy = conflictResolutionPolicy;
+ return this;
+ }
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/SqlDatabase.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/SqlDatabase.java
new file mode 100644
index 000000000000..d397725febaa
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/SqlDatabase.java
@@ -0,0 +1,152 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.SqlDatabaseInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.CosmosDBManager;
+import java.util.Map;
+
+/**
+ * Type representing SqlDatabase.
+ */
+public interface SqlDatabase extends HasInner, Indexable, Updatable, HasManager {
+ /**
+ * @return the _colls value.
+ */
+ String _colls();
+
+ /**
+ * @return the _etag value.
+ */
+ String _etag();
+
+ /**
+ * @return the _rid value.
+ */
+ String _rid();
+
+ /**
+ * @return the _ts value.
+ */
+ Object _ts();
+
+ /**
+ * @return the _users value.
+ */
+ String _users();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the location value.
+ */
+ String location();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the sqlDatabaseId value.
+ */
+ String sqlDatabaseId();
+
+ /**
+ * @return the tags value.
+ */
+ Map tags();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the SqlDatabase definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithApi, DefinitionStages.WithOptions, DefinitionStages.WithResource, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of SqlDatabase definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a SqlDatabase definition.
+ */
+ interface Blank extends WithApi {
+ }
+
+ /**
+ * The stage of the sqldatabase definition allowing to specify Api.
+ */
+ interface WithApi {
+ /**
+ * Specifies resourceGroupName, accountName.
+ * @param resourceGroupName Name of an Azure resource group
+ * @param accountName Cosmos DB database account name
+ * @return the next definition stage
+ */
+ WithOptions withExistingApi(String resourceGroupName, String accountName);
+ }
+
+ /**
+ * The stage of the sqldatabase definition allowing to specify Options.
+ */
+ interface WithOptions {
+ /**
+ * Specifies options.
+ * @param options A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request
+ * @return the next definition stage
+ */
+ WithResource withOptions(Map options);
+ }
+
+ /**
+ * The stage of the sqldatabase definition allowing to specify Resource.
+ */
+ interface WithResource {
+ /**
+ * Specifies resource.
+ * @param resource The standard JSON format of a SQL database
+ * @return the next definition stage
+ */
+ WithCreate withResource(SqlDatabaseResource resource);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable {
+ }
+ }
+ /**
+ * The template for a SqlDatabase update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable {
+ }
+
+ /**
+ * Grouping of SqlDatabase update stages.
+ */
+ interface UpdateStages {
+ }
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/SqlDatabaseCreateUpdateParameters.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/SqlDatabaseCreateUpdateParameters.java
new file mode 100644
index 000000000000..7506ffb9f927
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/SqlDatabaseCreateUpdateParameters.java
@@ -0,0 +1,73 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * Parameters to create and update Cosmos DB SQL database.
+ */
+@JsonFlatten
+public class SqlDatabaseCreateUpdateParameters {
+ /**
+ * The standard JSON format of a SQL database.
+ */
+ @JsonProperty(value = "properties.resource", required = true)
+ private SqlDatabaseResource resource;
+
+ /**
+ * A key-value pair of options to be applied for the request. This
+ * corresponds to the headers sent with the request.
+ */
+ @JsonProperty(value = "properties.options", required = true)
+ private Map options;
+
+ /**
+ * Get the standard JSON format of a SQL database.
+ *
+ * @return the resource value
+ */
+ public SqlDatabaseResource resource() {
+ return this.resource;
+ }
+
+ /**
+ * Set the standard JSON format of a SQL database.
+ *
+ * @param resource the resource value to set
+ * @return the SqlDatabaseCreateUpdateParameters object itself.
+ */
+ public SqlDatabaseCreateUpdateParameters withResource(SqlDatabaseResource resource) {
+ this.resource = resource;
+ return this;
+ }
+
+ /**
+ * Get a key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.
+ *
+ * @return the options value
+ */
+ public Map options() {
+ return this.options;
+ }
+
+ /**
+ * Set a key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.
+ *
+ * @param options the options value to set
+ * @return the SqlDatabaseCreateUpdateParameters object itself.
+ */
+ public SqlDatabaseCreateUpdateParameters withOptions(Map options) {
+ this.options = options;
+ return this;
+ }
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/SqlDatabaseResource.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/SqlDatabaseResource.java
new file mode 100644
index 000000000000..9608b2492320
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/SqlDatabaseResource.java
@@ -0,0 +1,43 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Cosmos DB SQL database id object.
+ */
+public class SqlDatabaseResource {
+ /**
+ * Name of the Cosmos DB SQL database.
+ */
+ @JsonProperty(value = "id", required = true)
+ private String id;
+
+ /**
+ * Get name of the Cosmos DB SQL database.
+ *
+ * @return the id value
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set name of the Cosmos DB SQL database.
+ *
+ * @param id the id value to set
+ * @return the SqlDatabaseResource object itself.
+ */
+ public SqlDatabaseResource withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/Table.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/Table.java
new file mode 100644
index 000000000000..cf4de7502793
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/Table.java
@@ -0,0 +1,127 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.TableInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation.CosmosDBManager;
+import java.util.Map;
+
+/**
+ * Type representing Table.
+ */
+public interface Table extends HasInner, Indexable, Updatable, HasManager {
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the location value.
+ */
+ String location();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the tableId value.
+ */
+ String tableId();
+
+ /**
+ * @return the tags value.
+ */
+ Map tags();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the Table definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithApi, DefinitionStages.WithOptions, DefinitionStages.WithResource, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of Table definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a Table definition.
+ */
+ interface Blank extends WithApi {
+ }
+
+ /**
+ * The stage of the table definition allowing to specify Api.
+ */
+ interface WithApi {
+ /**
+ * Specifies resourceGroupName, accountName.
+ * @param resourceGroupName Name of an Azure resource group
+ * @param accountName Cosmos DB database account name
+ * @return the next definition stage
+ */
+ WithOptions withExistingApi(String resourceGroupName, String accountName);
+ }
+
+ /**
+ * The stage of the table definition allowing to specify Options.
+ */
+ interface WithOptions {
+ /**
+ * Specifies options.
+ * @param options A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request
+ * @return the next definition stage
+ */
+ WithResource withOptions(Map options);
+ }
+
+ /**
+ * The stage of the table definition allowing to specify Resource.
+ */
+ interface WithResource {
+ /**
+ * Specifies resource.
+ * @param resource The standard JSON format of a Table
+ * @return the next definition stage
+ */
+ WithCreate withResource(TableResource resource);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable {
+ }
+ }
+ /**
+ * The template for a Table update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable {
+ }
+
+ /**
+ * Grouping of Table update stages.
+ */
+ interface UpdateStages {
+ }
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/TableCreateUpdateParameters.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/TableCreateUpdateParameters.java
new file mode 100644
index 000000000000..0b58765ed7e5
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/TableCreateUpdateParameters.java
@@ -0,0 +1,73 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * Parameters to create and update Cosmos DB Table.
+ */
+@JsonFlatten
+public class TableCreateUpdateParameters {
+ /**
+ * The standard JSON format of a Table.
+ */
+ @JsonProperty(value = "properties.resource", required = true)
+ private TableResource resource;
+
+ /**
+ * A key-value pair of options to be applied for the request. This
+ * corresponds to the headers sent with the request.
+ */
+ @JsonProperty(value = "properties.options", required = true)
+ private Map options;
+
+ /**
+ * Get the standard JSON format of a Table.
+ *
+ * @return the resource value
+ */
+ public TableResource resource() {
+ return this.resource;
+ }
+
+ /**
+ * Set the standard JSON format of a Table.
+ *
+ * @param resource the resource value to set
+ * @return the TableCreateUpdateParameters object itself.
+ */
+ public TableCreateUpdateParameters withResource(TableResource resource) {
+ this.resource = resource;
+ return this;
+ }
+
+ /**
+ * Get a key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.
+ *
+ * @return the options value
+ */
+ public Map options() {
+ return this.options;
+ }
+
+ /**
+ * Set a key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.
+ *
+ * @param options the options value to set
+ * @return the TableCreateUpdateParameters object itself.
+ */
+ public TableCreateUpdateParameters withOptions(Map options) {
+ this.options = options;
+ return this;
+ }
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/TableResource.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/TableResource.java
new file mode 100644
index 000000000000..f3b170475738
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/TableResource.java
@@ -0,0 +1,43 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Cosmos DB table id object.
+ */
+public class TableResource {
+ /**
+ * Name of the Cosmos DB table.
+ */
+ @JsonProperty(value = "id", required = true)
+ private String id;
+
+ /**
+ * Get name of the Cosmos DB table.
+ *
+ * @return the id value
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set name of the Cosmos DB table.
+ *
+ * @param id the id value to set
+ * @return the TableResource object itself.
+ */
+ public TableResource withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/UniqueKey.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/UniqueKey.java
new file mode 100644
index 000000000000..c72daed99369
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/UniqueKey.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The unique key on that enforces uniqueness constraint on documents in the
+ * collection in the Azure Cosmos DB service.
+ */
+public class UniqueKey {
+ /**
+ * List of paths must be unique for each document in the Azure Cosmos DB
+ * service.
+ */
+ @JsonProperty(value = "paths")
+ private List paths;
+
+ /**
+ * Get list of paths must be unique for each document in the Azure Cosmos DB service.
+ *
+ * @return the paths value
+ */
+ public List paths() {
+ return this.paths;
+ }
+
+ /**
+ * Set list of paths must be unique for each document in the Azure Cosmos DB service.
+ *
+ * @param paths the paths value to set
+ * @return the UniqueKey object itself.
+ */
+ public UniqueKey withPaths(List paths) {
+ this.paths = paths;
+ return this;
+ }
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/UniqueKeyPolicy.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/UniqueKeyPolicy.java
new file mode 100644
index 000000000000..1bfd818277ce
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/UniqueKeyPolicy.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The unique key policy configuration for specifying uniqueness constraints on
+ * documents in the collection in the Azure Cosmos DB service.
+ */
+public class UniqueKeyPolicy {
+ /**
+ * List of unique keys on that enforces uniqueness constraint on documents
+ * in the collection in the Azure Cosmos DB service.
+ */
+ @JsonProperty(value = "uniqueKeys")
+ private List uniqueKeys;
+
+ /**
+ * Get list of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service.
+ *
+ * @return the uniqueKeys value
+ */
+ public List uniqueKeys() {
+ return this.uniqueKeys;
+ }
+
+ /**
+ * Set list of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service.
+ *
+ * @param uniqueKeys the uniqueKeys value to set
+ * @return the UniqueKeyPolicy object itself.
+ */
+ public UniqueKeyPolicy withUniqueKeys(List uniqueKeys) {
+ this.uniqueKeys = uniqueKeys;
+ return this;
+ }
+
+}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/VirtualNetworkRule.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/VirtualNetworkRule.java
index 00f0f258d491..ff9af2f8c263 100644
--- a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/VirtualNetworkRule.java
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/VirtualNetworkRule.java
@@ -21,6 +21,13 @@ public class VirtualNetworkRule {
@JsonProperty(value = "id")
private String id;
+ /**
+ * Create firewall rule before the virtual network has vnet service
+ * endpoint enabled.
+ */
+ @JsonProperty(value = "ignoreMissingVNetServiceEndpoint")
+ private Boolean ignoreMissingVNetServiceEndpoint;
+
/**
* Get resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}.
*
@@ -41,4 +48,24 @@ public VirtualNetworkRule withId(String id) {
return this;
}
+ /**
+ * Get create firewall rule before the virtual network has vnet service endpoint enabled.
+ *
+ * @return the ignoreMissingVNetServiceEndpoint value
+ */
+ public Boolean ignoreMissingVNetServiceEndpoint() {
+ return this.ignoreMissingVNetServiceEndpoint;
+ }
+
+ /**
+ * Set create firewall rule before the virtual network has vnet service endpoint enabled.
+ *
+ * @param ignoreMissingVNetServiceEndpoint the ignoreMissingVNetServiceEndpoint value to set
+ * @return the VirtualNetworkRule object itself.
+ */
+ public VirtualNetworkRule withIgnoreMissingVNetServiceEndpoint(Boolean ignoreMissingVNetServiceEndpoint) {
+ this.ignoreMissingVNetServiceEndpoint = ignoreMissingVNetServiceEndpoint;
+ return this;
+ }
+
}
diff --git a/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/implementation/CassandraKeyspaceImpl.java b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/implementation/CassandraKeyspaceImpl.java
new file mode 100644
index 000000000000..f4d1d9eea295
--- /dev/null
+++ b/cosmosdb/resource-manager/v2015_04_08/src/main/java/com/microsoft/azure/management/cosmosdb/v2015_04_08/implementation/CassandraKeyspaceImpl.java
@@ -0,0 +1,145 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.cosmosdb.v2015_04_08.implementation;
+
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.CassandraKeyspace;
+import com.microsoft.azure.arm.model.implementation.CreatableUpdatableImpl;
+import rx.Observable;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.CassandraKeyspaceCreateUpdateParameters;
+import java.util.Map;
+import com.microsoft.azure.management.cosmosdb.v2015_04_08.CassandraKeyspaceResource;
+import rx.functions.Func1;
+
+class CassandraKeyspaceImpl extends CreatableUpdatableImpl implements CassandraKeyspace, CassandraKeyspace.Definition, CassandraKeyspace.Update {
+ private final CosmosDBManager manager;
+ private String resourceGroupName;
+ private String accountName;
+ private String keyspaceName;
+ private CassandraKeyspaceCreateUpdateParameters createOrUpdateParameter;
+
+ CassandraKeyspaceImpl(String name, CosmosDBManager manager) {
+ super(name, new CassandraKeyspaceInner());
+ this.manager = manager;
+ // Set resource name
+ this.keyspaceName = name;
+ //
+ this.createOrUpdateParameter = new CassandraKeyspaceCreateUpdateParameters();
+ }
+
+ CassandraKeyspaceImpl(CassandraKeyspaceInner inner, CosmosDBManager manager) {
+ super(inner.name(), inner);
+ this.manager = manager;
+ // Set resource name
+ this.keyspaceName = inner.name();
+ // set resource ancestor and positional variables
+ this.resourceGroupName = IdParsingUtils.getValueFromIdByName(inner.id(), "resourceGroups");
+ this.accountName = IdParsingUtils.getValueFromIdByName(inner.id(), "databaseAccounts");
+ this.keyspaceName = IdParsingUtils.getValueFromIdByName(inner.id(), "keyspaces");
+ //
+ this.createOrUpdateParameter = new CassandraKeyspaceCreateUpdateParameters();
+ }
+
+ @Override
+ public CosmosDBManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public Observable createResourceAsync() {
+ DatabaseAccountsInner client = this.manager().inner().databaseAccounts();
+ return client.createUpdateCassandraKeyspaceAsync(this.resourceGroupName, this.accountName, this.keyspaceName, this.createOrUpdateParameter)
+ .map(new Func1() {
+ @Override
+ public CassandraKeyspaceInner call(CassandraKeyspaceInner resource) {
+ resetCreateUpdateParameters();
+ return resource;
+ }
+ })
+ .map(innerToFluentMap(this));
+ }
+
+ @Override
+ public Observable updateResourceAsync() {
+ DatabaseAccountsInner client = this.manager().inner().databaseAccounts();
+ return client.createUpdateCassandraKeyspaceAsync(this.resourceGroupName, this.accountName, this.keyspaceName, this.createOrUpdateParameter)
+ .map(new Func1