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;
+ }
+
+ /**
+ * @return Wrapped service client CosmosDBManagementClient providing direct access to the underlying auto-generated
+ * API implementation, based on Azure REST API.
+ */
+ 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..72e86b5f016b2
--- /dev/null
+++ b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/CassandraClustersClient.java
@@ -0,0 +1,483 @@
+// 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..2300a6b158146
--- /dev/null
+++ b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/CassandraDataCentersClient.java
@@ -0,0 +1,285 @@
+// 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..fd9f4f0e3aec8
--- /dev/null
+++ b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/CassandraResourcesClient.java
@@ -0,0 +1,959 @@
+// 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..b438d1a914ae5
--- /dev/null
+++ b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/CollectionPartitionRegionsClient.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.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..0344d440428c4
--- /dev/null
+++ b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/CollectionPartitionsClient.java
@@ -0,0 +1,99 @@
+// 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..b151376abbc35
--- /dev/null
+++ b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/CollectionRegionsClient.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.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..547eb6cae5600
--- /dev/null
+++ b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/CollectionsClient.java
@@ -0,0 +1,133 @@
+// 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..2a7338421794b
--- /dev/null
+++ b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/CosmosDBManagementClient.java
@@ -0,0 +1,305 @@
+// 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..bfb41f05c5f0d
--- /dev/null
+++ b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/DatabaseAccountRegionsClient.java
@@ -0,0 +1,50 @@
+// 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..b43392b3f0325
--- /dev/null
+++ b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/DatabaseAccountsClient.java
@@ -0,0 +1,786 @@
+// 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..c4b1e3549e78f
--- /dev/null
+++ b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/DatabasesClient.java
@@ -0,0 +1,116 @@
+// 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..98730f8b66d0e
--- /dev/null
+++ b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/GremlinResourcesClient.java
@@ -0,0 +1,1039 @@
+// 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..470439ece59be
--- /dev/null
+++ b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/LocationsClient.java
@@ -0,0 +1,64 @@
+// 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..3e5542ede09a4
--- /dev/null
+++ b/sdk/cosmos/azure-resourcemanager-cosmos-generated/src/main/java/com/azure/resourcemanager/cosmos/generated/fluent/MongoDBResourcesClient.java
@@ -0,0 +1,1455 @@
+// 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