scopes = new ArrayList<>();
+ private RetryPolicy retryPolicy;
+ private RetryOptions retryOptions;
+ private Duration defaultPollInterval;
+
+ private Configurable() {
+ }
+
+ /**
+ * Sets the http client.
+ *
+ * @param httpClient the HTTP client.
+ * @return the configurable object itself.
+ */
+ public Configurable withHttpClient(HttpClient httpClient) {
+ this.httpClient = Objects.requireNonNull(httpClient, "'httpClient' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the logging options to the HTTP pipeline.
+ *
+ * @param httpLogOptions the HTTP log options.
+ * @return the configurable object itself.
+ */
+ public Configurable withLogOptions(HttpLogOptions httpLogOptions) {
+ this.httpLogOptions = Objects.requireNonNull(httpLogOptions, "'httpLogOptions' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Adds the pipeline policy to the HTTP pipeline.
+ *
+ * @param policy the HTTP pipeline policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withPolicy(HttpPipelinePolicy policy) {
+ this.policies.add(Objects.requireNonNull(policy, "'policy' cannot be null."));
+ return this;
+ }
+
+ /**
+ * Adds the scope to permission sets.
+ *
+ * @param scope the scope.
+ * @return the configurable object itself.
+ */
+ public Configurable withScope(String scope) {
+ this.scopes.add(Objects.requireNonNull(scope, "'scope' cannot be null."));
+ return this;
+ }
+
+ /**
+ * Sets the retry policy to the HTTP pipeline.
+ *
+ * @param retryPolicy the HTTP pipeline retry policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withRetryPolicy(RetryPolicy retryPolicy) {
+ this.retryPolicy = Objects.requireNonNull(retryPolicy, "'retryPolicy' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the retry options for the HTTP pipeline retry policy.
+ *
+ * This setting has no effect, if retry policy is set via {@link #withRetryPolicy(RetryPolicy)}.
+ *
+ * @param retryOptions the retry options for the HTTP pipeline retry policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withRetryOptions(RetryOptions retryOptions) {
+ this.retryOptions = Objects.requireNonNull(retryOptions, "'retryOptions' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the default poll interval, used when service does not provide "Retry-After" header.
+ *
+ * @param defaultPollInterval the default poll interval.
+ * @return the configurable object itself.
+ */
+ public Configurable withDefaultPollInterval(Duration defaultPollInterval) {
+ this.defaultPollInterval
+ = Objects.requireNonNull(defaultPollInterval, "'defaultPollInterval' cannot be null.");
+ if (this.defaultPollInterval.isNegative()) {
+ throw LOGGER
+ .logExceptionAsError(new IllegalArgumentException("'defaultPollInterval' cannot be negative"));
+ }
+ return this;
+ }
+
+ /**
+ * Creates an instance of CosmosDB service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the CosmosDB service API instance.
+ */
+ public CosmosDBManager authenticate(TokenCredential credential, AzureProfile profile) {
+ Objects.requireNonNull(credential, "'credential' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+
+ StringBuilder userAgentBuilder = new StringBuilder();
+ userAgentBuilder.append("azsdk-java")
+ .append("-")
+ .append("com.azure.resourcemanager.cosmos.generated")
+ .append("/")
+ .append("1.0.0-beta.1");
+ if (!Configuration.getGlobalConfiguration().get("AZURE_TELEMETRY_DISABLED", false)) {
+ userAgentBuilder.append(" (")
+ .append(Configuration.getGlobalConfiguration().get("java.version"))
+ .append("; ")
+ .append(Configuration.getGlobalConfiguration().get("os.name"))
+ .append("; ")
+ .append(Configuration.getGlobalConfiguration().get("os.version"))
+ .append("; auto-generated)");
+ } else {
+ userAgentBuilder.append(" (auto-generated)");
+ }
+
+ if (scopes.isEmpty()) {
+ scopes.add(profile.getEnvironment().getManagementEndpoint() + "/.default");
+ }
+ if (retryPolicy == null) {
+ if (retryOptions != null) {
+ retryPolicy = new RetryPolicy(retryOptions);
+ } else {
+ retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
+ }
+ }
+ List policies = new ArrayList<>();
+ policies.add(new UserAgentPolicy(userAgentBuilder.toString()));
+ policies.add(new AddHeadersFromContextPolicy());
+ policies.add(new RequestIdPolicy());
+ policies.addAll(this.policies.stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addBeforeRetryPolicies(policies);
+ policies.add(retryPolicy);
+ policies.add(new AddDatePolicy());
+ policies.add(new ArmChallengeAuthenticationPolicy(credential, scopes.toArray(new String[0])));
+ policies.addAll(this.policies.stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addAfterRetryPolicies(policies);
+ policies.add(new HttpLoggingPolicy(httpLogOptions));
+ HttpPipeline httpPipeline = new HttpPipelineBuilder().httpClient(httpClient)
+ .policies(policies.toArray(new HttpPipelinePolicy[0]))
+ .build();
+ return new CosmosDBManager(httpPipeline, profile, defaultPollInterval);
+ }
+ }
+
+ /**
+ * Gets the resource collection API of DatabaseAccounts. It manages DatabaseAccountGetResults.
+ *
+ * @return Resource collection API of DatabaseAccounts.
+ */
+ public DatabaseAccounts databaseAccounts() {
+ if (this.databaseAccounts == null) {
+ this.databaseAccounts = new DatabaseAccountsImpl(clientObject.getDatabaseAccounts(), this);
+ }
+ return databaseAccounts;
+ }
+
+ /**
+ * Gets the resource collection API of Operations.
+ *
+ * @return Resource collection API of Operations.
+ */
+ public Operations operations() {
+ if (this.operations == null) {
+ this.operations = new OperationsImpl(clientObject.getOperations(), this);
+ }
+ return operations;
+ }
+
+ /**
+ * Gets the resource collection API of Databases.
+ *
+ * @return Resource collection API of Databases.
+ */
+ public Databases databases() {
+ if (this.databases == null) {
+ this.databases = new DatabasesImpl(clientObject.getDatabases(), this);
+ }
+ return databases;
+ }
+
+ /**
+ * Gets the resource collection API of Collections.
+ *
+ * @return Resource collection API of Collections.
+ */
+ public Collections collections() {
+ if (this.collections == null) {
+ this.collections = new CollectionsImpl(clientObject.getCollections(), this);
+ }
+ return collections;
+ }
+
+ /**
+ * Gets the resource collection API of CollectionRegions.
+ *
+ * @return Resource collection API of CollectionRegions.
+ */
+ public CollectionRegions collectionRegions() {
+ if (this.collectionRegions == null) {
+ this.collectionRegions = new CollectionRegionsImpl(clientObject.getCollectionRegions(), this);
+ }
+ return collectionRegions;
+ }
+
+ /**
+ * Gets the resource collection API of DatabaseAccountRegions.
+ *
+ * @return Resource collection API of DatabaseAccountRegions.
+ */
+ public DatabaseAccountRegions databaseAccountRegions() {
+ if (this.databaseAccountRegions == null) {
+ this.databaseAccountRegions
+ = new DatabaseAccountRegionsImpl(clientObject.getDatabaseAccountRegions(), this);
+ }
+ return databaseAccountRegions;
+ }
+
+ /**
+ * Gets the resource collection API of PercentileSourceTargets.
+ *
+ * @return Resource collection API of PercentileSourceTargets.
+ */
+ public PercentileSourceTargets percentileSourceTargets() {
+ if (this.percentileSourceTargets == null) {
+ this.percentileSourceTargets
+ = new PercentileSourceTargetsImpl(clientObject.getPercentileSourceTargets(), this);
+ }
+ return percentileSourceTargets;
+ }
+
+ /**
+ * Gets the resource collection API of PercentileTargets.
+ *
+ * @return Resource collection API of PercentileTargets.
+ */
+ public PercentileTargets percentileTargets() {
+ if (this.percentileTargets == null) {
+ this.percentileTargets = new PercentileTargetsImpl(clientObject.getPercentileTargets(), this);
+ }
+ return percentileTargets;
+ }
+
+ /**
+ * Gets the resource collection API of Percentiles.
+ *
+ * @return Resource collection API of Percentiles.
+ */
+ public Percentiles percentiles() {
+ if (this.percentiles == null) {
+ this.percentiles = new PercentilesImpl(clientObject.getPercentiles(), this);
+ }
+ return percentiles;
+ }
+
+ /**
+ * Gets the resource collection API of CollectionPartitionRegions.
+ *
+ * @return Resource collection API of CollectionPartitionRegions.
+ */
+ public CollectionPartitionRegions collectionPartitionRegions() {
+ if (this.collectionPartitionRegions == null) {
+ this.collectionPartitionRegions
+ = new CollectionPartitionRegionsImpl(clientObject.getCollectionPartitionRegions(), this);
+ }
+ return collectionPartitionRegions;
+ }
+
+ /**
+ * Gets the resource collection API of CollectionPartitions.
+ *
+ * @return Resource collection API of CollectionPartitions.
+ */
+ public CollectionPartitions collectionPartitions() {
+ if (this.collectionPartitions == null) {
+ this.collectionPartitions = new CollectionPartitionsImpl(clientObject.getCollectionPartitions(), this);
+ }
+ return collectionPartitions;
+ }
+
+ /**
+ * Gets the resource collection API of PartitionKeyRangeIds.
+ *
+ * @return Resource collection API of PartitionKeyRangeIds.
+ */
+ public PartitionKeyRangeIds partitionKeyRangeIds() {
+ if (this.partitionKeyRangeIds == null) {
+ this.partitionKeyRangeIds = new PartitionKeyRangeIdsImpl(clientObject.getPartitionKeyRangeIds(), this);
+ }
+ return partitionKeyRangeIds;
+ }
+
+ /**
+ * Gets the resource collection API of PartitionKeyRangeIdRegions.
+ *
+ * @return Resource collection API of PartitionKeyRangeIdRegions.
+ */
+ public PartitionKeyRangeIdRegions partitionKeyRangeIdRegions() {
+ if (this.partitionKeyRangeIdRegions == null) {
+ this.partitionKeyRangeIdRegions
+ = new PartitionKeyRangeIdRegionsImpl(clientObject.getPartitionKeyRangeIdRegions(), this);
+ }
+ return partitionKeyRangeIdRegions;
+ }
+
+ /**
+ * Gets the resource collection API of SqlResources. It manages SqlDatabaseGetResults, SqlContainerGetResults,
+ * ClientEncryptionKeyGetResults, SqlStoredProcedureGetResults, SqlUserDefinedFunctionGetResults,
+ * SqlTriggerGetResults, SqlRoleDefinitionGetResults, SqlRoleAssignmentGetResults.
+ *
+ * @return Resource collection API of SqlResources.
+ */
+ public SqlResources sqlResources() {
+ if (this.sqlResources == null) {
+ this.sqlResources = new SqlResourcesImpl(clientObject.getSqlResources(), this);
+ }
+ return sqlResources;
+ }
+
+ /**
+ * Gets the resource collection API of MongoDBResources. It manages MongoDBDatabaseGetResults,
+ * MongoDBCollectionGetResults, MongoRoleDefinitionGetResults, MongoUserDefinitionGetResults.
+ *
+ * @return Resource collection API of MongoDBResources.
+ */
+ public MongoDBResources mongoDBResources() {
+ if (this.mongoDBResources == null) {
+ this.mongoDBResources = new MongoDBResourcesImpl(clientObject.getMongoDBResources(), this);
+ }
+ return mongoDBResources;
+ }
+
+ /**
+ * Gets the resource collection API of TableResources. It manages TableGetResults.
+ *
+ * @return Resource collection API of TableResources.
+ */
+ public TableResources tableResources() {
+ if (this.tableResources == null) {
+ this.tableResources = new TableResourcesImpl(clientObject.getTableResources(), this);
+ }
+ return tableResources;
+ }
+
+ /**
+ * Gets the resource collection API of CassandraResources. It manages CassandraKeyspaceGetResults,
+ * CassandraTableGetResults.
+ *
+ * @return Resource collection API of CassandraResources.
+ */
+ public CassandraResources cassandraResources() {
+ if (this.cassandraResources == null) {
+ this.cassandraResources = new CassandraResourcesImpl(clientObject.getCassandraResources(), this);
+ }
+ return cassandraResources;
+ }
+
+ /**
+ * Gets the resource collection API of GremlinResources. It manages GremlinDatabaseGetResults,
+ * GremlinGraphGetResults.
+ *
+ * @return Resource collection API of GremlinResources.
+ */
+ public GremlinResources gremlinResources() {
+ if (this.gremlinResources == null) {
+ this.gremlinResources = new GremlinResourcesImpl(clientObject.getGremlinResources(), this);
+ }
+ return gremlinResources;
+ }
+
+ /**
+ * Gets the resource collection API of Locations.
+ *
+ * @return Resource collection API of Locations.
+ */
+ public Locations locations() {
+ if (this.locations == null) {
+ this.locations = new LocationsImpl(clientObject.getLocations(), this);
+ }
+ return locations;
+ }
+
+ /**
+ * Gets the resource collection API of CassandraClusters. It manages ClusterResource.
+ *
+ * @return Resource collection API of CassandraClusters.
+ */
+ public CassandraClusters cassandraClusters() {
+ if (this.cassandraClusters == null) {
+ this.cassandraClusters = new CassandraClustersImpl(clientObject.getCassandraClusters(), this);
+ }
+ return cassandraClusters;
+ }
+
+ /**
+ * Gets the resource collection API of CassandraDataCenters. It manages DataCenterResource.
+ *
+ * @return Resource collection API of CassandraDataCenters.
+ */
+ public CassandraDataCenters cassandraDataCenters() {
+ if (this.cassandraDataCenters == null) {
+ this.cassandraDataCenters = new CassandraDataCentersImpl(clientObject.getCassandraDataCenters(), this);
+ }
+ return cassandraDataCenters;
+ }
+
+ /**
+ * Gets the resource collection API of NotebookWorkspaces. It manages NotebookWorkspace.
+ *
+ * @return Resource collection API of NotebookWorkspaces.
+ */
+ public NotebookWorkspaces notebookWorkspaces() {
+ if (this.notebookWorkspaces == null) {
+ this.notebookWorkspaces = new NotebookWorkspacesImpl(clientObject.getNotebookWorkspaces(), this);
+ }
+ return notebookWorkspaces;
+ }
+
+ /**
+ * Gets the resource collection API of PrivateEndpointConnections. It manages PrivateEndpointConnection.
+ *
+ * @return Resource collection API of PrivateEndpointConnections.
+ */
+ public PrivateEndpointConnections privateEndpointConnections() {
+ if (this.privateEndpointConnections == null) {
+ this.privateEndpointConnections
+ = new PrivateEndpointConnectionsImpl(clientObject.getPrivateEndpointConnections(), this);
+ }
+ return privateEndpointConnections;
+ }
+
+ /**
+ * Gets the resource collection API of PrivateLinkResources.
+ *
+ * @return Resource collection API of PrivateLinkResources.
+ */
+ public PrivateLinkResources privateLinkResources() {
+ if (this.privateLinkResources == null) {
+ this.privateLinkResources = new PrivateLinkResourcesImpl(clientObject.getPrivateLinkResources(), this);
+ }
+ return privateLinkResources;
+ }
+
+ /**
+ * Gets the resource collection API of RestorableDatabaseAccounts.
+ *
+ * @return Resource collection API of RestorableDatabaseAccounts.
+ */
+ public RestorableDatabaseAccounts restorableDatabaseAccounts() {
+ if (this.restorableDatabaseAccounts == null) {
+ this.restorableDatabaseAccounts
+ = new RestorableDatabaseAccountsImpl(clientObject.getRestorableDatabaseAccounts(), this);
+ }
+ return restorableDatabaseAccounts;
+ }
+
+ /**
+ * Gets the resource collection API of RestorableSqlDatabases.
+ *
+ * @return Resource collection API of RestorableSqlDatabases.
+ */
+ public RestorableSqlDatabases restorableSqlDatabases() {
+ if (this.restorableSqlDatabases == null) {
+ this.restorableSqlDatabases
+ = new RestorableSqlDatabasesImpl(clientObject.getRestorableSqlDatabases(), this);
+ }
+ return restorableSqlDatabases;
+ }
+
+ /**
+ * Gets the resource collection API of RestorableSqlContainers.
+ *
+ * @return Resource collection API of RestorableSqlContainers.
+ */
+ public RestorableSqlContainers restorableSqlContainers() {
+ if (this.restorableSqlContainers == null) {
+ this.restorableSqlContainers
+ = new RestorableSqlContainersImpl(clientObject.getRestorableSqlContainers(), this);
+ }
+ return restorableSqlContainers;
+ }
+
+ /**
+ * Gets the resource collection API of RestorableSqlResources.
+ *
+ * @return Resource collection API of RestorableSqlResources.
+ */
+ public RestorableSqlResources restorableSqlResources() {
+ if (this.restorableSqlResources == null) {
+ this.restorableSqlResources
+ = new RestorableSqlResourcesImpl(clientObject.getRestorableSqlResources(), this);
+ }
+ return restorableSqlResources;
+ }
+
+ /**
+ * Gets the resource collection API of RestorableMongodbDatabases.
+ *
+ * @return Resource collection API of RestorableMongodbDatabases.
+ */
+ public RestorableMongodbDatabases restorableMongodbDatabases() {
+ if (this.restorableMongodbDatabases == null) {
+ this.restorableMongodbDatabases
+ = new RestorableMongodbDatabasesImpl(clientObject.getRestorableMongodbDatabases(), this);
+ }
+ return restorableMongodbDatabases;
+ }
+
+ /**
+ * Gets the resource collection API of RestorableMongodbCollections.
+ *
+ * @return Resource collection API of RestorableMongodbCollections.
+ */
+ public RestorableMongodbCollections restorableMongodbCollections() {
+ if (this.restorableMongodbCollections == null) {
+ this.restorableMongodbCollections
+ = new RestorableMongodbCollectionsImpl(clientObject.getRestorableMongodbCollections(), this);
+ }
+ return restorableMongodbCollections;
+ }
+
+ /**
+ * Gets the resource collection API of RestorableMongodbResources.
+ *
+ * @return Resource collection API of RestorableMongodbResources.
+ */
+ public RestorableMongodbResources restorableMongodbResources() {
+ if (this.restorableMongodbResources == null) {
+ this.restorableMongodbResources
+ = new RestorableMongodbResourcesImpl(clientObject.getRestorableMongodbResources(), this);
+ }
+ return restorableMongodbResources;
+ }
+
+ /**
+ * Gets the resource collection API of RestorableGremlinDatabases.
+ *
+ * @return Resource collection API of RestorableGremlinDatabases.
+ */
+ public RestorableGremlinDatabases restorableGremlinDatabases() {
+ if (this.restorableGremlinDatabases == null) {
+ this.restorableGremlinDatabases
+ = new RestorableGremlinDatabasesImpl(clientObject.getRestorableGremlinDatabases(), this);
+ }
+ return restorableGremlinDatabases;
+ }
+
+ /**
+ * Gets the resource collection API of RestorableGremlinGraphs.
+ *
+ * @return Resource collection API of RestorableGremlinGraphs.
+ */
+ public RestorableGremlinGraphs restorableGremlinGraphs() {
+ if (this.restorableGremlinGraphs == null) {
+ this.restorableGremlinGraphs
+ = new RestorableGremlinGraphsImpl(clientObject.getRestorableGremlinGraphs(), this);
+ }
+ return restorableGremlinGraphs;
+ }
+
+ /**
+ * Gets the resource collection API of RestorableGremlinResources.
+ *
+ * @return Resource collection API of RestorableGremlinResources.
+ */
+ public RestorableGremlinResources restorableGremlinResources() {
+ if (this.restorableGremlinResources == null) {
+ this.restorableGremlinResources
+ = new RestorableGremlinResourcesImpl(clientObject.getRestorableGremlinResources(), this);
+ }
+ return restorableGremlinResources;
+ }
+
+ /**
+ * Gets the resource collection API of RestorableTables.
+ *
+ * @return Resource collection API of RestorableTables.
+ */
+ public RestorableTables restorableTables() {
+ if (this.restorableTables == null) {
+ this.restorableTables = new RestorableTablesImpl(clientObject.getRestorableTables(), this);
+ }
+ return restorableTables;
+ }
+
+ /**
+ * Gets the resource collection API of RestorableTableResources.
+ *
+ * @return Resource collection API of RestorableTableResources.
+ */
+ public RestorableTableResources restorableTableResources() {
+ if (this.restorableTableResources == null) {
+ this.restorableTableResources
+ = new RestorableTableResourcesImpl(clientObject.getRestorableTableResources(), this);
+ }
+ return restorableTableResources;
+ }
+
+ /**
+ * Gets the resource collection API of Services. It manages ServiceResource.
+ *
+ * @return Resource collection API of Services.
+ */
+ public Services services() {
+ if (this.services == null) {
+ this.services = new ServicesImpl(clientObject.getServices(), this);
+ }
+ return services;
+ }
+
+ /**
+ * Gets wrapped service client CosmosDBManagementClient providing direct access to the underlying auto-generated API
+ * implementation, based on Azure REST API.
+ *
+ * @return Wrapped service client CosmosDBManagementClient.
+ */
+ public CosmosDBManagementClient serviceClient() {
+ return this.clientObject;
+ }
+}
diff --git a/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/CassandraClustersClient.java b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/CassandraClustersClient.java
new file mode 100644
index 0000000000000..1d3cd694ed9d9
--- /dev/null
+++ b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/CassandraClustersClient.java
@@ -0,0 +1,485 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cosmos.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.CassandraClusterPublicStatusInner;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.ClusterResourceInner;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.CommandOutputInner;
+import com.azure.resourcemanager.cosmos.generated.models.CommandPostBody;
+
+/**
+ * An instance of this class provides access to all the operations defined in CassandraClustersClient.
+ */
+public interface CassandraClustersClient {
+ /**
+ * List all managed Cassandra clusters in this subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of managed Cassandra clusters as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List all managed Cassandra clusters in this subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of managed Cassandra clusters as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * List all managed Cassandra clusters in this resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of managed Cassandra clusters as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * List all managed Cassandra clusters in this resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of managed Cassandra clusters as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Get the properties of a managed Cassandra cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the properties of a managed Cassandra cluster along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(String resourceGroupName, String clusterName,
+ Context context);
+
+ /**
+ * Get the properties of a managed Cassandra cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the properties of a managed Cassandra cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterResourceInner getByResourceGroup(String resourceGroupName, String clusterName);
+
+ /**
+ * Deletes a managed Cassandra cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String clusterName);
+
+ /**
+ * Deletes a managed Cassandra cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String clusterName, Context context);
+
+ /**
+ * Deletes a managed Cassandra cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String clusterName);
+
+ /**
+ * Deletes a managed Cassandra cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String clusterName, Context context);
+
+ /**
+ * Create or update a managed Cassandra cluster. When updating, you must specify all writable properties. To update
+ * only some properties, use PATCH.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param body The properties specifying the desired state of the managed Cassandra cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of representation of a managed Cassandra cluster.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ClusterResourceInner> beginCreateUpdate(String resourceGroupName,
+ String clusterName, ClusterResourceInner body);
+
+ /**
+ * Create or update a managed Cassandra cluster. When updating, you must specify all writable properties. To update
+ * only some properties, use PATCH.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param body The properties specifying the desired state of the managed Cassandra cluster.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of representation of a managed Cassandra cluster.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ClusterResourceInner> beginCreateUpdate(String resourceGroupName,
+ String clusterName, ClusterResourceInner body, Context context);
+
+ /**
+ * Create or update a managed Cassandra cluster. When updating, you must specify all writable properties. To update
+ * only some properties, use PATCH.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param body The properties specifying the desired state of the managed Cassandra cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return representation of a managed Cassandra cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterResourceInner createUpdate(String resourceGroupName, String clusterName, ClusterResourceInner body);
+
+ /**
+ * Create or update a managed Cassandra cluster. When updating, you must specify all writable properties. To update
+ * only some properties, use PATCH.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param body The properties specifying the desired state of the managed Cassandra cluster.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return representation of a managed Cassandra cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterResourceInner createUpdate(String resourceGroupName, String clusterName, ClusterResourceInner body,
+ Context context);
+
+ /**
+ * Updates some of the properties of a managed Cassandra cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param body Parameters to provide for specifying the managed Cassandra cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of representation of a managed Cassandra cluster.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ClusterResourceInner> beginUpdate(String resourceGroupName,
+ String clusterName, ClusterResourceInner body);
+
+ /**
+ * Updates some of the properties of a managed Cassandra cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param body Parameters to provide for specifying the managed Cassandra cluster.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of representation of a managed Cassandra cluster.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ClusterResourceInner> beginUpdate(String resourceGroupName,
+ String clusterName, ClusterResourceInner body, Context context);
+
+ /**
+ * Updates some of the properties of a managed Cassandra cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param body Parameters to provide for specifying the managed Cassandra cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return representation of a managed Cassandra cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterResourceInner update(String resourceGroupName, String clusterName, ClusterResourceInner body);
+
+ /**
+ * Updates some of the properties of a managed Cassandra cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param body Parameters to provide for specifying the managed Cassandra cluster.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return representation of a managed Cassandra cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterResourceInner update(String resourceGroupName, String clusterName, ClusterResourceInner body,
+ Context context);
+
+ /**
+ * Invoke a command like nodetool for cassandra maintenance.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param body Specification which command to run where.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of response of /command api.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CommandOutputInner> beginInvokeCommand(String resourceGroupName,
+ String clusterName, CommandPostBody body);
+
+ /**
+ * Invoke a command like nodetool for cassandra maintenance.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param body Specification which command to run where.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of response of /command api.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CommandOutputInner> beginInvokeCommand(String resourceGroupName,
+ String clusterName, CommandPostBody body, Context context);
+
+ /**
+ * Invoke a command like nodetool for cassandra maintenance.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param body Specification which command to run where.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response of /command api.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CommandOutputInner invokeCommand(String resourceGroupName, String clusterName, CommandPostBody body);
+
+ /**
+ * Invoke a command like nodetool for cassandra maintenance.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param body Specification which command to run where.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response of /command api.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CommandOutputInner invokeCommand(String resourceGroupName, String clusterName, CommandPostBody body,
+ Context context);
+
+ /**
+ * Deallocate the Managed Cassandra Cluster and Associated Data Centers. Deallocation will deallocate the host
+ * virtual machine of this cluster, and reserved the data disk. This won't do anything on an already deallocated
+ * cluster. Use Start to restart the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDeallocate(String resourceGroupName, String clusterName);
+
+ /**
+ * Deallocate the Managed Cassandra Cluster and Associated Data Centers. Deallocation will deallocate the host
+ * virtual machine of this cluster, and reserved the data disk. This won't do anything on an already deallocated
+ * cluster. Use Start to restart the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDeallocate(String resourceGroupName, String clusterName, Context context);
+
+ /**
+ * Deallocate the Managed Cassandra Cluster and Associated Data Centers. Deallocation will deallocate the host
+ * virtual machine of this cluster, and reserved the data disk. This won't do anything on an already deallocated
+ * cluster. Use Start to restart the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void deallocate(String resourceGroupName, String clusterName);
+
+ /**
+ * Deallocate the Managed Cassandra Cluster and Associated Data Centers. Deallocation will deallocate the host
+ * virtual machine of this cluster, and reserved the data disk. This won't do anything on an already deallocated
+ * cluster. Use Start to restart the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void deallocate(String resourceGroupName, String clusterName, Context context);
+
+ /**
+ * Start the Managed Cassandra Cluster and Associated Data Centers. Start will start the host virtual machine of
+ * this cluster with reserved data disk. This won't do anything on an already running cluster. Use Deallocate to
+ * deallocate the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginStart(String resourceGroupName, String clusterName);
+
+ /**
+ * Start the Managed Cassandra Cluster and Associated Data Centers. Start will start the host virtual machine of
+ * this cluster with reserved data disk. This won't do anything on an already running cluster. Use Deallocate to
+ * deallocate the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginStart(String resourceGroupName, String clusterName, Context context);
+
+ /**
+ * Start the Managed Cassandra Cluster and Associated Data Centers. Start will start the host virtual machine of
+ * this cluster with reserved data disk. This won't do anything on an already running cluster. Use Deallocate to
+ * deallocate the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void start(String resourceGroupName, String clusterName);
+
+ /**
+ * Start the Managed Cassandra Cluster and Associated Data Centers. Start will start the host virtual machine of
+ * this cluster with reserved data disk. This won't do anything on an already running cluster. Use Deallocate to
+ * deallocate the cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void start(String resourceGroupName, String clusterName, Context context);
+
+ /**
+ * Gets the CPU, memory, and disk usage statistics for each Cassandra node in a cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the CPU, memory, and disk usage statistics for each Cassandra node in a cluster along with
+ * {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response statusWithResponse(String resourceGroupName, String clusterName,
+ Context context);
+
+ /**
+ * Gets the CPU, memory, and disk usage statistics for each Cassandra node in a cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the CPU, memory, and disk usage statistics for each Cassandra node in a cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CassandraClusterPublicStatusInner status(String resourceGroupName, String clusterName);
+}
diff --git a/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/CassandraDataCentersClient.java b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/CassandraDataCentersClient.java
new file mode 100644
index 0000000000000..d81f1196ec2b2
--- /dev/null
+++ b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/CassandraDataCentersClient.java
@@ -0,0 +1,271 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cosmos.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.DataCenterResourceInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in CassandraDataCentersClient.
+ */
+public interface CassandraDataCentersClient {
+ /**
+ * List all data centers in a particular managed Cassandra cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of managed Cassandra data centers and their properties as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String clusterName);
+
+ /**
+ * List all data centers in a particular managed Cassandra cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of managed Cassandra data centers and their properties as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String clusterName, Context context);
+
+ /**
+ * Get the properties of a managed Cassandra data center.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param dataCenterName Data center name in a managed Cassandra cluster.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the properties of a managed Cassandra data center along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String clusterName,
+ String dataCenterName, Context context);
+
+ /**
+ * Get the properties of a managed Cassandra data center.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param dataCenterName Data center name in a managed Cassandra cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the properties of a managed Cassandra data center.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DataCenterResourceInner get(String resourceGroupName, String clusterName, String dataCenterName);
+
+ /**
+ * Delete a managed Cassandra data center.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param dataCenterName Data center name in a managed Cassandra cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String clusterName, String dataCenterName);
+
+ /**
+ * Delete a managed Cassandra data center.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param dataCenterName Data center name in a managed Cassandra cluster.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String clusterName, String dataCenterName,
+ Context context);
+
+ /**
+ * Delete a managed Cassandra data center.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param dataCenterName Data center name in a managed Cassandra cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String clusterName, String dataCenterName);
+
+ /**
+ * Delete a managed Cassandra data center.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param dataCenterName Data center name in a managed Cassandra cluster.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String clusterName, String dataCenterName, Context context);
+
+ /**
+ * Create or update a managed Cassandra data center. When updating, overwrite all properties. To update only some
+ * properties, use PATCH.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param dataCenterName Data center name in a managed Cassandra cluster.
+ * @param body Parameters specifying the managed Cassandra data center.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of a managed Cassandra data center.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, DataCenterResourceInner> beginCreateUpdate(String resourceGroupName,
+ String clusterName, String dataCenterName, DataCenterResourceInner body);
+
+ /**
+ * Create or update a managed Cassandra data center. When updating, overwrite all properties. To update only some
+ * properties, use PATCH.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param dataCenterName Data center name in a managed Cassandra cluster.
+ * @param body Parameters specifying the managed Cassandra data center.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of a managed Cassandra data center.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, DataCenterResourceInner> beginCreateUpdate(String resourceGroupName,
+ String clusterName, String dataCenterName, DataCenterResourceInner body, Context context);
+
+ /**
+ * Create or update a managed Cassandra data center. When updating, overwrite all properties. To update only some
+ * properties, use PATCH.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param dataCenterName Data center name in a managed Cassandra cluster.
+ * @param body Parameters specifying the managed Cassandra data center.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a managed Cassandra data center.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DataCenterResourceInner createUpdate(String resourceGroupName, String clusterName, String dataCenterName,
+ DataCenterResourceInner body);
+
+ /**
+ * Create or update a managed Cassandra data center. When updating, overwrite all properties. To update only some
+ * properties, use PATCH.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param dataCenterName Data center name in a managed Cassandra cluster.
+ * @param body Parameters specifying the managed Cassandra data center.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a managed Cassandra data center.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DataCenterResourceInner createUpdate(String resourceGroupName, String clusterName, String dataCenterName,
+ DataCenterResourceInner body, Context context);
+
+ /**
+ * Update some of the properties of a managed Cassandra data center.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param dataCenterName Data center name in a managed Cassandra cluster.
+ * @param body Parameters to provide for specifying the managed Cassandra data center.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of a managed Cassandra data center.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, DataCenterResourceInner> beginUpdate(String resourceGroupName,
+ String clusterName, String dataCenterName, DataCenterResourceInner body);
+
+ /**
+ * Update some of the properties of a managed Cassandra data center.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param dataCenterName Data center name in a managed Cassandra cluster.
+ * @param body Parameters to provide for specifying the managed Cassandra data center.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of a managed Cassandra data center.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, DataCenterResourceInner> beginUpdate(String resourceGroupName,
+ String clusterName, String dataCenterName, DataCenterResourceInner body, Context context);
+
+ /**
+ * Update some of the properties of a managed Cassandra data center.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param dataCenterName Data center name in a managed Cassandra cluster.
+ * @param body Parameters to provide for specifying the managed Cassandra data center.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a managed Cassandra data center.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DataCenterResourceInner update(String resourceGroupName, String clusterName, String dataCenterName,
+ DataCenterResourceInner body);
+
+ /**
+ * Update some of the properties of a managed Cassandra data center.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param clusterName Managed Cassandra cluster name.
+ * @param dataCenterName Data center name in a managed Cassandra cluster.
+ * @param body Parameters to provide for specifying the managed Cassandra data center.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a managed Cassandra data center.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DataCenterResourceInner update(String resourceGroupName, String clusterName, String dataCenterName,
+ DataCenterResourceInner body, Context context);
+}
diff --git a/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/CassandraResourcesClient.java b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/CassandraResourcesClient.java
new file mode 100644
index 0000000000000..6af5df0b0615c
--- /dev/null
+++ b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/CassandraResourcesClient.java
@@ -0,0 +1,902 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cosmos.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.CassandraKeyspaceGetResultsInner;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.CassandraTableGetResultsInner;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.ThroughputSettingsGetResultsInner;
+import com.azure.resourcemanager.cosmos.generated.models.CassandraKeyspaceCreateUpdateParameters;
+import com.azure.resourcemanager.cosmos.generated.models.CassandraTableCreateUpdateParameters;
+import com.azure.resourcemanager.cosmos.generated.models.ThroughputSettingsUpdateParameters;
+
+/**
+ * An instance of this class provides access to all the operations defined in CassandraResourcesClient.
+ */
+public interface CassandraResourcesClient {
+ /**
+ * Lists the Cassandra keyspaces under an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List operation response, that contains the Cassandra keyspaces and their properties as paginated
+ * response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listCassandraKeyspaces(String resourceGroupName,
+ String accountName);
+
+ /**
+ * Lists the Cassandra keyspaces under an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List operation response, that contains the Cassandra keyspaces and their properties as paginated
+ * response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listCassandraKeyspaces(String resourceGroupName, String accountName,
+ Context context);
+
+ /**
+ * Gets the Cassandra keyspaces under an existing Azure Cosmos DB database account with the provided name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Cassandra keyspaces under an existing Azure Cosmos DB database account with the provided name along
+ * with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getCassandraKeyspaceWithResponse(String resourceGroupName,
+ String accountName, String keyspaceName, Context context);
+
+ /**
+ * Gets the Cassandra keyspaces under an existing Azure Cosmos DB database account with the provided name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Cassandra keyspaces under an existing Azure Cosmos DB database account with the provided name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CassandraKeyspaceGetResultsInner getCassandraKeyspace(String resourceGroupName, String accountName,
+ String keyspaceName);
+
+ /**
+ * Create or update an Azure Cosmos DB Cassandra keyspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @param createUpdateCassandraKeyspaceParameters The parameters to provide for the current Cassandra keyspace.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB Cassandra keyspace.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CassandraKeyspaceGetResultsInner>
+ beginCreateUpdateCassandraKeyspace(String resourceGroupName, String accountName, String keyspaceName,
+ CassandraKeyspaceCreateUpdateParameters createUpdateCassandraKeyspaceParameters);
+
+ /**
+ * Create or update an Azure Cosmos DB Cassandra keyspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @param createUpdateCassandraKeyspaceParameters The parameters to provide for the current Cassandra keyspace.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB Cassandra keyspace.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CassandraKeyspaceGetResultsInner>
+ beginCreateUpdateCassandraKeyspace(String resourceGroupName, String accountName, String keyspaceName,
+ CassandraKeyspaceCreateUpdateParameters createUpdateCassandraKeyspaceParameters, Context context);
+
+ /**
+ * Create or update an Azure Cosmos DB Cassandra keyspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @param createUpdateCassandraKeyspaceParameters The parameters to provide for the current Cassandra keyspace.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB Cassandra keyspace.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CassandraKeyspaceGetResultsInner createUpdateCassandraKeyspace(String resourceGroupName, String accountName,
+ String keyspaceName, CassandraKeyspaceCreateUpdateParameters createUpdateCassandraKeyspaceParameters);
+
+ /**
+ * Create or update an Azure Cosmos DB Cassandra keyspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @param createUpdateCassandraKeyspaceParameters The parameters to provide for the current Cassandra keyspace.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB Cassandra keyspace.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CassandraKeyspaceGetResultsInner createUpdateCassandraKeyspace(String resourceGroupName, String accountName,
+ String keyspaceName, CassandraKeyspaceCreateUpdateParameters createUpdateCassandraKeyspaceParameters,
+ Context context);
+
+ /**
+ * Deletes an existing Azure Cosmos DB Cassandra keyspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDeleteCassandraKeyspace(String resourceGroupName, String accountName,
+ String keyspaceName);
+
+ /**
+ * Deletes an existing Azure Cosmos DB Cassandra keyspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDeleteCassandraKeyspace(String resourceGroupName, String accountName,
+ String keyspaceName, Context context);
+
+ /**
+ * Deletes an existing Azure Cosmos DB Cassandra keyspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void deleteCassandraKeyspace(String resourceGroupName, String accountName, String keyspaceName);
+
+ /**
+ * Deletes an existing Azure Cosmos DB Cassandra keyspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void deleteCassandraKeyspace(String resourceGroupName, String accountName, String keyspaceName, Context context);
+
+ /**
+ * Gets the RUs per second of the Cassandra Keyspace under an existing Azure Cosmos DB database account with the
+ * provided name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the RUs per second of the Cassandra Keyspace under an existing Azure Cosmos DB database account with the
+ * provided name along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getCassandraKeyspaceThroughputWithResponse(String resourceGroupName,
+ String accountName, String keyspaceName, Context context);
+
+ /**
+ * Gets the RUs per second of the Cassandra Keyspace under an existing Azure Cosmos DB database account with the
+ * provided name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the RUs per second of the Cassandra Keyspace under an existing Azure Cosmos DB database account with the
+ * provided name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner getCassandraKeyspaceThroughput(String resourceGroupName, String accountName,
+ String keyspaceName);
+
+ /**
+ * Update RUs per second of an Azure Cosmos DB Cassandra Keyspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @param updateThroughputParameters The RUs per second of the parameters to provide for the current Cassandra
+ * Keyspace.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginUpdateCassandraKeyspaceThroughput(String resourceGroupName, String accountName, String keyspaceName,
+ ThroughputSettingsUpdateParameters updateThroughputParameters);
+
+ /**
+ * Update RUs per second of an Azure Cosmos DB Cassandra Keyspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @param updateThroughputParameters The RUs per second of the parameters to provide for the current Cassandra
+ * Keyspace.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginUpdateCassandraKeyspaceThroughput(String resourceGroupName, String accountName, String keyspaceName,
+ ThroughputSettingsUpdateParameters updateThroughputParameters, Context context);
+
+ /**
+ * Update RUs per second of an Azure Cosmos DB Cassandra Keyspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @param updateThroughputParameters The RUs per second of the parameters to provide for the current Cassandra
+ * Keyspace.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner updateCassandraKeyspaceThroughput(String resourceGroupName, String accountName,
+ String keyspaceName, ThroughputSettingsUpdateParameters updateThroughputParameters);
+
+ /**
+ * Update RUs per second of an Azure Cosmos DB Cassandra Keyspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @param updateThroughputParameters The RUs per second of the parameters to provide for the current Cassandra
+ * Keyspace.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner updateCassandraKeyspaceThroughput(String resourceGroupName, String accountName,
+ String keyspaceName, ThroughputSettingsUpdateParameters updateThroughputParameters, Context context);
+
+ /**
+ * Migrate an Azure Cosmos DB Cassandra Keyspace from manual throughput to autoscale.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginMigrateCassandraKeyspaceToAutoscale(String resourceGroupName, String accountName, String keyspaceName);
+
+ /**
+ * Migrate an Azure Cosmos DB Cassandra Keyspace from manual throughput to autoscale.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginMigrateCassandraKeyspaceToAutoscale(String resourceGroupName, String accountName, String keyspaceName,
+ Context context);
+
+ /**
+ * Migrate an Azure Cosmos DB Cassandra Keyspace from manual throughput to autoscale.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner migrateCassandraKeyspaceToAutoscale(String resourceGroupName, String accountName,
+ String keyspaceName);
+
+ /**
+ * Migrate an Azure Cosmos DB Cassandra Keyspace from manual throughput to autoscale.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner migrateCassandraKeyspaceToAutoscale(String resourceGroupName, String accountName,
+ String keyspaceName, Context context);
+
+ /**
+ * Migrate an Azure Cosmos DB Cassandra Keyspace from autoscale to manual throughput.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginMigrateCassandraKeyspaceToManualThroughput(String resourceGroupName, String accountName,
+ String keyspaceName);
+
+ /**
+ * Migrate an Azure Cosmos DB Cassandra Keyspace from autoscale to manual throughput.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginMigrateCassandraKeyspaceToManualThroughput(String resourceGroupName, String accountName,
+ String keyspaceName, Context context);
+
+ /**
+ * Migrate an Azure Cosmos DB Cassandra Keyspace from autoscale to manual throughput.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner migrateCassandraKeyspaceToManualThroughput(String resourceGroupName,
+ String accountName, String keyspaceName);
+
+ /**
+ * Migrate an Azure Cosmos DB Cassandra Keyspace from autoscale to manual throughput.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner migrateCassandraKeyspaceToManualThroughput(String resourceGroupName,
+ String accountName, String keyspaceName, Context context);
+
+ /**
+ * Lists the Cassandra table under an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List operation response, that contains the Cassandra tables and their properties as paginated
+ * response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listCassandraTables(String resourceGroupName, String accountName,
+ String keyspaceName);
+
+ /**
+ * Lists the Cassandra table under an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List operation response, that contains the Cassandra tables and their properties as paginated
+ * response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listCassandraTables(String resourceGroupName, String accountName,
+ String keyspaceName, Context context);
+
+ /**
+ * Gets the Cassandra table under an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @param tableName Cosmos DB table name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Cassandra table under an existing Azure Cosmos DB database account along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getCassandraTableWithResponse(String resourceGroupName, String accountName,
+ String keyspaceName, String tableName, Context context);
+
+ /**
+ * Gets the Cassandra table under an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Cassandra table under an existing Azure Cosmos DB database account.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CassandraTableGetResultsInner getCassandraTable(String resourceGroupName, String accountName, String keyspaceName,
+ String tableName);
+
+ /**
+ * Create or update an Azure Cosmos DB Cassandra Table.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB Cassandra table.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CassandraTableGetResultsInner>
+ beginCreateUpdateCassandraTable(String resourceGroupName, String accountName, String keyspaceName,
+ String tableName, CassandraTableCreateUpdateParameters createUpdateCassandraTableParameters);
+
+ /**
+ * Create or update an Azure Cosmos DB Cassandra Table.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB Cassandra table.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CassandraTableGetResultsInner>
+ beginCreateUpdateCassandraTable(String resourceGroupName, String accountName, String keyspaceName,
+ String tableName, CassandraTableCreateUpdateParameters createUpdateCassandraTableParameters,
+ Context context);
+
+ /**
+ * Create or update an Azure Cosmos DB Cassandra Table.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB Cassandra table.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CassandraTableGetResultsInner createUpdateCassandraTable(String resourceGroupName, String accountName,
+ String keyspaceName, String tableName,
+ CassandraTableCreateUpdateParameters createUpdateCassandraTableParameters);
+
+ /**
+ * Create or update an Azure Cosmos DB Cassandra Table.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB Cassandra table.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CassandraTableGetResultsInner createUpdateCassandraTable(String resourceGroupName, String accountName,
+ String keyspaceName, String tableName,
+ CassandraTableCreateUpdateParameters createUpdateCassandraTableParameters, Context context);
+
+ /**
+ * Deletes an existing Azure Cosmos DB Cassandra table.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDeleteCassandraTable(String resourceGroupName, String accountName,
+ String keyspaceName, String tableName);
+
+ /**
+ * Deletes an existing Azure Cosmos DB Cassandra table.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @param tableName Cosmos DB table name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDeleteCassandraTable(String resourceGroupName, String accountName,
+ String keyspaceName, String tableName, Context context);
+
+ /**
+ * Deletes an existing Azure Cosmos DB Cassandra table.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void deleteCassandraTable(String resourceGroupName, String accountName, String keyspaceName, String tableName);
+
+ /**
+ * Deletes an existing Azure Cosmos DB Cassandra table.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @param tableName Cosmos DB table name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void deleteCassandraTable(String resourceGroupName, String accountName, String keyspaceName, String tableName,
+ Context context);
+
+ /**
+ * Gets the RUs per second of the Cassandra table under an existing Azure Cosmos DB database account with the
+ * provided name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @param tableName Cosmos DB table name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the RUs per second of the Cassandra table under an existing Azure Cosmos DB database account with the
+ * provided name along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getCassandraTableThroughputWithResponse(String resourceGroupName,
+ String accountName, String keyspaceName, String tableName, Context context);
+
+ /**
+ * Gets the RUs per second of the Cassandra table under an existing Azure Cosmos DB database account with the
+ * provided name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the RUs per second of the Cassandra table under an existing Azure Cosmos DB database account with the
+ * provided name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner getCassandraTableThroughput(String resourceGroupName, String accountName,
+ String keyspaceName, String tableName);
+
+ /**
+ * Update RUs per second of an Azure Cosmos DB Cassandra table.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @param tableName Cosmos DB table name.
+ * @param updateThroughputParameters The RUs per second of the parameters to provide for the current Cassandra
+ * table.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginUpdateCassandraTableThroughput(String resourceGroupName, String accountName, String keyspaceName,
+ String tableName, ThroughputSettingsUpdateParameters updateThroughputParameters);
+
+ /**
+ * Update RUs per second of an Azure Cosmos DB Cassandra table.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @param tableName Cosmos DB table name.
+ * @param updateThroughputParameters The RUs per second of the parameters to provide for the current Cassandra
+ * table.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginUpdateCassandraTableThroughput(String resourceGroupName, String accountName, String keyspaceName,
+ String tableName, ThroughputSettingsUpdateParameters updateThroughputParameters, Context context);
+
+ /**
+ * Update RUs per second of an Azure Cosmos DB Cassandra table.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @param tableName Cosmos DB table name.
+ * @param updateThroughputParameters The RUs per second of the parameters to provide for the current Cassandra
+ * table.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner updateCassandraTableThroughput(String resourceGroupName, String accountName,
+ String keyspaceName, String tableName, ThroughputSettingsUpdateParameters updateThroughputParameters);
+
+ /**
+ * Update RUs per second of an Azure Cosmos DB Cassandra table.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @param tableName Cosmos DB table name.
+ * @param updateThroughputParameters The RUs per second of the parameters to provide for the current Cassandra
+ * table.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner updateCassandraTableThroughput(String resourceGroupName, String accountName,
+ String keyspaceName, String tableName, ThroughputSettingsUpdateParameters updateThroughputParameters,
+ Context context);
+
+ /**
+ * Migrate an Azure Cosmos DB Cassandra table from manual throughput to autoscale.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginMigrateCassandraTableToAutoscale(String resourceGroupName, String accountName, String keyspaceName,
+ String tableName);
+
+ /**
+ * Migrate an Azure Cosmos DB Cassandra table from manual throughput to autoscale.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @param tableName Cosmos DB table name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginMigrateCassandraTableToAutoscale(String resourceGroupName, String accountName, String keyspaceName,
+ String tableName, Context context);
+
+ /**
+ * Migrate an Azure Cosmos DB Cassandra table from manual throughput to autoscale.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner migrateCassandraTableToAutoscale(String resourceGroupName, String accountName,
+ String keyspaceName, String tableName);
+
+ /**
+ * Migrate an Azure Cosmos DB Cassandra table from manual throughput to autoscale.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @param tableName Cosmos DB table name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner migrateCassandraTableToAutoscale(String resourceGroupName, String accountName,
+ String keyspaceName, String tableName, Context context);
+
+ /**
+ * Migrate an Azure Cosmos DB Cassandra table from autoscale to manual throughput.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginMigrateCassandraTableToManualThroughput(String resourceGroupName, String accountName, String keyspaceName,
+ String tableName);
+
+ /**
+ * Migrate an Azure Cosmos DB Cassandra table from autoscale to manual throughput.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @param tableName Cosmos DB table name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginMigrateCassandraTableToManualThroughput(String resourceGroupName, String accountName, String keyspaceName,
+ String tableName, Context context);
+
+ /**
+ * Migrate an Azure Cosmos DB Cassandra table from autoscale to manual throughput.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner migrateCassandraTableToManualThroughput(String resourceGroupName,
+ String accountName, String keyspaceName, String tableName);
+
+ /**
+ * Migrate an Azure Cosmos DB Cassandra table from autoscale to manual throughput.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyspaceName Cosmos DB keyspace name.
+ * @param tableName Cosmos DB table name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner migrateCassandraTableToManualThroughput(String resourceGroupName,
+ String accountName, String keyspaceName, String tableName, Context context);
+}
diff --git a/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/CollectionPartitionRegionsClient.java b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/CollectionPartitionRegionsClient.java
new file mode 100644
index 0000000000000..8734277869d64
--- /dev/null
+++ b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/CollectionPartitionRegionsClient.java
@@ -0,0 +1,57 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cosmos.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.PartitionMetricInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in CollectionPartitionRegionsClient.
+ */
+public interface CollectionPartitionRegionsClient {
+ /**
+ * Retrieves the metrics determined by the given filter for the given collection and region, split by partition.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param region Cosmos DB region, with spaces between words and each word capitalized.
+ * @param databaseRid Cosmos DB database rid.
+ * @param collectionRid Cosmos DB collection rid.
+ * @param filter An OData filter expression that describes a subset of metrics to return. The parameters that can be
+ * filtered are name.value (name of the metric, can have an or of multiple names), startTime, endTime, and
+ * timeGrain. The supported operator is eq.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list partition metrics request as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMetrics(String resourceGroupName, String accountName, String region,
+ String databaseRid, String collectionRid, String filter);
+
+ /**
+ * Retrieves the metrics determined by the given filter for the given collection and region, split by partition.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param region Cosmos DB region, with spaces between words and each word capitalized.
+ * @param databaseRid Cosmos DB database rid.
+ * @param collectionRid Cosmos DB collection rid.
+ * @param filter An OData filter expression that describes a subset of metrics to return. The parameters that can be
+ * filtered are name.value (name of the metric, can have an or of multiple names), startTime, endTime, and
+ * timeGrain. The supported operator is eq.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list partition metrics request as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMetrics(String resourceGroupName, String accountName, String region,
+ String databaseRid, String collectionRid, String filter, Context context);
+}
diff --git a/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/CollectionPartitionsClient.java b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/CollectionPartitionsClient.java
new file mode 100644
index 0000000000000..407a1a0a5f73c
--- /dev/null
+++ b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/CollectionPartitionsClient.java
@@ -0,0 +1,91 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cosmos.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.PartitionMetricInner;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.PartitionUsageInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in CollectionPartitionsClient.
+ */
+public interface CollectionPartitionsClient {
+ /**
+ * Retrieves the metrics determined by the given filter for the given collection, split by partition.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseRid Cosmos DB database rid.
+ * @param collectionRid Cosmos DB collection rid.
+ * @param filter An OData filter expression that describes a subset of metrics to return. The parameters that can be
+ * filtered are name.value (name of the metric, can have an or of multiple names), startTime, endTime, and
+ * timeGrain. The supported operator is eq.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list partition metrics request as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMetrics(String resourceGroupName, String accountName, String databaseRid,
+ String collectionRid, String filter);
+
+ /**
+ * Retrieves the metrics determined by the given filter for the given collection, split by partition.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseRid Cosmos DB database rid.
+ * @param collectionRid Cosmos DB collection rid.
+ * @param filter An OData filter expression that describes a subset of metrics to return. The parameters that can be
+ * filtered are name.value (name of the metric, can have an or of multiple names), startTime, endTime, and
+ * timeGrain. The supported operator is eq.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list partition metrics request as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMetrics(String resourceGroupName, String accountName, String databaseRid,
+ String collectionRid, String filter, Context context);
+
+ /**
+ * Retrieves the usages (most recent storage data) for the given collection, split by partition.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseRid Cosmos DB database rid.
+ * @param collectionRid Cosmos DB collection rid.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list partition level usage request as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listUsages(String resourceGroupName, String accountName, String databaseRid,
+ String collectionRid);
+
+ /**
+ * Retrieves the usages (most recent storage data) for the given collection, split by partition.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseRid Cosmos DB database rid.
+ * @param collectionRid Cosmos DB collection rid.
+ * @param filter An OData filter expression that describes a subset of usages to return. The supported parameter is
+ * name.value (name of the metric, can have an or of multiple names).
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list partition level usage request as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listUsages(String resourceGroupName, String accountName, String databaseRid,
+ String collectionRid, String filter, Context context);
+}
diff --git a/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/CollectionRegionsClient.java b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/CollectionRegionsClient.java
new file mode 100644
index 0000000000000..c1564008e4cfb
--- /dev/null
+++ b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/CollectionRegionsClient.java
@@ -0,0 +1,57 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cosmos.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.MetricInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in CollectionRegionsClient.
+ */
+public interface CollectionRegionsClient {
+ /**
+ * Retrieves the metrics determined by the given filter for the given database account, collection and region.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param region Cosmos DB region, with spaces between words and each word capitalized.
+ * @param databaseRid Cosmos DB database rid.
+ * @param collectionRid Cosmos DB collection rid.
+ * @param filter An OData filter expression that describes a subset of metrics to return. The parameters that can be
+ * filtered are name.value (name of the metric, can have an or of multiple names), startTime, endTime, and
+ * timeGrain. The supported operator is eq.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list metrics request as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMetrics(String resourceGroupName, String accountName, String region,
+ String databaseRid, String collectionRid, String filter);
+
+ /**
+ * Retrieves the metrics determined by the given filter for the given database account, collection and region.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param region Cosmos DB region, with spaces between words and each word capitalized.
+ * @param databaseRid Cosmos DB database rid.
+ * @param collectionRid Cosmos DB collection rid.
+ * @param filter An OData filter expression that describes a subset of metrics to return. The parameters that can be
+ * filtered are name.value (name of the metric, can have an or of multiple names), startTime, endTime, and
+ * timeGrain. The supported operator is eq.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list metrics request as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMetrics(String resourceGroupName, String accountName, String region,
+ String databaseRid, String collectionRid, String filter, Context context);
+}
diff --git a/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/CollectionsClient.java b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/CollectionsClient.java
new file mode 100644
index 0000000000000..e72c78d8b7b4d
--- /dev/null
+++ b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/CollectionsClient.java
@@ -0,0 +1,125 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cosmos.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.MetricDefinitionInner;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.MetricInner;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.UsageInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in CollectionsClient.
+ */
+public interface CollectionsClient {
+ /**
+ * Retrieves the metrics determined by the given filter for the given database account and collection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseRid Cosmos DB database rid.
+ * @param collectionRid Cosmos DB collection rid.
+ * @param filter An OData filter expression that describes a subset of metrics to return. The parameters that can be
+ * filtered are name.value (name of the metric, can have an or of multiple names), startTime, endTime, and
+ * timeGrain. The supported operator is eq.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list metrics request as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMetrics(String resourceGroupName, String accountName, String databaseRid,
+ String collectionRid, String filter);
+
+ /**
+ * Retrieves the metrics determined by the given filter for the given database account and collection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseRid Cosmos DB database rid.
+ * @param collectionRid Cosmos DB collection rid.
+ * @param filter An OData filter expression that describes a subset of metrics to return. The parameters that can be
+ * filtered are name.value (name of the metric, can have an or of multiple names), startTime, endTime, and
+ * timeGrain. The supported operator is eq.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list metrics request as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMetrics(String resourceGroupName, String accountName, String databaseRid,
+ String collectionRid, String filter, Context context);
+
+ /**
+ * Retrieves the usages (most recent storage data) for the given collection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseRid Cosmos DB database rid.
+ * @param collectionRid Cosmos DB collection rid.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list usage request as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listUsages(String resourceGroupName, String accountName, String databaseRid,
+ String collectionRid);
+
+ /**
+ * Retrieves the usages (most recent storage data) for the given collection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseRid Cosmos DB database rid.
+ * @param collectionRid Cosmos DB collection rid.
+ * @param filter An OData filter expression that describes a subset of usages to return. The supported parameter is
+ * name.value (name of the metric, can have an or of multiple names).
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list usage request as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listUsages(String resourceGroupName, String accountName, String databaseRid,
+ String collectionRid, String filter, Context context);
+
+ /**
+ * Retrieves metric definitions for the given collection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseRid Cosmos DB database rid.
+ * @param collectionRid Cosmos DB collection rid.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list metric definitions request as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMetricDefinitions(String resourceGroupName, String accountName,
+ String databaseRid, String collectionRid);
+
+ /**
+ * Retrieves metric definitions for the given collection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseRid Cosmos DB database rid.
+ * @param collectionRid Cosmos DB collection rid.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list metric definitions request as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMetricDefinitions(String resourceGroupName, String accountName,
+ String databaseRid, String collectionRid, Context context);
+}
diff --git a/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/CosmosDBManagementClient.java b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/CosmosDBManagementClient.java
new file mode 100644
index 0000000000000..34205d5452b24
--- /dev/null
+++ b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/CosmosDBManagementClient.java
@@ -0,0 +1,307 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cosmos.generated.fluent;
+
+import com.azure.core.http.HttpPipeline;
+import java.time.Duration;
+
+/**
+ * The interface for CosmosDBManagementClient class.
+ */
+public interface CosmosDBManagementClient {
+ /**
+ * Gets The ID of the target subscription.
+ *
+ * @return the subscriptionId value.
+ */
+ String getSubscriptionId();
+
+ /**
+ * Gets server parameter.
+ *
+ * @return the endpoint value.
+ */
+ String getEndpoint();
+
+ /**
+ * Gets Api Version.
+ *
+ * @return the apiVersion value.
+ */
+ String getApiVersion();
+
+ /**
+ * Gets The HTTP pipeline to send requests through.
+ *
+ * @return the httpPipeline value.
+ */
+ HttpPipeline getHttpPipeline();
+
+ /**
+ * Gets The default poll interval for long-running operation.
+ *
+ * @return the defaultPollInterval value.
+ */
+ Duration getDefaultPollInterval();
+
+ /**
+ * Gets the DatabaseAccountsClient object to access its operations.
+ *
+ * @return the DatabaseAccountsClient object.
+ */
+ DatabaseAccountsClient getDatabaseAccounts();
+
+ /**
+ * Gets the OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ OperationsClient getOperations();
+
+ /**
+ * Gets the DatabasesClient object to access its operations.
+ *
+ * @return the DatabasesClient object.
+ */
+ DatabasesClient getDatabases();
+
+ /**
+ * Gets the CollectionsClient object to access its operations.
+ *
+ * @return the CollectionsClient object.
+ */
+ CollectionsClient getCollections();
+
+ /**
+ * Gets the CollectionRegionsClient object to access its operations.
+ *
+ * @return the CollectionRegionsClient object.
+ */
+ CollectionRegionsClient getCollectionRegions();
+
+ /**
+ * Gets the DatabaseAccountRegionsClient object to access its operations.
+ *
+ * @return the DatabaseAccountRegionsClient object.
+ */
+ DatabaseAccountRegionsClient getDatabaseAccountRegions();
+
+ /**
+ * Gets the PercentileSourceTargetsClient object to access its operations.
+ *
+ * @return the PercentileSourceTargetsClient object.
+ */
+ PercentileSourceTargetsClient getPercentileSourceTargets();
+
+ /**
+ * Gets the PercentileTargetsClient object to access its operations.
+ *
+ * @return the PercentileTargetsClient object.
+ */
+ PercentileTargetsClient getPercentileTargets();
+
+ /**
+ * Gets the PercentilesClient object to access its operations.
+ *
+ * @return the PercentilesClient object.
+ */
+ PercentilesClient getPercentiles();
+
+ /**
+ * Gets the CollectionPartitionRegionsClient object to access its operations.
+ *
+ * @return the CollectionPartitionRegionsClient object.
+ */
+ CollectionPartitionRegionsClient getCollectionPartitionRegions();
+
+ /**
+ * Gets the CollectionPartitionsClient object to access its operations.
+ *
+ * @return the CollectionPartitionsClient object.
+ */
+ CollectionPartitionsClient getCollectionPartitions();
+
+ /**
+ * Gets the PartitionKeyRangeIdsClient object to access its operations.
+ *
+ * @return the PartitionKeyRangeIdsClient object.
+ */
+ PartitionKeyRangeIdsClient getPartitionKeyRangeIds();
+
+ /**
+ * Gets the PartitionKeyRangeIdRegionsClient object to access its operations.
+ *
+ * @return the PartitionKeyRangeIdRegionsClient object.
+ */
+ PartitionKeyRangeIdRegionsClient getPartitionKeyRangeIdRegions();
+
+ /**
+ * Gets the SqlResourcesClient object to access its operations.
+ *
+ * @return the SqlResourcesClient object.
+ */
+ SqlResourcesClient getSqlResources();
+
+ /**
+ * Gets the MongoDBResourcesClient object to access its operations.
+ *
+ * @return the MongoDBResourcesClient object.
+ */
+ MongoDBResourcesClient getMongoDBResources();
+
+ /**
+ * Gets the TableResourcesClient object to access its operations.
+ *
+ * @return the TableResourcesClient object.
+ */
+ TableResourcesClient getTableResources();
+
+ /**
+ * Gets the CassandraResourcesClient object to access its operations.
+ *
+ * @return the CassandraResourcesClient object.
+ */
+ CassandraResourcesClient getCassandraResources();
+
+ /**
+ * Gets the GremlinResourcesClient object to access its operations.
+ *
+ * @return the GremlinResourcesClient object.
+ */
+ GremlinResourcesClient getGremlinResources();
+
+ /**
+ * Gets the LocationsClient object to access its operations.
+ *
+ * @return the LocationsClient object.
+ */
+ LocationsClient getLocations();
+
+ /**
+ * Gets the CassandraClustersClient object to access its operations.
+ *
+ * @return the CassandraClustersClient object.
+ */
+ CassandraClustersClient getCassandraClusters();
+
+ /**
+ * Gets the CassandraDataCentersClient object to access its operations.
+ *
+ * @return the CassandraDataCentersClient object.
+ */
+ CassandraDataCentersClient getCassandraDataCenters();
+
+ /**
+ * Gets the NotebookWorkspacesClient object to access its operations.
+ *
+ * @return the NotebookWorkspacesClient object.
+ */
+ NotebookWorkspacesClient getNotebookWorkspaces();
+
+ /**
+ * Gets the PrivateEndpointConnectionsClient object to access its operations.
+ *
+ * @return the PrivateEndpointConnectionsClient object.
+ */
+ PrivateEndpointConnectionsClient getPrivateEndpointConnections();
+
+ /**
+ * Gets the PrivateLinkResourcesClient object to access its operations.
+ *
+ * @return the PrivateLinkResourcesClient object.
+ */
+ PrivateLinkResourcesClient getPrivateLinkResources();
+
+ /**
+ * Gets the RestorableDatabaseAccountsClient object to access its operations.
+ *
+ * @return the RestorableDatabaseAccountsClient object.
+ */
+ RestorableDatabaseAccountsClient getRestorableDatabaseAccounts();
+
+ /**
+ * Gets the RestorableSqlDatabasesClient object to access its operations.
+ *
+ * @return the RestorableSqlDatabasesClient object.
+ */
+ RestorableSqlDatabasesClient getRestorableSqlDatabases();
+
+ /**
+ * Gets the RestorableSqlContainersClient object to access its operations.
+ *
+ * @return the RestorableSqlContainersClient object.
+ */
+ RestorableSqlContainersClient getRestorableSqlContainers();
+
+ /**
+ * Gets the RestorableSqlResourcesClient object to access its operations.
+ *
+ * @return the RestorableSqlResourcesClient object.
+ */
+ RestorableSqlResourcesClient getRestorableSqlResources();
+
+ /**
+ * Gets the RestorableMongodbDatabasesClient object to access its operations.
+ *
+ * @return the RestorableMongodbDatabasesClient object.
+ */
+ RestorableMongodbDatabasesClient getRestorableMongodbDatabases();
+
+ /**
+ * Gets the RestorableMongodbCollectionsClient object to access its operations.
+ *
+ * @return the RestorableMongodbCollectionsClient object.
+ */
+ RestorableMongodbCollectionsClient getRestorableMongodbCollections();
+
+ /**
+ * Gets the RestorableMongodbResourcesClient object to access its operations.
+ *
+ * @return the RestorableMongodbResourcesClient object.
+ */
+ RestorableMongodbResourcesClient getRestorableMongodbResources();
+
+ /**
+ * Gets the RestorableGremlinDatabasesClient object to access its operations.
+ *
+ * @return the RestorableGremlinDatabasesClient object.
+ */
+ RestorableGremlinDatabasesClient getRestorableGremlinDatabases();
+
+ /**
+ * Gets the RestorableGremlinGraphsClient object to access its operations.
+ *
+ * @return the RestorableGremlinGraphsClient object.
+ */
+ RestorableGremlinGraphsClient getRestorableGremlinGraphs();
+
+ /**
+ * Gets the RestorableGremlinResourcesClient object to access its operations.
+ *
+ * @return the RestorableGremlinResourcesClient object.
+ */
+ RestorableGremlinResourcesClient getRestorableGremlinResources();
+
+ /**
+ * Gets the RestorableTablesClient object to access its operations.
+ *
+ * @return the RestorableTablesClient object.
+ */
+ RestorableTablesClient getRestorableTables();
+
+ /**
+ * Gets the RestorableTableResourcesClient object to access its operations.
+ *
+ * @return the RestorableTableResourcesClient object.
+ */
+ RestorableTableResourcesClient getRestorableTableResources();
+
+ /**
+ * Gets the ServicesClient object to access its operations.
+ *
+ * @return the ServicesClient object.
+ */
+ ServicesClient getServices();
+}
diff --git a/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/DatabaseAccountRegionsClient.java b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/DatabaseAccountRegionsClient.java
new file mode 100644
index 0000000000000..096046da7037d
--- /dev/null
+++ b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/DatabaseAccountRegionsClient.java
@@ -0,0 +1,52 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cosmos.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.MetricInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in DatabaseAccountRegionsClient.
+ */
+public interface DatabaseAccountRegionsClient {
+ /**
+ * Retrieves the metrics determined by the given filter for the given database account and region.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param region Cosmos DB region, with spaces between words and each word capitalized.
+ * @param filter An OData filter expression that describes a subset of metrics to return. The parameters that can be
+ * filtered are name.value (name of the metric, can have an or of multiple names), startTime, endTime, and
+ * timeGrain. The supported operator is eq.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list metrics request as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMetrics(String resourceGroupName, String accountName, String region, String filter);
+
+ /**
+ * Retrieves the metrics determined by the given filter for the given database account and region.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param region Cosmos DB region, with spaces between words and each word capitalized.
+ * @param filter An OData filter expression that describes a subset of metrics to return. The parameters that can be
+ * filtered are name.value (name of the metric, can have an or of multiple names), startTime, endTime, and
+ * timeGrain. The supported operator is eq.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list metrics request as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMetrics(String resourceGroupName, String accountName, String region, String filter,
+ Context context);
+}
diff --git a/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/DatabaseAccountsClient.java b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/DatabaseAccountsClient.java
new file mode 100644
index 0000000000000..4245b9f6e20be
--- /dev/null
+++ b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/DatabaseAccountsClient.java
@@ -0,0 +1,766 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cosmos.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.DatabaseAccountGetResultsInner;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.DatabaseAccountListConnectionStringsResultInner;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.DatabaseAccountListKeysResultInner;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.DatabaseAccountListReadOnlyKeysResultInner;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.MetricDefinitionInner;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.MetricInner;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.UsageInner;
+import com.azure.resourcemanager.cosmos.generated.models.DatabaseAccountCreateUpdateParameters;
+import com.azure.resourcemanager.cosmos.generated.models.DatabaseAccountRegenerateKeyParameters;
+import com.azure.resourcemanager.cosmos.generated.models.DatabaseAccountUpdateParameters;
+import com.azure.resourcemanager.cosmos.generated.models.FailoverPolicies;
+import com.azure.resourcemanager.cosmos.generated.models.RegionForOnlineOffline;
+
+/**
+ * An instance of this class provides access to all the operations defined in DatabaseAccountsClient.
+ */
+public interface DatabaseAccountsClient {
+ /**
+ * Retrieves the properties of an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB database account along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(String resourceGroupName,
+ String accountName, Context context);
+
+ /**
+ * Retrieves the properties of an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB database account.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseAccountGetResultsInner getByResourceGroup(String resourceGroupName, String accountName);
+
+ /**
+ * Updates the properties of an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param updateParameters The parameters to provide for the current database account.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB database account.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, DatabaseAccountGetResultsInner>
+ beginUpdate(String resourceGroupName, String accountName, DatabaseAccountUpdateParameters updateParameters);
+
+ /**
+ * Updates the properties of an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param updateParameters The parameters to provide for the current database account.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB database account.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, DatabaseAccountGetResultsInner> beginUpdate(
+ String resourceGroupName, String accountName, DatabaseAccountUpdateParameters updateParameters,
+ Context context);
+
+ /**
+ * Updates the properties of an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param updateParameters The parameters to provide for the current database account.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB database account.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseAccountGetResultsInner update(String resourceGroupName, String accountName,
+ DatabaseAccountUpdateParameters updateParameters);
+
+ /**
+ * Updates the properties of an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param updateParameters The parameters to provide for the current database account.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB database account.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseAccountGetResultsInner update(String resourceGroupName, String accountName,
+ DatabaseAccountUpdateParameters updateParameters, Context context);
+
+ /**
+ * Creates or updates an Azure Cosmos DB database account. The "Update" method is preferred when performing updates
+ * on an account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param createUpdateParameters The parameters to provide for the current database account.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB database account.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, DatabaseAccountGetResultsInner> beginCreateOrUpdate(
+ String resourceGroupName, String accountName, DatabaseAccountCreateUpdateParameters createUpdateParameters);
+
+ /**
+ * Creates or updates an Azure Cosmos DB database account. The "Update" method is preferred when performing updates
+ * on an account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param createUpdateParameters The parameters to provide for the current database account.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB database account.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, DatabaseAccountGetResultsInner> beginCreateOrUpdate(
+ String resourceGroupName, String accountName, DatabaseAccountCreateUpdateParameters createUpdateParameters,
+ Context context);
+
+ /**
+ * Creates or updates an Azure Cosmos DB database account. The "Update" method is preferred when performing updates
+ * on an account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param createUpdateParameters The parameters to provide for the current database account.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB database account.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseAccountGetResultsInner createOrUpdate(String resourceGroupName, String accountName,
+ DatabaseAccountCreateUpdateParameters createUpdateParameters);
+
+ /**
+ * Creates or updates an Azure Cosmos DB database account. The "Update" method is preferred when performing updates
+ * on an account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param createUpdateParameters The parameters to provide for the current database account.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB database account.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseAccountGetResultsInner createOrUpdate(String resourceGroupName, String accountName,
+ DatabaseAccountCreateUpdateParameters createUpdateParameters, Context context);
+
+ /**
+ * Deletes an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String accountName);
+
+ /**
+ * Deletes an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String accountName, Context context);
+
+ /**
+ * Deletes an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String accountName);
+
+ /**
+ * Deletes an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String accountName, Context context);
+
+ /**
+ * 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.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param failoverParameters The new failover policies for the database account.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginFailoverPriorityChange(String resourceGroupName, String accountName,
+ FailoverPolicies failoverParameters);
+
+ /**
+ * 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.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param failoverParameters The new failover policies for the database account.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginFailoverPriorityChange(String resourceGroupName, String accountName,
+ FailoverPolicies failoverParameters, Context context);
+
+ /**
+ * 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.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param failoverParameters The new failover policies for the database account.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void failoverPriorityChange(String resourceGroupName, String accountName, FailoverPolicies failoverParameters);
+
+ /**
+ * 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.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param failoverParameters The new failover policies for the database account.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void failoverPriorityChange(String resourceGroupName, String accountName, FailoverPolicies failoverParameters,
+ Context context);
+
+ /**
+ * Lists all the Azure Cosmos DB database accounts available under the subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List operation response, that contains the database accounts and their properties as paginated
+ * response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists all the Azure Cosmos DB database accounts available under the subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List operation response, that contains the database accounts and their properties as paginated
+ * response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Lists all the Azure Cosmos DB database accounts available under the given resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List operation response, that contains the database accounts and their properties as paginated
+ * response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists all the Azure Cosmos DB database accounts available under the given resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List operation response, that contains the database accounts and their properties as paginated
+ * response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Lists the access keys for the specified Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the access keys for the given database account along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listKeysWithResponse(String resourceGroupName, String accountName,
+ Context context);
+
+ /**
+ * Lists the access keys for the specified Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the access keys for the given database account.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseAccountListKeysResultInner listKeys(String resourceGroupName, String accountName);
+
+ /**
+ * Lists the connection strings for the specified Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the connection strings for the given database account along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response
+ listConnectionStringsWithResponse(String resourceGroupName, String accountName, Context context);
+
+ /**
+ * Lists the connection strings for the specified Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the connection strings for the given database account.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseAccountListConnectionStringsResultInner listConnectionStrings(String resourceGroupName, String accountName);
+
+ /**
+ * Offline the specified region for the specified Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param regionParameterForOffline Cosmos DB region to offline for the database account.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginOfflineRegion(String resourceGroupName, String accountName,
+ RegionForOnlineOffline regionParameterForOffline);
+
+ /**
+ * Offline the specified region for the specified Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param regionParameterForOffline Cosmos DB region to offline for the database account.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginOfflineRegion(String resourceGroupName, String accountName,
+ RegionForOnlineOffline regionParameterForOffline, Context context);
+
+ /**
+ * Offline the specified region for the specified Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param regionParameterForOffline Cosmos DB region to offline for the database account.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void offlineRegion(String resourceGroupName, String accountName, RegionForOnlineOffline regionParameterForOffline);
+
+ /**
+ * Offline the specified region for the specified Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param regionParameterForOffline Cosmos DB region to offline for the database account.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void offlineRegion(String resourceGroupName, String accountName, RegionForOnlineOffline regionParameterForOffline,
+ Context context);
+
+ /**
+ * Online the specified region for the specified Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param regionParameterForOnline Cosmos DB region to online for the database account.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginOnlineRegion(String resourceGroupName, String accountName,
+ RegionForOnlineOffline regionParameterForOnline);
+
+ /**
+ * Online the specified region for the specified Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param regionParameterForOnline Cosmos DB region to online for the database account.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginOnlineRegion(String resourceGroupName, String accountName,
+ RegionForOnlineOffline regionParameterForOnline, Context context);
+
+ /**
+ * Online the specified region for the specified Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param regionParameterForOnline Cosmos DB region to online for the database account.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void onlineRegion(String resourceGroupName, String accountName, RegionForOnlineOffline regionParameterForOnline);
+
+ /**
+ * Online the specified region for the specified Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param regionParameterForOnline Cosmos DB region to online for the database account.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void onlineRegion(String resourceGroupName, String accountName, RegionForOnlineOffline regionParameterForOnline,
+ Context context);
+
+ /**
+ * Lists the read-only access keys for the specified Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the read-only access keys for the given database account along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getReadOnlyKeysWithResponse(String resourceGroupName,
+ String accountName, Context context);
+
+ /**
+ * Lists the read-only access keys for the specified Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the read-only access keys for the given database account.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseAccountListReadOnlyKeysResultInner getReadOnlyKeys(String resourceGroupName, String accountName);
+
+ /**
+ * Lists the read-only access keys for the specified Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the read-only access keys for the given database account along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listReadOnlyKeysWithResponse(String resourceGroupName,
+ String accountName, Context context);
+
+ /**
+ * Lists the read-only access keys for the specified Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the read-only access keys for the given database account.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseAccountListReadOnlyKeysResultInner listReadOnlyKeys(String resourceGroupName, String accountName);
+
+ /**
+ * Regenerates an access key for the specified Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyToRegenerate The name of the key to regenerate.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginRegenerateKey(String resourceGroupName, String accountName,
+ DatabaseAccountRegenerateKeyParameters keyToRegenerate);
+
+ /**
+ * Regenerates an access key for the specified Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyToRegenerate The name of the key to regenerate.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginRegenerateKey(String resourceGroupName, String accountName,
+ DatabaseAccountRegenerateKeyParameters keyToRegenerate, Context context);
+
+ /**
+ * Regenerates an access key for the specified Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyToRegenerate The name of the key to regenerate.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void regenerateKey(String resourceGroupName, String accountName,
+ DatabaseAccountRegenerateKeyParameters keyToRegenerate);
+
+ /**
+ * Regenerates an access key for the specified Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param keyToRegenerate The name of the key to regenerate.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void regenerateKey(String resourceGroupName, String accountName,
+ DatabaseAccountRegenerateKeyParameters keyToRegenerate, Context context);
+
+ /**
+ * Checks that the Azure Cosmos DB account name already exists. A valid account name may contain only lowercase
+ * letters, numbers, and the '-' character, and must be between 3 and 50 characters.
+ *
+ * @param accountName Cosmos DB database account name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return whether resource exists along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response checkNameExistsWithResponse(String accountName, Context context);
+
+ /**
+ * Checks that the Azure Cosmos DB account name already exists. A valid account name may contain only lowercase
+ * letters, numbers, and the '-' character, and must be between 3 and 50 characters.
+ *
+ * @param accountName Cosmos DB database account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return whether resource exists.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ boolean checkNameExists(String accountName);
+
+ /**
+ * Retrieves the metrics determined by the given filter for the given database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param filter An OData filter expression that describes a subset of metrics to return. The parameters that can be
+ * filtered are name.value (name of the metric, can have an or of multiple names), startTime, endTime, and
+ * timeGrain. The supported operator is eq.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list metrics request as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMetrics(String resourceGroupName, String accountName, String filter);
+
+ /**
+ * Retrieves the metrics determined by the given filter for the given database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param filter An OData filter expression that describes a subset of metrics to return. The parameters that can be
+ * filtered are name.value (name of the metric, can have an or of multiple names), startTime, endTime, and
+ * timeGrain. The supported operator is eq.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list metrics request as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMetrics(String resourceGroupName, String accountName, String filter,
+ Context context);
+
+ /**
+ * Retrieves the usages (most recent data) for the given database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list usage request as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listUsages(String resourceGroupName, String accountName);
+
+ /**
+ * Retrieves the usages (most recent data) for the given database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param filter An OData filter expression that describes a subset of usages to return. The supported parameter is
+ * name.value (name of the metric, can have an or of multiple names).
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list usage request as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listUsages(String resourceGroupName, String accountName, String filter, Context context);
+
+ /**
+ * Retrieves metric definitions for the given database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list metric definitions request as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMetricDefinitions(String resourceGroupName, String accountName);
+
+ /**
+ * Retrieves metric definitions for the given database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list metric definitions request as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMetricDefinitions(String resourceGroupName, String accountName,
+ Context context);
+}
diff --git a/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/DatabasesClient.java b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/DatabasesClient.java
new file mode 100644
index 0000000000000..00146cfe0c5bf
--- /dev/null
+++ b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/DatabasesClient.java
@@ -0,0 +1,118 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cosmos.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.MetricDefinitionInner;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.MetricInner;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.UsageInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in DatabasesClient.
+ */
+public interface DatabasesClient {
+ /**
+ * Retrieves the metrics determined by the given filter for the given database account and database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseRid Cosmos DB database rid.
+ * @param filter An OData filter expression that describes a subset of metrics to return. The parameters that can be
+ * filtered are name.value (name of the metric, can have an or of multiple names), startTime, endTime, and
+ * timeGrain. The supported operator is eq.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list metrics request as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMetrics(String resourceGroupName, String accountName, String databaseRid,
+ String filter);
+
+ /**
+ * Retrieves the metrics determined by the given filter for the given database account and database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseRid Cosmos DB database rid.
+ * @param filter An OData filter expression that describes a subset of metrics to return. The parameters that can be
+ * filtered are name.value (name of the metric, can have an or of multiple names), startTime, endTime, and
+ * timeGrain. The supported operator is eq.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list metrics request as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMetrics(String resourceGroupName, String accountName, String databaseRid,
+ String filter, Context context);
+
+ /**
+ * Retrieves the usages (most recent data) for the given database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseRid Cosmos DB database rid.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list usage request as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listUsages(String resourceGroupName, String accountName, String databaseRid);
+
+ /**
+ * Retrieves the usages (most recent data) for the given database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseRid Cosmos DB database rid.
+ * @param filter An OData filter expression that describes a subset of usages to return. The supported parameter is
+ * name.value (name of the metric, can have an or of multiple names).
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list usage request as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listUsages(String resourceGroupName, String accountName, String databaseRid,
+ String filter, Context context);
+
+ /**
+ * Retrieves metric definitions for the given database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseRid Cosmos DB database rid.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list metric definitions request as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMetricDefinitions(String resourceGroupName, String accountName,
+ String databaseRid);
+
+ /**
+ * Retrieves metric definitions for the given database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseRid Cosmos DB database rid.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list metric definitions request as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMetricDefinitions(String resourceGroupName, String accountName,
+ String databaseRid, Context context);
+}
diff --git a/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/GremlinResourcesClient.java b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/GremlinResourcesClient.java
new file mode 100644
index 0000000000000..b6ac0d672b11d
--- /dev/null
+++ b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/GremlinResourcesClient.java
@@ -0,0 +1,966 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cosmos.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.BackupInformationInner;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.GremlinDatabaseGetResultsInner;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.GremlinGraphGetResultsInner;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.ThroughputSettingsGetResultsInner;
+import com.azure.resourcemanager.cosmos.generated.models.ContinuousBackupRestoreLocation;
+import com.azure.resourcemanager.cosmos.generated.models.GremlinDatabaseCreateUpdateParameters;
+import com.azure.resourcemanager.cosmos.generated.models.GremlinGraphCreateUpdateParameters;
+import com.azure.resourcemanager.cosmos.generated.models.ThroughputSettingsUpdateParameters;
+
+/**
+ * An instance of this class provides access to all the operations defined in GremlinResourcesClient.
+ */
+public interface GremlinResourcesClient {
+ /**
+ * Lists the Gremlin databases under an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List operation response, that contains the Gremlin databases and their properties as paginated
+ * response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listGremlinDatabases(String resourceGroupName, String accountName);
+
+ /**
+ * Lists the Gremlin databases under an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List operation response, that contains the Gremlin databases and their properties as paginated
+ * response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listGremlinDatabases(String resourceGroupName, String accountName,
+ Context context);
+
+ /**
+ * Gets the Gremlin databases under an existing Azure Cosmos DB database account with the provided name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Gremlin databases under an existing Azure Cosmos DB database account with the provided name along
+ * with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getGremlinDatabaseWithResponse(String resourceGroupName,
+ String accountName, String databaseName, Context context);
+
+ /**
+ * Gets the Gremlin databases under an existing Azure Cosmos DB database account with the provided name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Gremlin databases under an existing Azure Cosmos DB database account with the provided name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GremlinDatabaseGetResultsInner getGremlinDatabase(String resourceGroupName, String accountName,
+ String databaseName);
+
+ /**
+ * Create or update an Azure Cosmos DB Gremlin database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB Gremlin database.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, GremlinDatabaseGetResultsInner>
+ beginCreateUpdateGremlinDatabase(String resourceGroupName, String accountName, String databaseName,
+ GremlinDatabaseCreateUpdateParameters createUpdateGremlinDatabaseParameters);
+
+ /**
+ * Create or update an Azure Cosmos DB Gremlin database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param createUpdateGremlinDatabaseParameters The parameters to provide for the current Gremlin database.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB Gremlin database.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, GremlinDatabaseGetResultsInner>
+ beginCreateUpdateGremlinDatabase(String resourceGroupName, String accountName, String databaseName,
+ GremlinDatabaseCreateUpdateParameters createUpdateGremlinDatabaseParameters, Context context);
+
+ /**
+ * Create or update an Azure Cosmos DB Gremlin database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB Gremlin database.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GremlinDatabaseGetResultsInner createUpdateGremlinDatabase(String resourceGroupName, String accountName,
+ String databaseName, GremlinDatabaseCreateUpdateParameters createUpdateGremlinDatabaseParameters);
+
+ /**
+ * Create or update an Azure Cosmos DB Gremlin database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param createUpdateGremlinDatabaseParameters The parameters to provide for the current Gremlin database.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB Gremlin database.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GremlinDatabaseGetResultsInner createUpdateGremlinDatabase(String resourceGroupName, String accountName,
+ String databaseName, GremlinDatabaseCreateUpdateParameters createUpdateGremlinDatabaseParameters,
+ Context context);
+
+ /**
+ * Deletes an existing Azure Cosmos DB Gremlin database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDeleteGremlinDatabase(String resourceGroupName, String accountName,
+ String databaseName);
+
+ /**
+ * Deletes an existing Azure Cosmos DB Gremlin database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDeleteGremlinDatabase(String resourceGroupName, String accountName,
+ String databaseName, Context context);
+
+ /**
+ * Deletes an existing Azure Cosmos DB Gremlin database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void deleteGremlinDatabase(String resourceGroupName, String accountName, String databaseName);
+
+ /**
+ * Deletes an existing Azure Cosmos DB Gremlin database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void deleteGremlinDatabase(String resourceGroupName, String accountName, String databaseName, Context context);
+
+ /**
+ * Gets the RUs per second of the Gremlin database under an existing Azure Cosmos DB database account with the
+ * provided name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the RUs per second of the Gremlin database under an existing Azure Cosmos DB database account with the
+ * provided name along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getGremlinDatabaseThroughputWithResponse(String resourceGroupName,
+ String accountName, String databaseName, Context context);
+
+ /**
+ * Gets the RUs per second of the Gremlin database under an existing Azure Cosmos DB database account with the
+ * provided name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the RUs per second of the Gremlin database under an existing Azure Cosmos DB database account with the
+ * provided name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner getGremlinDatabaseThroughput(String resourceGroupName, String accountName,
+ String databaseName);
+
+ /**
+ * Update RUs per second of an Azure Cosmos DB Gremlin database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param updateThroughputParameters The RUs per second of the parameters to provide for the current Gremlin
+ * database.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginUpdateGremlinDatabaseThroughput(String resourceGroupName, String accountName, String databaseName,
+ ThroughputSettingsUpdateParameters updateThroughputParameters);
+
+ /**
+ * Update RUs per second of an Azure Cosmos DB Gremlin database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param updateThroughputParameters The RUs per second of the parameters to provide for the current Gremlin
+ * database.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginUpdateGremlinDatabaseThroughput(String resourceGroupName, String accountName, String databaseName,
+ ThroughputSettingsUpdateParameters updateThroughputParameters, Context context);
+
+ /**
+ * Update RUs per second of an Azure Cosmos DB Gremlin database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param updateThroughputParameters The RUs per second of the parameters to provide for the current Gremlin
+ * database.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner updateGremlinDatabaseThroughput(String resourceGroupName, String accountName,
+ String databaseName, ThroughputSettingsUpdateParameters updateThroughputParameters);
+
+ /**
+ * Update RUs per second of an Azure Cosmos DB Gremlin database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param updateThroughputParameters The RUs per second of the parameters to provide for the current Gremlin
+ * database.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner updateGremlinDatabaseThroughput(String resourceGroupName, String accountName,
+ String databaseName, ThroughputSettingsUpdateParameters updateThroughputParameters, Context context);
+
+ /**
+ * Migrate an Azure Cosmos DB Gremlin database from manual throughput to autoscale.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginMigrateGremlinDatabaseToAutoscale(String resourceGroupName, String accountName, String databaseName);
+
+ /**
+ * Migrate an Azure Cosmos DB Gremlin database from manual throughput to autoscale.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginMigrateGremlinDatabaseToAutoscale(String resourceGroupName, String accountName, String databaseName,
+ Context context);
+
+ /**
+ * Migrate an Azure Cosmos DB Gremlin database from manual throughput to autoscale.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner migrateGremlinDatabaseToAutoscale(String resourceGroupName, String accountName,
+ String databaseName);
+
+ /**
+ * Migrate an Azure Cosmos DB Gremlin database from manual throughput to autoscale.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner migrateGremlinDatabaseToAutoscale(String resourceGroupName, String accountName,
+ String databaseName, Context context);
+
+ /**
+ * Migrate an Azure Cosmos DB Gremlin database from autoscale to manual throughput.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginMigrateGremlinDatabaseToManualThroughput(String resourceGroupName, String accountName,
+ String databaseName);
+
+ /**
+ * Migrate an Azure Cosmos DB Gremlin database from autoscale to manual throughput.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginMigrateGremlinDatabaseToManualThroughput(String resourceGroupName, String accountName, String databaseName,
+ Context context);
+
+ /**
+ * Migrate an Azure Cosmos DB Gremlin database from autoscale to manual throughput.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner migrateGremlinDatabaseToManualThroughput(String resourceGroupName,
+ String accountName, String databaseName);
+
+ /**
+ * Migrate an Azure Cosmos DB Gremlin database from autoscale to manual throughput.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner migrateGremlinDatabaseToManualThroughput(String resourceGroupName,
+ String accountName, String databaseName, Context context);
+
+ /**
+ * Lists the Gremlin graph under an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List operation response, that contains the graphs and their properties as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listGremlinGraphs(String resourceGroupName, String accountName,
+ String databaseName);
+
+ /**
+ * Lists the Gremlin graph under an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List operation response, that contains the graphs and their properties as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listGremlinGraphs(String resourceGroupName, String accountName,
+ String databaseName, Context context);
+
+ /**
+ * Gets the Gremlin graph under an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param graphName Cosmos DB graph name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Gremlin graph under an existing Azure Cosmos DB database account along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getGremlinGraphWithResponse(String resourceGroupName, String accountName,
+ String databaseName, String graphName, Context context);
+
+ /**
+ * Gets the Gremlin graph under an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Gremlin graph under an existing Azure Cosmos DB database account.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GremlinGraphGetResultsInner getGremlinGraph(String resourceGroupName, String accountName, String databaseName,
+ String graphName);
+
+ /**
+ * Create or update an Azure Cosmos DB Gremlin graph.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param graphName Cosmos DB graph name.
+ * @param createUpdateGremlinGraphParameters The parameters to provide for the current Gremlin graph.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB Gremlin graph.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, GremlinGraphGetResultsInner> beginCreateUpdateGremlinGraph(
+ String resourceGroupName, String accountName, String databaseName, String graphName,
+ GremlinGraphCreateUpdateParameters createUpdateGremlinGraphParameters);
+
+ /**
+ * Create or update an Azure Cosmos DB Gremlin graph.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param graphName Cosmos DB graph name.
+ * @param createUpdateGremlinGraphParameters The parameters to provide for the current Gremlin graph.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB Gremlin graph.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, GremlinGraphGetResultsInner> beginCreateUpdateGremlinGraph(
+ String resourceGroupName, String accountName, String databaseName, String graphName,
+ GremlinGraphCreateUpdateParameters createUpdateGremlinGraphParameters, Context context);
+
+ /**
+ * Create or update an Azure Cosmos DB Gremlin graph.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param graphName Cosmos DB graph name.
+ * @param createUpdateGremlinGraphParameters The parameters to provide for the current Gremlin graph.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB Gremlin graph.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GremlinGraphGetResultsInner createUpdateGremlinGraph(String resourceGroupName, String accountName,
+ String databaseName, String graphName, GremlinGraphCreateUpdateParameters createUpdateGremlinGraphParameters);
+
+ /**
+ * Create or update an Azure Cosmos DB Gremlin graph.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param graphName Cosmos DB graph name.
+ * @param createUpdateGremlinGraphParameters The parameters to provide for the current Gremlin graph.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB Gremlin graph.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GremlinGraphGetResultsInner createUpdateGremlinGraph(String resourceGroupName, String accountName,
+ String databaseName, String graphName, GremlinGraphCreateUpdateParameters createUpdateGremlinGraphParameters,
+ Context context);
+
+ /**
+ * Deletes an existing Azure Cosmos DB Gremlin graph.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDeleteGremlinGraph(String resourceGroupName, String accountName,
+ String databaseName, String graphName);
+
+ /**
+ * Deletes an existing Azure Cosmos DB Gremlin graph.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param graphName Cosmos DB graph name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDeleteGremlinGraph(String resourceGroupName, String accountName,
+ String databaseName, String graphName, Context context);
+
+ /**
+ * Deletes an existing Azure Cosmos DB Gremlin graph.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void deleteGremlinGraph(String resourceGroupName, String accountName, String databaseName, String graphName);
+
+ /**
+ * Deletes an existing Azure Cosmos DB Gremlin graph.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param graphName Cosmos DB graph name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void deleteGremlinGraph(String resourceGroupName, String accountName, String databaseName, String graphName,
+ Context context);
+
+ /**
+ * Gets the Gremlin graph throughput under an existing Azure Cosmos DB database account with the provided name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param graphName Cosmos DB graph name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Gremlin graph throughput under an existing Azure Cosmos DB database account with the provided name
+ * along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getGremlinGraphThroughputWithResponse(String resourceGroupName,
+ String accountName, String databaseName, String graphName, Context context);
+
+ /**
+ * Gets the Gremlin graph throughput under an existing Azure Cosmos DB database account with the provided name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Gremlin graph throughput under an existing Azure Cosmos DB database account with the provided name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner getGremlinGraphThroughput(String resourceGroupName, String accountName,
+ String databaseName, String graphName);
+
+ /**
+ * Update RUs per second of an Azure Cosmos DB Gremlin graph.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param graphName Cosmos DB graph name.
+ * @param updateThroughputParameters The RUs per second of the parameters to provide for the current Gremlin graph.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginUpdateGremlinGraphThroughput(String resourceGroupName, String accountName, String databaseName,
+ String graphName, ThroughputSettingsUpdateParameters updateThroughputParameters);
+
+ /**
+ * Update RUs per second of an Azure Cosmos DB Gremlin graph.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param graphName Cosmos DB graph name.
+ * @param updateThroughputParameters The RUs per second of the parameters to provide for the current Gremlin graph.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginUpdateGremlinGraphThroughput(String resourceGroupName, String accountName, String databaseName,
+ String graphName, ThroughputSettingsUpdateParameters updateThroughputParameters, Context context);
+
+ /**
+ * Update RUs per second of an Azure Cosmos DB Gremlin graph.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param graphName Cosmos DB graph name.
+ * @param updateThroughputParameters The RUs per second of the parameters to provide for the current Gremlin graph.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner updateGremlinGraphThroughput(String resourceGroupName, String accountName,
+ String databaseName, String graphName, ThroughputSettingsUpdateParameters updateThroughputParameters);
+
+ /**
+ * Update RUs per second of an Azure Cosmos DB Gremlin graph.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param graphName Cosmos DB graph name.
+ * @param updateThroughputParameters The RUs per second of the parameters to provide for the current Gremlin graph.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner updateGremlinGraphThroughput(String resourceGroupName, String accountName,
+ String databaseName, String graphName, ThroughputSettingsUpdateParameters updateThroughputParameters,
+ Context context);
+
+ /**
+ * Migrate an Azure Cosmos DB Gremlin graph from manual throughput to autoscale.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginMigrateGremlinGraphToAutoscale(String resourceGroupName, String accountName, String databaseName,
+ String graphName);
+
+ /**
+ * Migrate an Azure Cosmos DB Gremlin graph from manual throughput to autoscale.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param graphName Cosmos DB graph name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginMigrateGremlinGraphToAutoscale(String resourceGroupName, String accountName, String databaseName,
+ String graphName, Context context);
+
+ /**
+ * Migrate an Azure Cosmos DB Gremlin graph from manual throughput to autoscale.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner migrateGremlinGraphToAutoscale(String resourceGroupName, String accountName,
+ String databaseName, String graphName);
+
+ /**
+ * Migrate an Azure Cosmos DB Gremlin graph from manual throughput to autoscale.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param graphName Cosmos DB graph name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner migrateGremlinGraphToAutoscale(String resourceGroupName, String accountName,
+ String databaseName, String graphName, Context context);
+
+ /**
+ * Migrate an Azure Cosmos DB Gremlin graph from autoscale to manual throughput.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginMigrateGremlinGraphToManualThroughput(String resourceGroupName, String accountName, String databaseName,
+ String graphName);
+
+ /**
+ * Migrate an Azure Cosmos DB Gremlin graph from autoscale to manual throughput.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param graphName Cosmos DB graph name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginMigrateGremlinGraphToManualThroughput(String resourceGroupName, String accountName, String databaseName,
+ String graphName, Context context);
+
+ /**
+ * Migrate an Azure Cosmos DB Gremlin graph from autoscale to manual throughput.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner migrateGremlinGraphToManualThroughput(String resourceGroupName,
+ String accountName, String databaseName, String graphName);
+
+ /**
+ * Migrate an Azure Cosmos DB Gremlin graph from autoscale to manual throughput.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param graphName Cosmos DB graph name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner migrateGremlinGraphToManualThroughput(String resourceGroupName,
+ String accountName, String databaseName, String graphName, Context context);
+
+ /**
+ * Retrieves continuous backup information for a gremlin graph.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param graphName Cosmos DB graph name.
+ * @param location The name of the continuous backup restore location.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of backup information of a resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, BackupInformationInner> beginRetrieveContinuousBackupInformation(
+ String resourceGroupName, String accountName, String databaseName, String graphName,
+ ContinuousBackupRestoreLocation location);
+
+ /**
+ * Retrieves continuous backup information for a gremlin graph.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param graphName Cosmos DB graph name.
+ * @param location The name of the continuous backup restore location.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of backup information of a resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, BackupInformationInner> beginRetrieveContinuousBackupInformation(
+ String resourceGroupName, String accountName, String databaseName, String graphName,
+ ContinuousBackupRestoreLocation location, Context context);
+
+ /**
+ * Retrieves continuous backup information for a gremlin graph.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param graphName Cosmos DB graph name.
+ * @param location The name of the continuous backup restore location.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return backup information of a resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ BackupInformationInner retrieveContinuousBackupInformation(String resourceGroupName, String accountName,
+ String databaseName, String graphName, ContinuousBackupRestoreLocation location);
+
+ /**
+ * Retrieves continuous backup information for a gremlin graph.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param graphName Cosmos DB graph name.
+ * @param location The name of the continuous backup restore location.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return backup information of a resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ BackupInformationInner retrieveContinuousBackupInformation(String resourceGroupName, String accountName,
+ String databaseName, String graphName, ContinuousBackupRestoreLocation location, Context context);
+}
diff --git a/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/LocationsClient.java b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/LocationsClient.java
new file mode 100644
index 0000000000000..1580f7c57aafc
--- /dev/null
+++ b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/LocationsClient.java
@@ -0,0 +1,66 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cosmos.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.LocationGetResultInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in LocationsClient.
+ */
+public interface LocationsClient {
+ /**
+ * List Cosmos DB locations and their properties.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List operation response, that contains Cosmos DB locations and their properties as paginated response
+ * with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List Cosmos DB locations and their properties.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List operation response, that contains Cosmos DB locations and their properties as paginated response
+ * with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Get the properties of an existing Cosmos DB location.
+ *
+ * @param location Cosmos DB region, with spaces between words and each word capitalized.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the properties of an existing Cosmos DB location along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String location, Context context);
+
+ /**
+ * Get the properties of an existing Cosmos DB location.
+ *
+ * @param location Cosmos DB region, with spaces between words and each word capitalized.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the properties of an existing Cosmos DB location.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LocationGetResultInner get(String location);
+}
diff --git a/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/MongoDBResourcesClient.java b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/MongoDBResourcesClient.java
new file mode 100644
index 0000000000000..677b63c73b00d
--- /dev/null
+++ b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/MongoDBResourcesClient.java
@@ -0,0 +1,1358 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cosmos.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.BackupInformationInner;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.MongoDBCollectionGetResultsInner;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.MongoDBDatabaseGetResultsInner;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.MongoRoleDefinitionGetResultsInner;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.MongoUserDefinitionGetResultsInner;
+import com.azure.resourcemanager.cosmos.generated.fluent.models.ThroughputSettingsGetResultsInner;
+import com.azure.resourcemanager.cosmos.generated.models.ContinuousBackupRestoreLocation;
+import com.azure.resourcemanager.cosmos.generated.models.MongoDBCollectionCreateUpdateParameters;
+import com.azure.resourcemanager.cosmos.generated.models.MongoDBDatabaseCreateUpdateParameters;
+import com.azure.resourcemanager.cosmos.generated.models.MongoRoleDefinitionCreateUpdateParameters;
+import com.azure.resourcemanager.cosmos.generated.models.MongoUserDefinitionCreateUpdateParameters;
+import com.azure.resourcemanager.cosmos.generated.models.ThroughputSettingsUpdateParameters;
+
+/**
+ * An instance of this class provides access to all the operations defined in MongoDBResourcesClient.
+ */
+public interface MongoDBResourcesClient {
+ /**
+ * Lists the MongoDB databases under an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List operation response, that contains the MongoDB databases and their properties as paginated
+ * response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMongoDBDatabases(String resourceGroupName, String accountName);
+
+ /**
+ * Lists the MongoDB databases under an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List operation response, that contains the MongoDB databases and their properties as paginated
+ * response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMongoDBDatabases(String resourceGroupName, String accountName,
+ Context context);
+
+ /**
+ * Gets the MongoDB databases under an existing Azure Cosmos DB database account with the provided name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the MongoDB databases under an existing Azure Cosmos DB database account with the provided name along
+ * with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getMongoDBDatabaseWithResponse(String resourceGroupName,
+ String accountName, String databaseName, Context context);
+
+ /**
+ * Gets the MongoDB databases under an existing Azure Cosmos DB database account with the provided name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the MongoDB databases under an existing Azure Cosmos DB database account with the provided name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MongoDBDatabaseGetResultsInner getMongoDBDatabase(String resourceGroupName, String accountName,
+ String databaseName);
+
+ /**
+ * Create or updates Azure Cosmos DB MongoDB database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB MongoDB database.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, MongoDBDatabaseGetResultsInner>
+ beginCreateUpdateMongoDBDatabase(String resourceGroupName, String accountName, String databaseName,
+ MongoDBDatabaseCreateUpdateParameters createUpdateMongoDBDatabaseParameters);
+
+ /**
+ * Create or updates Azure Cosmos DB MongoDB database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param createUpdateMongoDBDatabaseParameters The parameters to provide for the current MongoDB database.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB MongoDB database.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, MongoDBDatabaseGetResultsInner>
+ beginCreateUpdateMongoDBDatabase(String resourceGroupName, String accountName, String databaseName,
+ MongoDBDatabaseCreateUpdateParameters createUpdateMongoDBDatabaseParameters, Context context);
+
+ /**
+ * Create or updates Azure Cosmos DB MongoDB database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB MongoDB database.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MongoDBDatabaseGetResultsInner createUpdateMongoDBDatabase(String resourceGroupName, String accountName,
+ String databaseName, MongoDBDatabaseCreateUpdateParameters createUpdateMongoDBDatabaseParameters);
+
+ /**
+ * Create or updates Azure Cosmos DB MongoDB database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param createUpdateMongoDBDatabaseParameters The parameters to provide for the current MongoDB database.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB MongoDB database.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MongoDBDatabaseGetResultsInner createUpdateMongoDBDatabase(String resourceGroupName, String accountName,
+ String databaseName, MongoDBDatabaseCreateUpdateParameters createUpdateMongoDBDatabaseParameters,
+ Context context);
+
+ /**
+ * Deletes an existing Azure Cosmos DB MongoDB database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDeleteMongoDBDatabase(String resourceGroupName, String accountName,
+ String databaseName);
+
+ /**
+ * Deletes an existing Azure Cosmos DB MongoDB database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDeleteMongoDBDatabase(String resourceGroupName, String accountName,
+ String databaseName, Context context);
+
+ /**
+ * Deletes an existing Azure Cosmos DB MongoDB database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void deleteMongoDBDatabase(String resourceGroupName, String accountName, String databaseName);
+
+ /**
+ * Deletes an existing Azure Cosmos DB MongoDB database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void deleteMongoDBDatabase(String resourceGroupName, String accountName, String databaseName, Context context);
+
+ /**
+ * Gets the RUs per second of the MongoDB database under an existing Azure Cosmos DB database account with the
+ * provided name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the RUs per second of the MongoDB database under an existing Azure Cosmos DB database account with the
+ * provided name along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getMongoDBDatabaseThroughputWithResponse(String resourceGroupName,
+ String accountName, String databaseName, Context context);
+
+ /**
+ * Gets the RUs per second of the MongoDB database under an existing Azure Cosmos DB database account with the
+ * provided name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the RUs per second of the MongoDB database under an existing Azure Cosmos DB database account with the
+ * provided name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner getMongoDBDatabaseThroughput(String resourceGroupName, String accountName,
+ String databaseName);
+
+ /**
+ * Update RUs per second of the an Azure Cosmos DB MongoDB database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param updateThroughputParameters The RUs per second of the parameters to provide for the current MongoDB
+ * database.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginUpdateMongoDBDatabaseThroughput(String resourceGroupName, String accountName, String databaseName,
+ ThroughputSettingsUpdateParameters updateThroughputParameters);
+
+ /**
+ * Update RUs per second of the an Azure Cosmos DB MongoDB database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param updateThroughputParameters The RUs per second of the parameters to provide for the current MongoDB
+ * database.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginUpdateMongoDBDatabaseThroughput(String resourceGroupName, String accountName, String databaseName,
+ ThroughputSettingsUpdateParameters updateThroughputParameters, Context context);
+
+ /**
+ * Update RUs per second of the an Azure Cosmos DB MongoDB database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param updateThroughputParameters The RUs per second of the parameters to provide for the current MongoDB
+ * database.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner updateMongoDBDatabaseThroughput(String resourceGroupName, String accountName,
+ String databaseName, ThroughputSettingsUpdateParameters updateThroughputParameters);
+
+ /**
+ * Update RUs per second of the an Azure Cosmos DB MongoDB database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param updateThroughputParameters The RUs per second of the parameters to provide for the current MongoDB
+ * database.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner updateMongoDBDatabaseThroughput(String resourceGroupName, String accountName,
+ String databaseName, ThroughputSettingsUpdateParameters updateThroughputParameters, Context context);
+
+ /**
+ * Migrate an Azure Cosmos DB MongoDB database from manual throughput to autoscale.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginMigrateMongoDBDatabaseToAutoscale(String resourceGroupName, String accountName, String databaseName);
+
+ /**
+ * Migrate an Azure Cosmos DB MongoDB database from manual throughput to autoscale.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginMigrateMongoDBDatabaseToAutoscale(String resourceGroupName, String accountName, String databaseName,
+ Context context);
+
+ /**
+ * Migrate an Azure Cosmos DB MongoDB database from manual throughput to autoscale.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner migrateMongoDBDatabaseToAutoscale(String resourceGroupName, String accountName,
+ String databaseName);
+
+ /**
+ * Migrate an Azure Cosmos DB MongoDB database from manual throughput to autoscale.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner migrateMongoDBDatabaseToAutoscale(String resourceGroupName, String accountName,
+ String databaseName, Context context);
+
+ /**
+ * Migrate an Azure Cosmos DB MongoDB database from autoscale to manual throughput.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginMigrateMongoDBDatabaseToManualThroughput(String resourceGroupName, String accountName,
+ String databaseName);
+
+ /**
+ * Migrate an Azure Cosmos DB MongoDB database from autoscale to manual throughput.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginMigrateMongoDBDatabaseToManualThroughput(String resourceGroupName, String accountName, String databaseName,
+ Context context);
+
+ /**
+ * Migrate an Azure Cosmos DB MongoDB database from autoscale to manual throughput.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner migrateMongoDBDatabaseToManualThroughput(String resourceGroupName,
+ String accountName, String databaseName);
+
+ /**
+ * Migrate an Azure Cosmos DB MongoDB database from autoscale to manual throughput.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner migrateMongoDBDatabaseToManualThroughput(String resourceGroupName,
+ String accountName, String databaseName, Context context);
+
+ /**
+ * Lists the MongoDB collection under an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List operation response, that contains the MongoDB collections and their properties as paginated
+ * response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMongoDBCollections(String resourceGroupName, String accountName,
+ String databaseName);
+
+ /**
+ * Lists the MongoDB collection under an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the List operation response, that contains the MongoDB collections and their properties as paginated
+ * response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMongoDBCollections(String resourceGroupName, String accountName,
+ String databaseName, Context context);
+
+ /**
+ * Gets the MongoDB collection under an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param collectionName Cosmos DB collection name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the MongoDB collection under an existing Azure Cosmos DB database account along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getMongoDBCollectionWithResponse(String resourceGroupName,
+ String accountName, String databaseName, String collectionName, Context context);
+
+ /**
+ * Gets the MongoDB collection under an existing Azure Cosmos DB database account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the MongoDB collection under an existing Azure Cosmos DB database account.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MongoDBCollectionGetResultsInner getMongoDBCollection(String resourceGroupName, String accountName,
+ String databaseName, String collectionName);
+
+ /**
+ * Create or update an Azure Cosmos DB MongoDB Collection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param collectionName Cosmos DB collection name.
+ * @param createUpdateMongoDBCollectionParameters The parameters to provide for the current MongoDB Collection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB MongoDB collection.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, MongoDBCollectionGetResultsInner>
+ beginCreateUpdateMongoDBCollection(String resourceGroupName, String accountName, String databaseName,
+ String collectionName, MongoDBCollectionCreateUpdateParameters createUpdateMongoDBCollectionParameters);
+
+ /**
+ * Create or update an Azure Cosmos DB MongoDB Collection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param collectionName Cosmos DB collection name.
+ * @param createUpdateMongoDBCollectionParameters The parameters to provide for the current MongoDB Collection.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB MongoDB collection.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, MongoDBCollectionGetResultsInner>
+ beginCreateUpdateMongoDBCollection(String resourceGroupName, String accountName, String databaseName,
+ String collectionName, MongoDBCollectionCreateUpdateParameters createUpdateMongoDBCollectionParameters,
+ Context context);
+
+ /**
+ * Create or update an Azure Cosmos DB MongoDB Collection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param collectionName Cosmos DB collection name.
+ * @param createUpdateMongoDBCollectionParameters The parameters to provide for the current MongoDB Collection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB MongoDB collection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MongoDBCollectionGetResultsInner createUpdateMongoDBCollection(String resourceGroupName, String accountName,
+ String databaseName, String collectionName,
+ MongoDBCollectionCreateUpdateParameters createUpdateMongoDBCollectionParameters);
+
+ /**
+ * Create or update an Azure Cosmos DB MongoDB Collection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param collectionName Cosmos DB collection name.
+ * @param createUpdateMongoDBCollectionParameters The parameters to provide for the current MongoDB Collection.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB MongoDB collection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MongoDBCollectionGetResultsInner createUpdateMongoDBCollection(String resourceGroupName, String accountName,
+ String databaseName, String collectionName,
+ MongoDBCollectionCreateUpdateParameters createUpdateMongoDBCollectionParameters, Context context);
+
+ /**
+ * Deletes an existing Azure Cosmos DB MongoDB Collection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDeleteMongoDBCollection(String resourceGroupName, String accountName,
+ String databaseName, String collectionName);
+
+ /**
+ * Deletes an existing Azure Cosmos DB MongoDB Collection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param collectionName Cosmos DB collection name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDeleteMongoDBCollection(String resourceGroupName, String accountName,
+ String databaseName, String collectionName, Context context);
+
+ /**
+ * Deletes an existing Azure Cosmos DB MongoDB Collection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void deleteMongoDBCollection(String resourceGroupName, String accountName, String databaseName,
+ String collectionName);
+
+ /**
+ * Deletes an existing Azure Cosmos DB MongoDB Collection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param collectionName Cosmos DB collection name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void deleteMongoDBCollection(String resourceGroupName, String accountName, String databaseName,
+ String collectionName, Context context);
+
+ /**
+ * Gets the RUs per second of the MongoDB collection under an existing Azure Cosmos DB database account with the
+ * provided name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param collectionName Cosmos DB collection name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the RUs per second of the MongoDB collection under an existing Azure Cosmos DB database account with the
+ * provided name along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getMongoDBCollectionThroughputWithResponse(String resourceGroupName,
+ String accountName, String databaseName, String collectionName, Context context);
+
+ /**
+ * Gets the RUs per second of the MongoDB collection under an existing Azure Cosmos DB database account with the
+ * provided name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the RUs per second of the MongoDB collection under an existing Azure Cosmos DB database account with the
+ * provided name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner getMongoDBCollectionThroughput(String resourceGroupName, String accountName,
+ String databaseName, String collectionName);
+
+ /**
+ * Update the RUs per second of an Azure Cosmos DB MongoDB collection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param collectionName Cosmos DB collection name.
+ * @param updateThroughputParameters The RUs per second of the parameters to provide for the current MongoDB
+ * collection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginUpdateMongoDBCollectionThroughput(String resourceGroupName, String accountName, String databaseName,
+ String collectionName, ThroughputSettingsUpdateParameters updateThroughputParameters);
+
+ /**
+ * Update the RUs per second of an Azure Cosmos DB MongoDB collection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param collectionName Cosmos DB collection name.
+ * @param updateThroughputParameters The RUs per second of the parameters to provide for the current MongoDB
+ * collection.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginUpdateMongoDBCollectionThroughput(String resourceGroupName, String accountName, String databaseName,
+ String collectionName, ThroughputSettingsUpdateParameters updateThroughputParameters, Context context);
+
+ /**
+ * Update the RUs per second of an Azure Cosmos DB MongoDB collection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param collectionName Cosmos DB collection name.
+ * @param updateThroughputParameters The RUs per second of the parameters to provide for the current MongoDB
+ * collection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner updateMongoDBCollectionThroughput(String resourceGroupName, String accountName,
+ String databaseName, String collectionName, ThroughputSettingsUpdateParameters updateThroughputParameters);
+
+ /**
+ * Update the RUs per second of an Azure Cosmos DB MongoDB collection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param collectionName Cosmos DB collection name.
+ * @param updateThroughputParameters The RUs per second of the parameters to provide for the current MongoDB
+ * collection.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner updateMongoDBCollectionThroughput(String resourceGroupName, String accountName,
+ String databaseName, String collectionName, ThroughputSettingsUpdateParameters updateThroughputParameters,
+ Context context);
+
+ /**
+ * Migrate an Azure Cosmos DB MongoDB collection from manual throughput to autoscale.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginMigrateMongoDBCollectionToAutoscale(String resourceGroupName, String accountName, String databaseName,
+ String collectionName);
+
+ /**
+ * Migrate an Azure Cosmos DB MongoDB collection from manual throughput to autoscale.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param collectionName Cosmos DB collection name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginMigrateMongoDBCollectionToAutoscale(String resourceGroupName, String accountName, String databaseName,
+ String collectionName, Context context);
+
+ /**
+ * Migrate an Azure Cosmos DB MongoDB collection from manual throughput to autoscale.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner migrateMongoDBCollectionToAutoscale(String resourceGroupName, String accountName,
+ String databaseName, String collectionName);
+
+ /**
+ * Migrate an Azure Cosmos DB MongoDB collection from manual throughput to autoscale.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param collectionName Cosmos DB collection name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner migrateMongoDBCollectionToAutoscale(String resourceGroupName, String accountName,
+ String databaseName, String collectionName, Context context);
+
+ /**
+ * Migrate an Azure Cosmos DB MongoDB collection from autoscale to manual throughput.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginMigrateMongoDBCollectionToManualThroughput(String resourceGroupName, String accountName,
+ String databaseName, String collectionName);
+
+ /**
+ * Migrate an Azure Cosmos DB MongoDB collection from autoscale to manual throughput.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param collectionName Cosmos DB collection name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ThroughputSettingsGetResultsInner>
+ beginMigrateMongoDBCollectionToManualThroughput(String resourceGroupName, String accountName,
+ String databaseName, String collectionName, Context context);
+
+ /**
+ * Migrate an Azure Cosmos DB MongoDB collection from autoscale to manual throughput.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner migrateMongoDBCollectionToManualThroughput(String resourceGroupName,
+ String accountName, String databaseName, String collectionName);
+
+ /**
+ * Migrate an Azure Cosmos DB MongoDB collection from autoscale to manual throughput.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param collectionName Cosmos DB collection name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB resource throughput.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ThroughputSettingsGetResultsInner migrateMongoDBCollectionToManualThroughput(String resourceGroupName,
+ String accountName, String databaseName, String collectionName, Context context);
+
+ /**
+ * Retrieves the properties of an existing Azure Cosmos DB Mongo Role Definition with the given Id.
+ *
+ * @param mongoRoleDefinitionId The ID for the Role Definition {dbName.roleName}.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB Mongo Role Definition along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getMongoRoleDefinitionWithResponse(String mongoRoleDefinitionId,
+ String resourceGroupName, String accountName, Context context);
+
+ /**
+ * Retrieves the properties of an existing Azure Cosmos DB Mongo Role Definition with the given Id.
+ *
+ * @param mongoRoleDefinitionId The ID for the Role Definition {dbName.roleName}.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB Mongo Role Definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MongoRoleDefinitionGetResultsInner getMongoRoleDefinition(String mongoRoleDefinitionId, String resourceGroupName,
+ String accountName);
+
+ /**
+ * Creates or updates an Azure Cosmos DB Mongo Role Definition.
+ *
+ * @param mongoRoleDefinitionId The ID for the Role Definition {dbName.roleName}.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param createUpdateMongoRoleDefinitionParameters The properties required to create or update a Role Definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB Mongo Role Definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, MongoRoleDefinitionGetResultsInner>
+ beginCreateUpdateMongoRoleDefinition(String mongoRoleDefinitionId, String resourceGroupName, String accountName,
+ MongoRoleDefinitionCreateUpdateParameters createUpdateMongoRoleDefinitionParameters);
+
+ /**
+ * Creates or updates an Azure Cosmos DB Mongo Role Definition.
+ *
+ * @param mongoRoleDefinitionId The ID for the Role Definition {dbName.roleName}.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param createUpdateMongoRoleDefinitionParameters The properties required to create or update a Role Definition.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB Mongo Role Definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, MongoRoleDefinitionGetResultsInner>
+ beginCreateUpdateMongoRoleDefinition(String mongoRoleDefinitionId, String resourceGroupName, String accountName,
+ MongoRoleDefinitionCreateUpdateParameters createUpdateMongoRoleDefinitionParameters, Context context);
+
+ /**
+ * Creates or updates an Azure Cosmos DB Mongo Role Definition.
+ *
+ * @param mongoRoleDefinitionId The ID for the Role Definition {dbName.roleName}.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param createUpdateMongoRoleDefinitionParameters The properties required to create or update a Role Definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB Mongo Role Definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MongoRoleDefinitionGetResultsInner createUpdateMongoRoleDefinition(String mongoRoleDefinitionId,
+ String resourceGroupName, String accountName,
+ MongoRoleDefinitionCreateUpdateParameters createUpdateMongoRoleDefinitionParameters);
+
+ /**
+ * Creates or updates an Azure Cosmos DB Mongo Role Definition.
+ *
+ * @param mongoRoleDefinitionId The ID for the Role Definition {dbName.roleName}.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param createUpdateMongoRoleDefinitionParameters The properties required to create or update a Role Definition.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB Mongo Role Definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MongoRoleDefinitionGetResultsInner createUpdateMongoRoleDefinition(String mongoRoleDefinitionId,
+ String resourceGroupName, String accountName,
+ MongoRoleDefinitionCreateUpdateParameters createUpdateMongoRoleDefinitionParameters, Context context);
+
+ /**
+ * Deletes an existing Azure Cosmos DB Mongo Role Definition.
+ *
+ * @param mongoRoleDefinitionId The ID for the Role Definition {dbName.roleName}.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDeleteMongoRoleDefinition(String mongoRoleDefinitionId,
+ String resourceGroupName, String accountName);
+
+ /**
+ * Deletes an existing Azure Cosmos DB Mongo Role Definition.
+ *
+ * @param mongoRoleDefinitionId The ID for the Role Definition {dbName.roleName}.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDeleteMongoRoleDefinition(String mongoRoleDefinitionId,
+ String resourceGroupName, String accountName, Context context);
+
+ /**
+ * Deletes an existing Azure Cosmos DB Mongo Role Definition.
+ *
+ * @param mongoRoleDefinitionId The ID for the Role Definition {dbName.roleName}.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void deleteMongoRoleDefinition(String mongoRoleDefinitionId, String resourceGroupName, String accountName);
+
+ /**
+ * Deletes an existing Azure Cosmos DB Mongo Role Definition.
+ *
+ * @param mongoRoleDefinitionId The ID for the Role Definition {dbName.roleName}.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void deleteMongoRoleDefinition(String mongoRoleDefinitionId, String resourceGroupName, String accountName,
+ Context context);
+
+ /**
+ * Retrieves the list of all Azure Cosmos DB Mongo Role Definitions.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the relevant Mongo Role Definitions as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMongoRoleDefinitions(String resourceGroupName,
+ String accountName);
+
+ /**
+ * Retrieves the list of all Azure Cosmos DB Mongo Role Definitions.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the relevant Mongo Role Definitions as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMongoRoleDefinitions(String resourceGroupName,
+ String accountName, Context context);
+
+ /**
+ * Retrieves the properties of an existing Azure Cosmos DB Mongo User Definition with the given Id.
+ *
+ * @param mongoUserDefinitionId The ID for the User Definition {dbName.userName}.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB User Definition along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getMongoUserDefinitionWithResponse(String mongoUserDefinitionId,
+ String resourceGroupName, String accountName, Context context);
+
+ /**
+ * Retrieves the properties of an existing Azure Cosmos DB Mongo User Definition with the given Id.
+ *
+ * @param mongoUserDefinitionId The ID for the User Definition {dbName.userName}.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB User Definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MongoUserDefinitionGetResultsInner getMongoUserDefinition(String mongoUserDefinitionId, String resourceGroupName,
+ String accountName);
+
+ /**
+ * Creates or updates an Azure Cosmos DB Mongo User Definition.
+ *
+ * @param mongoUserDefinitionId The ID for the User Definition {dbName.userName}.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param createUpdateMongoUserDefinitionParameters The properties required to create or update a User Definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB User Definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, MongoUserDefinitionGetResultsInner>
+ beginCreateUpdateMongoUserDefinition(String mongoUserDefinitionId, String resourceGroupName, String accountName,
+ MongoUserDefinitionCreateUpdateParameters createUpdateMongoUserDefinitionParameters);
+
+ /**
+ * Creates or updates an Azure Cosmos DB Mongo User Definition.
+ *
+ * @param mongoUserDefinitionId The ID for the User Definition {dbName.userName}.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param createUpdateMongoUserDefinitionParameters The properties required to create or update a User Definition.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of an Azure Cosmos DB User Definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, MongoUserDefinitionGetResultsInner>
+ beginCreateUpdateMongoUserDefinition(String mongoUserDefinitionId, String resourceGroupName, String accountName,
+ MongoUserDefinitionCreateUpdateParameters createUpdateMongoUserDefinitionParameters, Context context);
+
+ /**
+ * Creates or updates an Azure Cosmos DB Mongo User Definition.
+ *
+ * @param mongoUserDefinitionId The ID for the User Definition {dbName.userName}.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param createUpdateMongoUserDefinitionParameters The properties required to create or update a User Definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB User Definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MongoUserDefinitionGetResultsInner createUpdateMongoUserDefinition(String mongoUserDefinitionId,
+ String resourceGroupName, String accountName,
+ MongoUserDefinitionCreateUpdateParameters createUpdateMongoUserDefinitionParameters);
+
+ /**
+ * Creates or updates an Azure Cosmos DB Mongo User Definition.
+ *
+ * @param mongoUserDefinitionId The ID for the User Definition {dbName.userName}.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param createUpdateMongoUserDefinitionParameters The properties required to create or update a User Definition.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Cosmos DB User Definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MongoUserDefinitionGetResultsInner createUpdateMongoUserDefinition(String mongoUserDefinitionId,
+ String resourceGroupName, String accountName,
+ MongoUserDefinitionCreateUpdateParameters createUpdateMongoUserDefinitionParameters, Context context);
+
+ /**
+ * Deletes an existing Azure Cosmos DB Mongo User Definition.
+ *
+ * @param mongoUserDefinitionId The ID for the User Definition {dbName.userName}.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDeleteMongoUserDefinition(String mongoUserDefinitionId,
+ String resourceGroupName, String accountName);
+
+ /**
+ * Deletes an existing Azure Cosmos DB Mongo User Definition.
+ *
+ * @param mongoUserDefinitionId The ID for the User Definition {dbName.userName}.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDeleteMongoUserDefinition(String mongoUserDefinitionId,
+ String resourceGroupName, String accountName, Context context);
+
+ /**
+ * Deletes an existing Azure Cosmos DB Mongo User Definition.
+ *
+ * @param mongoUserDefinitionId The ID for the User Definition {dbName.userName}.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void deleteMongoUserDefinition(String mongoUserDefinitionId, String resourceGroupName, String accountName);
+
+ /**
+ * Deletes an existing Azure Cosmos DB Mongo User Definition.
+ *
+ * @param mongoUserDefinitionId The ID for the User Definition {dbName.userName}.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void deleteMongoUserDefinition(String mongoUserDefinitionId, String resourceGroupName, String accountName,
+ Context context);
+
+ /**
+ * Retrieves the list of all Azure Cosmos DB Mongo User Definition.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the relevant User Definition as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMongoUserDefinitions(String resourceGroupName,
+ String accountName);
+
+ /**
+ * Retrieves the list of all Azure Cosmos DB Mongo User Definition.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the relevant User Definition as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMongoUserDefinitions(String resourceGroupName,
+ String accountName, Context context);
+
+ /**
+ * Retrieves continuous backup information for a Mongodb collection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param accountName Cosmos DB database account name.
+ * @param databaseName Cosmos DB database name.
+ * @param collectionName Cosmos DB collection name.
+ * @param location The name of the continuous backup restore location.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of backup information of a resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller