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 Commvault Content Store service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the Commvault Content Store service API instance.
+ */
+ public CommvaultContentStoreManager authenticate(TokenCredential credential, AzureProfile profile) {
+ Objects.requireNonNull(credential, "'credential' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+
+ String clientVersion = PROPERTIES.getOrDefault(SDK_VERSION, "UnknownVersion");
+
+ StringBuilder userAgentBuilder = new StringBuilder();
+ userAgentBuilder.append("azsdk-java")
+ .append("-")
+ .append("com.azure.resourcemanager.commvaultcontentstore")
+ .append("/")
+ .append(clientVersion);
+ 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 BearerTokenAuthenticationPolicy(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 CommvaultContentStoreManager(httpPipeline, profile, defaultPollInterval);
+ }
+ }
+
+ /**
+ * 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 CloudAccounts. It manages CloudAccount.
+ *
+ * @return Resource collection API of CloudAccounts.
+ */
+ public CloudAccounts cloudAccounts() {
+ if (this.cloudAccounts == null) {
+ this.cloudAccounts = new CloudAccountsImpl(clientObject.getCloudAccounts(), this);
+ }
+ return cloudAccounts;
+ }
+
+ /**
+ * Gets the resource collection API of SaaSOperationGroups.
+ *
+ * @return Resource collection API of SaaSOperationGroups.
+ */
+ public SaaSOperationGroups saaSOperationGroups() {
+ if (this.saaSOperationGroups == null) {
+ this.saaSOperationGroups = new SaaSOperationGroupsImpl(clientObject.getSaaSOperationGroups(), this);
+ }
+ return saaSOperationGroups;
+ }
+
+ /**
+ * Gets the resource collection API of Storages. It manages Storage.
+ *
+ * @return Resource collection API of Storages.
+ */
+ public Storages storages() {
+ if (this.storages == null) {
+ this.storages = new StoragesImpl(clientObject.getStorages(), this);
+ }
+ return storages;
+ }
+
+ /**
+ * Gets the resource collection API of Plans. It manages CommvaultPlan.
+ *
+ * @return Resource collection API of Plans.
+ */
+ public Plans plans() {
+ if (this.plans == null) {
+ this.plans = new PlansImpl(clientObject.getPlans(), this);
+ }
+ return plans;
+ }
+
+ /**
+ * Gets the resource collection API of ProtectionGroups. It manages ProtectionGroup.
+ *
+ * @return Resource collection API of ProtectionGroups.
+ */
+ public ProtectionGroups protectionGroups() {
+ if (this.protectionGroups == null) {
+ this.protectionGroups = new ProtectionGroupsImpl(clientObject.getProtectionGroups(), this);
+ }
+ return protectionGroups;
+ }
+
+ /**
+ * Gets the resource collection API of ProtectedItems.
+ *
+ * @return Resource collection API of ProtectedItems.
+ */
+ public ProtectedItems protectedItems() {
+ if (this.protectedItems == null) {
+ this.protectedItems = new ProtectedItemsImpl(clientObject.getProtectedItems(), this);
+ }
+ return protectedItems;
+ }
+
+ /**
+ * Gets the resource collection API of ProtectedItemsOperationGroups.
+ *
+ * @return Resource collection API of ProtectedItemsOperationGroups.
+ */
+ public ProtectedItemsOperationGroups protectedItemsOperationGroups() {
+ if (this.protectedItemsOperationGroups == null) {
+ this.protectedItemsOperationGroups
+ = new ProtectedItemsOperationGroupsImpl(clientObject.getProtectedItemsOperationGroups(), this);
+ }
+ return protectedItemsOperationGroups;
+ }
+
+ /**
+ * Gets the resource collection API of RoleMappings.
+ *
+ * @return Resource collection API of RoleMappings.
+ */
+ public RoleMappings roleMappings() {
+ if (this.roleMappings == null) {
+ this.roleMappings = new RoleMappingsImpl(clientObject.getRoleMappings(), this);
+ }
+ return roleMappings;
+ }
+
+ /**
+ * Gets wrapped service client CommvaultContentStoreManagementClient providing direct access to the underlying
+ * auto-generated API implementation, based on Azure REST API.
+ *
+ * @return Wrapped service client CommvaultContentStoreManagementClient.
+ */
+ public CommvaultContentStoreManagementClient serviceClient() {
+ return this.clientObject;
+ }
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/CloudAccountsClient.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/CloudAccountsClient.java
new file mode 100644
index 000000000000..6f6f624176d0
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/CloudAccountsClient.java
@@ -0,0 +1,359 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.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.commvaultcontentstore.fluent.models.CloudAccountInner;
+import com.azure.resourcemanager.commvaultcontentstore.fluent.models.LatestLinkedSaaSResponseInner;
+import com.azure.resourcemanager.commvaultcontentstore.models.CloudAccountUpdate;
+import com.azure.resourcemanager.commvaultcontentstore.models.SaaSData;
+
+/**
+ * An instance of this class provides access to all the operations defined in CloudAccountsClient.
+ */
+public interface CloudAccountsClient {
+ /**
+ * Get a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 CloudAccount along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(String resourceGroupName, String cloudAccountName,
+ Context context);
+
+ /**
+ * Get a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 CloudAccount.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudAccountInner getByResourceGroup(String resourceGroupName, String cloudAccountName);
+
+ /**
+ * Create a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 Commvault Cloud Account Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CloudAccountInner> beginCreateOrUpdate(String resourceGroupName,
+ String cloudAccountName, CloudAccountInner resource);
+
+ /**
+ * Create a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 Commvault Cloud Account Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CloudAccountInner> beginCreateOrUpdate(String resourceGroupName,
+ String cloudAccountName, CloudAccountInner resource, Context context);
+
+ /**
+ * Create a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 Commvault Cloud Account Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudAccountInner createOrUpdate(String resourceGroupName, String cloudAccountName, CloudAccountInner resource);
+
+ /**
+ * Create a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 Commvault Cloud Account Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudAccountInner createOrUpdate(String resourceGroupName, String cloudAccountName, CloudAccountInner resource,
+ Context context);
+
+ /**
+ * Update a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param properties The resource properties to be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 Commvault Cloud Account Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CloudAccountInner> beginUpdate(String resourceGroupName,
+ String cloudAccountName, CloudAccountUpdate properties);
+
+ /**
+ * Update a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param properties The resource properties to be updated.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 Commvault Cloud Account Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CloudAccountInner> beginUpdate(String resourceGroupName,
+ String cloudAccountName, CloudAccountUpdate properties, Context context);
+
+ /**
+ * Update a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param properties The resource properties to be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 Commvault Cloud Account Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudAccountInner update(String resourceGroupName, String cloudAccountName, CloudAccountUpdate properties);
+
+ /**
+ * Update a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param properties The resource properties to be updated.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 Commvault Cloud Account Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudAccountInner update(String resourceGroupName, String cloudAccountName, CloudAccountUpdate properties,
+ Context context);
+
+ /**
+ * Delete a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 cloudAccountName);
+
+ /**
+ * Delete a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 cloudAccountName, Context context);
+
+ /**
+ * Delete a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 cloudAccountName);
+
+ /**
+ * Delete a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 cloudAccountName, Context context);
+
+ /**
+ * List CloudAccount resources by 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 response of a CloudAccount list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * List CloudAccount resources by 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 response of a CloudAccount list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * List CloudAccount resources by subscription ID.
+ *
+ * @throws com.azure.core.management.exception.ManagementException 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 of a CloudAccount list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List CloudAccount resources by subscription ID.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 of a CloudAccount list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Links a new SaaS to the cloud account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param body The content of the action request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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, CloudAccountInner> beginLinkSaaS(String resourceGroupName,
+ String cloudAccountName, SaaSData body);
+
+ /**
+ * Links a new SaaS to the cloud account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param body The content of the action request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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, CloudAccountInner> beginLinkSaaS(String resourceGroupName,
+ String cloudAccountName, SaaSData body, Context context);
+
+ /**
+ * Links a new SaaS to the cloud account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param body The content of the action request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudAccountInner linkSaaS(String resourceGroupName, String cloudAccountName, SaaSData body);
+
+ /**
+ * Links a new SaaS to the cloud account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param body The content of the action request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudAccountInner linkSaaS(String resourceGroupName, String cloudAccountName, SaaSData body, Context context);
+
+ /**
+ * Returns the latest SaaS linked to the cloud account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 get latest linked SaaS resource operation along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response latestLinkedSaaSWithResponse(String resourceGroupName,
+ String cloudAccountName, Context context);
+
+ /**
+ * Returns the latest SaaS linked to the cloud account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 get latest linked SaaS resource operation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LatestLinkedSaaSResponseInner latestLinkedSaaS(String resourceGroupName, String cloudAccountName);
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/CommvaultContentStoreManagementClient.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/CommvaultContentStoreManagementClient.java
new file mode 100644
index 000000000000..5a20f050888a
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/CommvaultContentStoreManagementClient.java
@@ -0,0 +1,111 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.fluent;
+
+import com.azure.core.http.HttpPipeline;
+import java.time.Duration;
+
+/**
+ * The interface for CommvaultContentStoreManagementClient class.
+ */
+public interface CommvaultContentStoreManagementClient {
+ /**
+ * Gets Service host.
+ *
+ * @return the endpoint value.
+ */
+ String getEndpoint();
+
+ /**
+ * Gets Version parameter.
+ *
+ * @return the apiVersion value.
+ */
+ String getApiVersion();
+
+ /**
+ * Gets The ID of the target subscription. The value must be an UUID.
+ *
+ * @return the subscriptionId value.
+ */
+ String getSubscriptionId();
+
+ /**
+ * 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 OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ OperationsClient getOperations();
+
+ /**
+ * Gets the CloudAccountsClient object to access its operations.
+ *
+ * @return the CloudAccountsClient object.
+ */
+ CloudAccountsClient getCloudAccounts();
+
+ /**
+ * Gets the SaaSOperationGroupsClient object to access its operations.
+ *
+ * @return the SaaSOperationGroupsClient object.
+ */
+ SaaSOperationGroupsClient getSaaSOperationGroups();
+
+ /**
+ * Gets the StoragesClient object to access its operations.
+ *
+ * @return the StoragesClient object.
+ */
+ StoragesClient getStorages();
+
+ /**
+ * Gets the PlansClient object to access its operations.
+ *
+ * @return the PlansClient object.
+ */
+ PlansClient getPlans();
+
+ /**
+ * Gets the ProtectionGroupsClient object to access its operations.
+ *
+ * @return the ProtectionGroupsClient object.
+ */
+ ProtectionGroupsClient getProtectionGroups();
+
+ /**
+ * Gets the ProtectedItemsClient object to access its operations.
+ *
+ * @return the ProtectedItemsClient object.
+ */
+ ProtectedItemsClient getProtectedItems();
+
+ /**
+ * Gets the ProtectedItemsOperationGroupsClient object to access its operations.
+ *
+ * @return the ProtectedItemsOperationGroupsClient object.
+ */
+ ProtectedItemsOperationGroupsClient getProtectedItemsOperationGroups();
+
+ /**
+ * Gets the RoleMappingsClient object to access its operations.
+ *
+ * @return the RoleMappingsClient object.
+ */
+ RoleMappingsClient getRoleMappings();
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/OperationsClient.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/OperationsClient.java
new file mode 100644
index 000000000000..d6a11ab9538c
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/OperationsClient.java
@@ -0,0 +1,40 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.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.commvaultcontentstore.fluent.models.OperationInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in OperationsClient.
+ */
+public interface OperationsClient {
+ /**
+ * List the operations for the provider.
+ *
+ * @throws com.azure.core.management.exception.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 list of REST API operations supported by an Azure Resource Provider as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List the operations for the provider.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 list of REST API operations supported by an Azure Resource Provider as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/PlansClient.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/PlansClient.java
new file mode 100644
index 000000000000..cc8e70585d4b
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/PlansClient.java
@@ -0,0 +1,200 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.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.commvaultcontentstore.fluent.models.CommvaultPlanInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in PlansClient.
+ */
+public interface PlansClient {
+ /**
+ * Get a CommvaultPlan.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param planName Name of the Plan resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 CommvaultPlan along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String cloudAccountName, String planName,
+ Context context);
+
+ /**
+ * Get a CommvaultPlan.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param planName Name of the Plan resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 CommvaultPlan.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CommvaultPlanInner get(String resourceGroupName, String cloudAccountName, String planName);
+
+ /**
+ * Create a CommvaultPlan.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param planName Name of the Plan resource.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 Commvault Plan Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CommvaultPlanInner> beginCreateOrupdate(String resourceGroupName,
+ String cloudAccountName, String planName, CommvaultPlanInner resource);
+
+ /**
+ * Create a CommvaultPlan.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param planName Name of the Plan resource.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 Commvault Plan Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CommvaultPlanInner> beginCreateOrupdate(String resourceGroupName,
+ String cloudAccountName, String planName, CommvaultPlanInner resource, Context context);
+
+ /**
+ * Create a CommvaultPlan.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param planName Name of the Plan resource.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 Commvault Plan Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CommvaultPlanInner createOrupdate(String resourceGroupName, String cloudAccountName, String planName,
+ CommvaultPlanInner resource);
+
+ /**
+ * Create a CommvaultPlan.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param planName Name of the Plan resource.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 Commvault Plan Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CommvaultPlanInner createOrupdate(String resourceGroupName, String cloudAccountName, String planName,
+ CommvaultPlanInner resource, Context context);
+
+ /**
+ * Delete a CommvaultPlan.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param planName Name of the Plan resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 cloudAccountName, String planName);
+
+ /**
+ * Delete a CommvaultPlan.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param planName Name of the Plan resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 cloudAccountName, String planName,
+ Context context);
+
+ /**
+ * Delete a CommvaultPlan.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param planName Name of the Plan resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 cloudAccountName, String planName);
+
+ /**
+ * Delete a CommvaultPlan.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param planName Name of the Plan resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 cloudAccountName, String planName, Context context);
+
+ /**
+ * List CommvaultPlan resources by CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 of a CommvaultPlan list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByCloudAccount(String resourceGroupName, String cloudAccountName);
+
+ /**
+ * List CommvaultPlan resources by CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 of a CommvaultPlan list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByCloudAccount(String resourceGroupName, String cloudAccountName,
+ Context context);
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/ProtectedItemsClient.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/ProtectedItemsClient.java
new file mode 100644
index 000000000000..820ac0c473d8
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/ProtectedItemsClient.java
@@ -0,0 +1,164 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.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.commvaultcontentstore.fluent.models.ProtectedItemInner;
+import com.azure.resourcemanager.commvaultcontentstore.fluent.models.RestorePointsInner;
+import com.azure.resourcemanager.commvaultcontentstore.fluent.models.RestoreProtectionItemResponseInner;
+import com.azure.resourcemanager.commvaultcontentstore.models.RestoreProtectionItemRequest;
+
+/**
+ * An instance of this class provides access to all the operations defined in ProtectedItemsClient.
+ */
+public interface ProtectedItemsClient {
+ /**
+ * Get a ProtectedItem.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param protectionGroupName Name of the ProtectionGroup resource.
+ * @param protectedItemName The protectedItem Id, name of 2 protected items can be same under a PG if they belong to
+ * different resource group or even different data source types VM/DB/AKS, etc; and name is mandatory in Azure
+ * Typespec, hence using name parameter for id in Commvault In case of Vm it will be vmGuid.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 ProtectedItem along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String cloudAccountName,
+ String protectionGroupName, String protectedItemName, Context context);
+
+ /**
+ * Get a ProtectedItem.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param protectionGroupName Name of the ProtectionGroup resource.
+ * @param protectedItemName The protectedItem Id, name of 2 protected items can be same under a PG if they belong to
+ * different resource group or even different data source types VM/DB/AKS, etc; and name is mandatory in Azure
+ * Typespec, hence using name parameter for id in Commvault In case of Vm it will be vmGuid.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 ProtectedItem.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProtectedItemInner get(String resourceGroupName, String cloudAccountName, String protectionGroupName,
+ String protectedItemName);
+
+ /**
+ * List ProtectedItem resources by ProtectionGroup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param protectionGroupName Name of the ProtectionGroup resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 of a ProtectedItem list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByProtectionGroup(String resourceGroupName, String cloudAccountName,
+ String protectionGroupName);
+
+ /**
+ * List ProtectedItem resources by ProtectionGroup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param protectionGroupName Name of the ProtectionGroup resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 of a ProtectedItem list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByProtectionGroup(String resourceGroupName, String cloudAccountName,
+ String protectionGroupName, Context context);
+
+ /**
+ * Limits used for creation of resources.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param protectionGroupName Name of the ProtectionGroup resource.
+ * @param protectedItemName The protectedItem Id, name of 2 protected items can be same under a PG if they belong to
+ * different resource group or even different data source types VM/DB/AKS, etc; and name is mandatory in Azure
+ * Typespec, hence using name parameter for id in Commvault In case of Vm it will be vmGuid.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return restore points of a Protected Item along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getRestorePointsWithResponse(String resourceGroupName, String cloudAccountName,
+ String protectionGroupName, String protectedItemName, Context context);
+
+ /**
+ * Limits used for creation of resources.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param protectionGroupName Name of the ProtectionGroup resource.
+ * @param protectedItemName The protectedItem Id, name of 2 protected items can be same under a PG if they belong to
+ * different resource group or even different data source types VM/DB/AKS, etc; and name is mandatory in Azure
+ * Typespec, hence using name parameter for id in Commvault In case of Vm it will be vmGuid.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return restore points of a Protected Item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RestorePointsInner getRestorePoints(String resourceGroupName, String cloudAccountName, String protectionGroupName,
+ String protectedItemName);
+
+ /**
+ * Restore resource for a protected item.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param protectionGroupName Name of the ProtectionGroup resource.
+ * @param protectedItemName The protectedItem Id, name of 2 protected items can be same under a PG if they belong to
+ * different resource group or even different data source types VM/DB/AKS, etc; and name is mandatory in Azure
+ * Typespec, hence using name parameter for id in Commvault In case of Vm it will be vmGuid.
+ * @param request The body type of the operation request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return restore resource response for a Protected Item along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response restoreWithResponse(String resourceGroupName, String cloudAccountName,
+ String protectionGroupName, String protectedItemName, RestoreProtectionItemRequest request, Context context);
+
+ /**
+ * Restore resource for a protected item.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param protectionGroupName Name of the ProtectionGroup resource.
+ * @param protectedItemName The protectedItem Id, name of 2 protected items can be same under a PG if they belong to
+ * different resource group or even different data source types VM/DB/AKS, etc; and name is mandatory in Azure
+ * Typespec, hence using name parameter for id in Commvault In case of Vm it will be vmGuid.
+ * @param request The body type of the operation request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return restore resource response for a Protected Item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RestoreProtectionItemResponseInner restore(String resourceGroupName, String cloudAccountName,
+ String protectionGroupName, String protectedItemName, RestoreProtectionItemRequest request);
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/ProtectedItemsOperationGroupsClient.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/ProtectedItemsOperationGroupsClient.java
new file mode 100644
index 000000000000..e70f59ff5296
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/ProtectedItemsOperationGroupsClient.java
@@ -0,0 +1,44 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.commvaultcontentstore.fluent.models.CountProtectedItemsResponseInner;
+import com.azure.resourcemanager.commvaultcontentstore.models.CountProtectedItemsRequest;
+
+/**
+ * An instance of this class provides access to all the operations defined in ProtectedItemsOperationGroupsClient.
+ */
+public interface ProtectedItemsOperationGroupsClient {
+ /**
+ * Gets the count of protected items for provided CCA resource IDs across subscriptions.
+ *
+ * @param body The request body.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the count of protected items for provided CCA resource IDs across subscriptions along with
+ * {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response countByProtectionGroupsWithResponse(CountProtectedItemsRequest body,
+ Context context);
+
+ /**
+ * Gets the count of protected items for provided CCA resource IDs across subscriptions.
+ *
+ * @param body The request body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the count of protected items for provided CCA resource IDs across subscriptions.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CountProtectedItemsResponseInner countByProtectionGroups(CountProtectedItemsRequest body);
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/ProtectionGroupsClient.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/ProtectionGroupsClient.java
new file mode 100644
index 000000000000..9cf8674e8d62
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/ProtectionGroupsClient.java
@@ -0,0 +1,365 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.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.commvaultcontentstore.fluent.models.BackupProtectionGroupResponseInner;
+import com.azure.resourcemanager.commvaultcontentstore.fluent.models.ProtectionGroupInner;
+import com.azure.resourcemanager.commvaultcontentstore.fluent.models.RestoreProtectionItemResponseInner;
+import com.azure.resourcemanager.commvaultcontentstore.models.BackupProtectionGroupRequest;
+import com.azure.resourcemanager.commvaultcontentstore.models.RestoreProtectionItemRequest;
+import com.azure.resourcemanager.commvaultcontentstore.models.StopBackupProtectionGroupRequest;
+
+/**
+ * An instance of this class provides access to all the operations defined in ProtectionGroupsClient.
+ */
+public interface ProtectionGroupsClient {
+ /**
+ * Get a ProtectionGroup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param protectionGroupName Name of the ProtectionGroup resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 ProtectionGroup along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String cloudAccountName,
+ String protectionGroupName, Context context);
+
+ /**
+ * Get a ProtectionGroup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param protectionGroupName Name of the ProtectionGroup resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 ProtectionGroup.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProtectionGroupInner get(String resourceGroupName, String cloudAccountName, String protectionGroupName);
+
+ /**
+ * Create a ProtectionGroup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param protectionGroupName Name of the ProtectionGroup resource.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 Commvault Plan Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ProtectionGroupInner> beginCreateOrupdate(String resourceGroupName,
+ String cloudAccountName, String protectionGroupName, ProtectionGroupInner resource);
+
+ /**
+ * Create a ProtectionGroup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param protectionGroupName Name of the ProtectionGroup resource.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 Commvault Plan Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ProtectionGroupInner> beginCreateOrupdate(String resourceGroupName,
+ String cloudAccountName, String protectionGroupName, ProtectionGroupInner resource, Context context);
+
+ /**
+ * Create a ProtectionGroup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param protectionGroupName Name of the ProtectionGroup resource.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 Commvault Plan Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProtectionGroupInner createOrupdate(String resourceGroupName, String cloudAccountName, String protectionGroupName,
+ ProtectionGroupInner resource);
+
+ /**
+ * Create a ProtectionGroup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param protectionGroupName Name of the ProtectionGroup resource.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 Commvault Plan Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProtectionGroupInner createOrupdate(String resourceGroupName, String cloudAccountName, String protectionGroupName,
+ ProtectionGroupInner resource, Context context);
+
+ /**
+ * Delete a ProtectionGroup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param protectionGroupName Name of the ProtectionGroup resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 cloudAccountName,
+ String protectionGroupName);
+
+ /**
+ * Delete a ProtectionGroup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param protectionGroupName Name of the ProtectionGroup resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 cloudAccountName,
+ String protectionGroupName, Context context);
+
+ /**
+ * Delete a ProtectionGroup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param protectionGroupName Name of the ProtectionGroup resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 cloudAccountName, String protectionGroupName);
+
+ /**
+ * Delete a ProtectionGroup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param protectionGroupName Name of the ProtectionGroup resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 cloudAccountName, String protectionGroupName, Context context);
+
+ /**
+ * List ProtectionGroup resources by CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 of a ProtectionGroup list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByCloudAccount(String resourceGroupName, String cloudAccountName);
+
+ /**
+ * List ProtectionGroup resources by CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 of a ProtectionGroup list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByCloudAccount(String resourceGroupName, String cloudAccountName,
+ Context context);
+
+ /**
+ * Stop Backup for a Protection Group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param protectionGroupName Name of the ProtectionGroup resource.
+ * @param request The body type of the operation request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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> beginStopBackup(String resourceGroupName, String cloudAccountName,
+ String protectionGroupName, StopBackupProtectionGroupRequest request);
+
+ /**
+ * Stop Backup for a Protection Group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param protectionGroupName Name of the ProtectionGroup resource.
+ * @param request The body type of the operation request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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> beginStopBackup(String resourceGroupName, String cloudAccountName,
+ String protectionGroupName, StopBackupProtectionGroupRequest request, Context context);
+
+ /**
+ * Stop Backup for a Protection Group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param protectionGroupName Name of the ProtectionGroup resource.
+ * @param request The body type of the operation request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 stopBackup(String resourceGroupName, String cloudAccountName, String protectionGroupName,
+ StopBackupProtectionGroupRequest request);
+
+ /**
+ * Stop Backup for a Protection Group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param protectionGroupName Name of the ProtectionGroup resource.
+ * @param request The body type of the operation request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 stopBackup(String resourceGroupName, String cloudAccountName, String protectionGroupName,
+ StopBackupProtectionGroupRequest request, Context context);
+
+ /**
+ * Restore resource for a protected items in given protection group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param protectionGroupName Name of the ProtectionGroup resource.
+ * @param request The body type of the operation request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return restore resource response for a Protected Item along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response restoreWithResponse(String resourceGroupName, String cloudAccountName,
+ String protectionGroupName, RestoreProtectionItemRequest request, Context context);
+
+ /**
+ * Restore resource for a protected items in given protection group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param protectionGroupName Name of the ProtectionGroup resource.
+ * @param request The body type of the operation request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return restore resource response for a Protected Item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RestoreProtectionItemResponseInner restore(String resourceGroupName, String cloudAccountName,
+ String protectionGroupName, RestoreProtectionItemRequest request);
+
+ /**
+ * Resume Backup for a Protection Group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param protectionGroupName Name of the ProtectionGroup resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response resumeBackupWithResponse(String resourceGroupName, String cloudAccountName,
+ String protectionGroupName, Context context);
+
+ /**
+ * Resume Backup for a Protection Group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param protectionGroupName Name of the ProtectionGroup resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 resumeBackup(String resourceGroupName, String cloudAccountName, String protectionGroupName);
+
+ /**
+ * Ad-hoc backup of protected items resource in given protection group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param protectionGroupName Name of the ProtectionGroup resource.
+ * @param request The body type of the operation request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 job response for a Protection Group along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response backupWithResponse(String resourceGroupName, String cloudAccountName,
+ String protectionGroupName, BackupProtectionGroupRequest request, Context context);
+
+ /**
+ * Ad-hoc backup of protected items resource in given protection group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param protectionGroupName Name of the ProtectionGroup resource.
+ * @param request The body type of the operation request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 job response for a Protection Group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ BackupProtectionGroupResponseInner backup(String resourceGroupName, String cloudAccountName,
+ String protectionGroupName, BackupProtectionGroupRequest request);
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/RoleMappingsClient.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/RoleMappingsClient.java
new file mode 100644
index 000000000000..d988387be62f
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/RoleMappingsClient.java
@@ -0,0 +1,127 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.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.commvaultcontentstore.fluent.models.RoleMappingInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in RoleMappingsClient.
+ */
+public interface RoleMappingsClient {
+ /**
+ * Get a RoleMapping.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 RoleMapping along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String cloudAccountName, Context context);
+
+ /**
+ * Get a RoleMapping.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 RoleMapping.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RoleMappingInner get(String resourceGroupName, String cloudAccountName);
+
+ /**
+ * Create a RoleMapping.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 Commvault Role Mapping Resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(String resourceGroupName, String cloudAccountName,
+ RoleMappingInner resource, Context context);
+
+ /**
+ * Create a RoleMapping.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 Commvault Role Mapping Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RoleMappingInner createOrUpdate(String resourceGroupName, String cloudAccountName, RoleMappingInner resource);
+
+ /**
+ * Delete a RoleMapping.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String resourceGroupName, String cloudAccountName, Context context);
+
+ /**
+ * Delete a RoleMapping.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 cloudAccountName);
+
+ /**
+ * List RoleMapping resources by CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 of a RoleMapping list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String cloudAccountName);
+
+ /**
+ * List RoleMapping resources by CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 of a RoleMapping list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String cloudAccountName, Context context);
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/SaaSOperationGroupsClient.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/SaaSOperationGroupsClient.java
new file mode 100644
index 000000000000..9636e61afe7a
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/SaaSOperationGroupsClient.java
@@ -0,0 +1,70 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.commvaultcontentstore.fluent.models.SaaSResourceDetailsResponseInner;
+import com.azure.resourcemanager.commvaultcontentstore.models.ActivateSaaSParameterRequest;
+
+/**
+ * An instance of this class provides access to all the operations defined in SaaSOperationGroupsClient.
+ */
+public interface SaaSOperationGroupsClient {
+ /**
+ * Resolve the token to get the SaaS resource ID and activate the SaaS resource.
+ *
+ * @param body The request body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 marketplace SaaS resource details.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, SaaSResourceDetailsResponseInner>
+ beginActivateResource(ActivateSaaSParameterRequest body);
+
+ /**
+ * Resolve the token to get the SaaS resource ID and activate the SaaS resource.
+ *
+ * @param body The request body.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 marketplace SaaS resource details.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, SaaSResourceDetailsResponseInner>
+ beginActivateResource(ActivateSaaSParameterRequest body, Context context);
+
+ /**
+ * Resolve the token to get the SaaS resource ID and activate the SaaS resource.
+ *
+ * @param body The request body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return marketplace SaaS resource details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SaaSResourceDetailsResponseInner activateResource(ActivateSaaSParameterRequest body);
+
+ /**
+ * Resolve the token to get the SaaS resource ID and activate the SaaS resource.
+ *
+ * @param body The request body.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return marketplace SaaS resource details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SaaSResourceDetailsResponseInner activateResource(ActivateSaaSParameterRequest body, Context context);
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/StoragesClient.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/StoragesClient.java
new file mode 100644
index 000000000000..54b3146faa84
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/StoragesClient.java
@@ -0,0 +1,200 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.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.commvaultcontentstore.fluent.models.StorageInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in StoragesClient.
+ */
+public interface StoragesClient {
+ /**
+ * Get a Storage.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param storageName Name of the Storage resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 Storage along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String cloudAccountName, String storageName,
+ Context context);
+
+ /**
+ * Get a Storage.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param storageName Name of the Storage resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 Storage.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ StorageInner get(String resourceGroupName, String cloudAccountName, String storageName);
+
+ /**
+ * Create a Storage.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param storageName Name of the Storage resource.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 Commvault Storage Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, StorageInner> beginCreateOrUpdate(String resourceGroupName,
+ String cloudAccountName, String storageName, StorageInner resource);
+
+ /**
+ * Create a Storage.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param storageName Name of the Storage resource.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 Commvault Storage Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, StorageInner> beginCreateOrUpdate(String resourceGroupName,
+ String cloudAccountName, String storageName, StorageInner resource, Context context);
+
+ /**
+ * Create a Storage.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param storageName Name of the Storage resource.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 Commvault Storage Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ StorageInner createOrUpdate(String resourceGroupName, String cloudAccountName, String storageName,
+ StorageInner resource);
+
+ /**
+ * Create a Storage.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param storageName Name of the Storage resource.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 Commvault Storage Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ StorageInner createOrUpdate(String resourceGroupName, String cloudAccountName, String storageName,
+ StorageInner resource, Context context);
+
+ /**
+ * Delete a Storage.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param storageName Name of the Storage resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 cloudAccountName,
+ String storageName);
+
+ /**
+ * Delete a Storage.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param storageName Name of the Storage resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 cloudAccountName,
+ String storageName, Context context);
+
+ /**
+ * Delete a Storage.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param storageName Name of the Storage resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 cloudAccountName, String storageName);
+
+ /**
+ * Delete a Storage.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param storageName Name of the Storage resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 cloudAccountName, String storageName, Context context);
+
+ /**
+ * List Storage resources by CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 of a Storage list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByCloudAccount(String resourceGroupName, String cloudAccountName);
+
+ /**
+ * List Storage resources by CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 of a Storage list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByCloudAccount(String resourceGroupName, String cloudAccountName, Context context);
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/BackupProtectionGroupResponseInner.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/BackupProtectionGroupResponseInner.java
new file mode 100644
index 000000000000..4715265916bb
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/BackupProtectionGroupResponseInner.java
@@ -0,0 +1,93 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * Backup job response for a Protection Group.
+ */
+@Immutable
+public final class BackupProtectionGroupResponseInner implements JsonSerializable {
+ /*
+ * The Commvault response for taskId
+ */
+ private int taskId;
+
+ /*
+ * The jobIds returned from Commvault.
+ */
+ private List jobIds;
+
+ /**
+ * Creates an instance of BackupProtectionGroupResponseInner class.
+ */
+ private BackupProtectionGroupResponseInner() {
+ }
+
+ /**
+ * Get the taskId property: The Commvault response for taskId.
+ *
+ * @return the taskId value.
+ */
+ public int taskId() {
+ return this.taskId;
+ }
+
+ /**
+ * Get the jobIds property: The jobIds returned from Commvault.
+ *
+ * @return the jobIds value.
+ */
+ public List jobIds() {
+ return this.jobIds;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of BackupProtectionGroupResponseInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of BackupProtectionGroupResponseInner if the JsonReader was pointing to an instance of it, or
+ * null if it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the BackupProtectionGroupResponseInner.
+ */
+ public static BackupProtectionGroupResponseInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ BackupProtectionGroupResponseInner deserializedBackupProtectionGroupResponseInner
+ = new BackupProtectionGroupResponseInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("taskId".equals(fieldName)) {
+ deserializedBackupProtectionGroupResponseInner.taskId = reader.getInt();
+ } else if ("jobIds".equals(fieldName)) {
+ List jobIds = reader.readArray(reader1 -> reader1.getString());
+ deserializedBackupProtectionGroupResponseInner.jobIds = jobIds;
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedBackupProtectionGroupResponseInner;
+ });
+ }
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/CloudAccountInner.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/CloudAccountInner.java
new file mode 100644
index 000000000000..4f53bfd98d17
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/CloudAccountInner.java
@@ -0,0 +1,210 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.commvaultcontentstore.models.CloudAccountProperties;
+import com.azure.resourcemanager.commvaultcontentstore.models.ManagedServiceIdentity;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * A Commvault Cloud Account Resource.
+ */
+@Fluent
+public final class CloudAccountInner extends Resource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private CloudAccountProperties properties;
+
+ /*
+ * The managed service identities assigned to this resource.
+ */
+ private ManagedServiceIdentity identity;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of CloudAccountInner class.
+ */
+ public CloudAccountInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public CloudAccountProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the CloudAccountInner object itself.
+ */
+ public CloudAccountInner withProperties(CloudAccountProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the identity property: The managed service identities assigned to this resource.
+ *
+ * @return the identity value.
+ */
+ public ManagedServiceIdentity identity() {
+ return this.identity;
+ }
+
+ /**
+ * Set the identity property: The managed service identities assigned to this resource.
+ *
+ * @param identity the identity value to set.
+ * @return the CloudAccountInner object itself.
+ */
+ public CloudAccountInner withIdentity(ManagedServiceIdentity identity) {
+ this.identity = identity;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public CloudAccountInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public CloudAccountInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("location", location());
+ jsonWriter.writeMapField("tags", tags(), (writer, element) -> writer.writeString(element));
+ jsonWriter.writeJsonField("properties", this.properties);
+ jsonWriter.writeJsonField("identity", this.identity);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of CloudAccountInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of CloudAccountInner if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the CloudAccountInner.
+ */
+ public static CloudAccountInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ CloudAccountInner deserializedCloudAccountInner = new CloudAccountInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedCloudAccountInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedCloudAccountInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedCloudAccountInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedCloudAccountInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedCloudAccountInner.withTags(tags);
+ } else if ("properties".equals(fieldName)) {
+ deserializedCloudAccountInner.properties = CloudAccountProperties.fromJson(reader);
+ } else if ("identity".equals(fieldName)) {
+ deserializedCloudAccountInner.identity = ManagedServiceIdentity.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedCloudAccountInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedCloudAccountInner;
+ });
+ }
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/CommvaultPlanInner.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/CommvaultPlanInner.java
new file mode 100644
index 000000000000..259f6435e99d
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/CommvaultPlanInner.java
@@ -0,0 +1,155 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.commvaultcontentstore.models.PlanProperties;
+import java.io.IOException;
+
+/**
+ * A Commvault Plan Resource.
+ */
+@Fluent
+public final class CommvaultPlanInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private PlanProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of CommvaultPlanInner class.
+ */
+ public CommvaultPlanInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public PlanProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the CommvaultPlanInner object itself.
+ */
+ public CommvaultPlanInner withProperties(PlanProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.properties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of CommvaultPlanInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of CommvaultPlanInner if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the CommvaultPlanInner.
+ */
+ public static CommvaultPlanInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ CommvaultPlanInner deserializedCommvaultPlanInner = new CommvaultPlanInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedCommvaultPlanInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedCommvaultPlanInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedCommvaultPlanInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedCommvaultPlanInner.properties = PlanProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedCommvaultPlanInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedCommvaultPlanInner;
+ });
+ }
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/CountProtectedItemsResponseInner.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/CountProtectedItemsResponseInner.java
new file mode 100644
index 000000000000..bd1432261aea
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/CountProtectedItemsResponseInner.java
@@ -0,0 +1,76 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * Response for count protected items operation.
+ */
+@Immutable
+public final class CountProtectedItemsResponseInner implements JsonSerializable {
+ /*
+ * The count of protected items.
+ */
+ private String count;
+
+ /**
+ * Creates an instance of CountProtectedItemsResponseInner class.
+ */
+ private CountProtectedItemsResponseInner() {
+ }
+
+ /**
+ * Get the count property: The count of protected items.
+ *
+ * @return the count value.
+ */
+ public String count() {
+ return this.count;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("count", this.count);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of CountProtectedItemsResponseInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of CountProtectedItemsResponseInner if the JsonReader was pointing to an instance of it, or
+ * null if it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the CountProtectedItemsResponseInner.
+ */
+ public static CountProtectedItemsResponseInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ CountProtectedItemsResponseInner deserializedCountProtectedItemsResponseInner
+ = new CountProtectedItemsResponseInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("count".equals(fieldName)) {
+ deserializedCountProtectedItemsResponseInner.count = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedCountProtectedItemsResponseInner;
+ });
+ }
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/LatestLinkedSaaSResponseInner.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/LatestLinkedSaaSResponseInner.java
new file mode 100644
index 000000000000..060e50eb5ea8
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/LatestLinkedSaaSResponseInner.java
@@ -0,0 +1,92 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * Response of get latest linked SaaS resource operation.
+ */
+@Immutable
+public final class LatestLinkedSaaSResponseInner implements JsonSerializable {
+ /*
+ * SaaS resource id
+ */
+ private String saaSResourceId;
+
+ /*
+ * Flag indicating if the SaaS resource is hidden
+ */
+ private Boolean isHiddenSaaS;
+
+ /**
+ * Creates an instance of LatestLinkedSaaSResponseInner class.
+ */
+ private LatestLinkedSaaSResponseInner() {
+ }
+
+ /**
+ * Get the saaSResourceId property: SaaS resource id.
+ *
+ * @return the saaSResourceId value.
+ */
+ public String saaSResourceId() {
+ return this.saaSResourceId;
+ }
+
+ /**
+ * Get the isHiddenSaaS property: Flag indicating if the SaaS resource is hidden.
+ *
+ * @return the isHiddenSaaS value.
+ */
+ public Boolean isHiddenSaaS() {
+ return this.isHiddenSaaS;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("saaSResourceId", this.saaSResourceId);
+ jsonWriter.writeBooleanField("isHiddenSaaS", this.isHiddenSaaS);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of LatestLinkedSaaSResponseInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of LatestLinkedSaaSResponseInner if the JsonReader was pointing to an instance of it, or null
+ * if it was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the LatestLinkedSaaSResponseInner.
+ */
+ public static LatestLinkedSaaSResponseInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ LatestLinkedSaaSResponseInner deserializedLatestLinkedSaaSResponseInner
+ = new LatestLinkedSaaSResponseInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("saaSResourceId".equals(fieldName)) {
+ deserializedLatestLinkedSaaSResponseInner.saaSResourceId = reader.getString();
+ } else if ("isHiddenSaaS".equals(fieldName)) {
+ deserializedLatestLinkedSaaSResponseInner.isHiddenSaaS = reader.getNullable(JsonReader::getBoolean);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedLatestLinkedSaaSResponseInner;
+ });
+ }
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/OperationInner.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/OperationInner.java
new file mode 100644
index 000000000000..bfad3e7e4435
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/OperationInner.java
@@ -0,0 +1,150 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.commvaultcontentstore.models.ActionType;
+import com.azure.resourcemanager.commvaultcontentstore.models.OperationDisplay;
+import com.azure.resourcemanager.commvaultcontentstore.models.Origin;
+import java.io.IOException;
+
+/**
+ * REST API Operation
+ *
+ * Details of a REST API operation, returned from the Resource Provider Operations API.
+ */
+@Immutable
+public final class OperationInner implements JsonSerializable {
+ /*
+ * The name of the operation, as per Resource-Based Access Control (RBAC). Examples:
+ * "Microsoft.Compute/virtualMachines/write", "Microsoft.Compute/virtualMachines/capture/action"
+ */
+ private String name;
+
+ /*
+ * Whether the operation applies to data-plane. This is "true" for data-plane operations and "false" for Azure
+ * Resource Manager/control-plane operations.
+ */
+ private Boolean isDataAction;
+
+ /*
+ * Localized display information for this particular operation.
+ */
+ private OperationDisplay display;
+
+ /*
+ * The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default
+ * value is "user,system"
+ */
+ private Origin origin;
+
+ /*
+ * Extensible enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs.
+ */
+ private ActionType actionType;
+
+ /**
+ * Creates an instance of OperationInner class.
+ */
+ private OperationInner() {
+ }
+
+ /**
+ * Get the name property: The name of the operation, as per Resource-Based Access Control (RBAC). Examples:
+ * "Microsoft.Compute/virtualMachines/write", "Microsoft.Compute/virtualMachines/capture/action".
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the isDataAction property: Whether the operation applies to data-plane. This is "true" for data-plane
+ * operations and "false" for Azure Resource Manager/control-plane operations.
+ *
+ * @return the isDataAction value.
+ */
+ public Boolean isDataAction() {
+ return this.isDataAction;
+ }
+
+ /**
+ * Get the display property: Localized display information for this particular operation.
+ *
+ * @return the display value.
+ */
+ public OperationDisplay display() {
+ return this.display;
+ }
+
+ /**
+ * Get the origin property: The intended executor of the operation; as in Resource Based Access Control (RBAC) and
+ * audit logs UX. Default value is "user,system".
+ *
+ * @return the origin value.
+ */
+ public Origin origin() {
+ return this.origin;
+ }
+
+ /**
+ * Get the actionType property: Extensible enum. Indicates the action type. "Internal" refers to actions that are
+ * for internal only APIs.
+ *
+ * @return the actionType value.
+ */
+ public ActionType actionType() {
+ return this.actionType;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("display", this.display);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of OperationInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of OperationInner if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IOException If an error occurs while reading the OperationInner.
+ */
+ public static OperationInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ OperationInner deserializedOperationInner = new OperationInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("name".equals(fieldName)) {
+ deserializedOperationInner.name = reader.getString();
+ } else if ("isDataAction".equals(fieldName)) {
+ deserializedOperationInner.isDataAction = reader.getNullable(JsonReader::getBoolean);
+ } else if ("display".equals(fieldName)) {
+ deserializedOperationInner.display = OperationDisplay.fromJson(reader);
+ } else if ("origin".equals(fieldName)) {
+ deserializedOperationInner.origin = Origin.fromString(reader.getString());
+ } else if ("actionType".equals(fieldName)) {
+ deserializedOperationInner.actionType = ActionType.fromString(reader.getString());
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedOperationInner;
+ });
+ }
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/ProtectedItemInner.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/ProtectedItemInner.java
new file mode 100644
index 000000000000..ac166fe20249
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/ProtectedItemInner.java
@@ -0,0 +1,144 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.commvaultcontentstore.models.ProtectedItemProperties;
+import java.io.IOException;
+
+/**
+ * Concrete proxy resource types can be created by aliasing this type using a specific property type.
+ */
+@Immutable
+public final class ProtectedItemInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private ProtectedItemProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of ProtectedItemInner class.
+ */
+ private ProtectedItemInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public ProtectedItemProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.properties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ProtectedItemInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ProtectedItemInner if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the ProtectedItemInner.
+ */
+ public static ProtectedItemInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ProtectedItemInner deserializedProtectedItemInner = new ProtectedItemInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedProtectedItemInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedProtectedItemInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedProtectedItemInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedProtectedItemInner.properties = ProtectedItemProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedProtectedItemInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedProtectedItemInner;
+ });
+ }
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/ProtectionGroupInner.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/ProtectionGroupInner.java
new file mode 100644
index 000000000000..fc8b35acef45
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/ProtectionGroupInner.java
@@ -0,0 +1,155 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.commvaultcontentstore.models.ProtectionGroupProperties;
+import java.io.IOException;
+
+/**
+ * A Commvault Plan Resource.
+ */
+@Fluent
+public final class ProtectionGroupInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private ProtectionGroupProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of ProtectionGroupInner class.
+ */
+ public ProtectionGroupInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public ProtectionGroupProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the ProtectionGroupInner object itself.
+ */
+ public ProtectionGroupInner withProperties(ProtectionGroupProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.properties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ProtectionGroupInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ProtectionGroupInner if the JsonReader was pointing to an instance of it, or null if it
+ * was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the ProtectionGroupInner.
+ */
+ public static ProtectionGroupInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ProtectionGroupInner deserializedProtectionGroupInner = new ProtectionGroupInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedProtectionGroupInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedProtectionGroupInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedProtectionGroupInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedProtectionGroupInner.properties = ProtectionGroupProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedProtectionGroupInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedProtectionGroupInner;
+ });
+ }
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/RestorePointsInner.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/RestorePointsInner.java
new file mode 100644
index 000000000000..dbf1568f189f
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/RestorePointsInner.java
@@ -0,0 +1,76 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * Restore points of a Protected Item.
+ */
+@Immutable
+public final class RestorePointsInner implements JsonSerializable {
+ /*
+ * The Commvault Protected Item Restore points
+ */
+ private List restoreTimes;
+
+ /**
+ * Creates an instance of RestorePointsInner class.
+ */
+ private RestorePointsInner() {
+ }
+
+ /**
+ * Get the restoreTimes property: The Commvault Protected Item Restore points.
+ *
+ * @return the restoreTimes value.
+ */
+ public List restoreTimes() {
+ return this.restoreTimes;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of RestorePointsInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of RestorePointsInner if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the RestorePointsInner.
+ */
+ public static RestorePointsInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ RestorePointsInner deserializedRestorePointsInner = new RestorePointsInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("restoreTimes".equals(fieldName)) {
+ List restoreTimes = reader.readArray(reader1 -> reader1.getLong());
+ deserializedRestorePointsInner.restoreTimes = restoreTimes;
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedRestorePointsInner;
+ });
+ }
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/RestoreProtectionItemResponseInner.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/RestoreProtectionItemResponseInner.java
new file mode 100644
index 000000000000..1d00f547d85d
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/RestoreProtectionItemResponseInner.java
@@ -0,0 +1,93 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * Restore resource response for a Protected Item.
+ */
+@Immutable
+public final class RestoreProtectionItemResponseInner implements JsonSerializable {
+ /*
+ * The Commvault response for taskId
+ */
+ private int taskId;
+
+ /*
+ * The jobIds returned from Commvault.
+ */
+ private List jobIds;
+
+ /**
+ * Creates an instance of RestoreProtectionItemResponseInner class.
+ */
+ private RestoreProtectionItemResponseInner() {
+ }
+
+ /**
+ * Get the taskId property: The Commvault response for taskId.
+ *
+ * @return the taskId value.
+ */
+ public int taskId() {
+ return this.taskId;
+ }
+
+ /**
+ * Get the jobIds property: The jobIds returned from Commvault.
+ *
+ * @return the jobIds value.
+ */
+ public List jobIds() {
+ return this.jobIds;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of RestoreProtectionItemResponseInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of RestoreProtectionItemResponseInner if the JsonReader was pointing to an instance of it, or
+ * null if it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the RestoreProtectionItemResponseInner.
+ */
+ public static RestoreProtectionItemResponseInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ RestoreProtectionItemResponseInner deserializedRestoreProtectionItemResponseInner
+ = new RestoreProtectionItemResponseInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("taskId".equals(fieldName)) {
+ deserializedRestoreProtectionItemResponseInner.taskId = reader.getInt();
+ } else if ("jobIds".equals(fieldName)) {
+ List jobIds = reader.readArray(reader1 -> reader1.getString());
+ deserializedRestoreProtectionItemResponseInner.jobIds = jobIds;
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedRestoreProtectionItemResponseInner;
+ });
+ }
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/RoleMappingInner.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/RoleMappingInner.java
new file mode 100644
index 000000000000..b862029e80c6
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/RoleMappingInner.java
@@ -0,0 +1,156 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.commvaultcontentstore.models.RoleMappingProperties;
+import java.io.IOException;
+
+/**
+ * A Commvault Role Mapping Resource. Singleton per Cloud Account - maps Entra security groups to Commvault roles for
+ * RBAC enforcement.
+ */
+@Fluent
+public final class RoleMappingInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private RoleMappingProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of RoleMappingInner class.
+ */
+ public RoleMappingInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public RoleMappingProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the RoleMappingInner object itself.
+ */
+ public RoleMappingInner withProperties(RoleMappingProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.properties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of RoleMappingInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of RoleMappingInner if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the RoleMappingInner.
+ */
+ public static RoleMappingInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ RoleMappingInner deserializedRoleMappingInner = new RoleMappingInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedRoleMappingInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedRoleMappingInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedRoleMappingInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedRoleMappingInner.properties = RoleMappingProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedRoleMappingInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedRoleMappingInner;
+ });
+ }
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/SaaSResourceDetailsResponseInner.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/SaaSResourceDetailsResponseInner.java
new file mode 100644
index 000000000000..8748ac5dfea9
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/SaaSResourceDetailsResponseInner.java
@@ -0,0 +1,144 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * Marketplace SaaS resource details.
+ */
+@Immutable
+public final class SaaSResourceDetailsResponseInner extends ProxyResource {
+ /*
+ * Id of the Marketplace SaaS Resource
+ */
+ private String saaSResourceId;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of SaaSResourceDetailsResponseInner class.
+ */
+ private SaaSResourceDetailsResponseInner() {
+ }
+
+ /**
+ * Get the saaSResourceId property: Id of the Marketplace SaaS Resource.
+ *
+ * @return the saaSResourceId value.
+ */
+ public String saaSResourceId() {
+ return this.saaSResourceId;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("saaSResourceId", this.saaSResourceId);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of SaaSResourceDetailsResponseInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of SaaSResourceDetailsResponseInner if the JsonReader was pointing to an instance of it, or
+ * null if it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the SaaSResourceDetailsResponseInner.
+ */
+ public static SaaSResourceDetailsResponseInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ SaaSResourceDetailsResponseInner deserializedSaaSResourceDetailsResponseInner
+ = new SaaSResourceDetailsResponseInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedSaaSResourceDetailsResponseInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedSaaSResourceDetailsResponseInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedSaaSResourceDetailsResponseInner.type = reader.getString();
+ } else if ("saaSResourceId".equals(fieldName)) {
+ deserializedSaaSResourceDetailsResponseInner.saaSResourceId = reader.getString();
+ } else if ("systemData".equals(fieldName)) {
+ deserializedSaaSResourceDetailsResponseInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedSaaSResourceDetailsResponseInner;
+ });
+ }
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/StorageInner.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/StorageInner.java
new file mode 100644
index 000000000000..0626530c13d9
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/StorageInner.java
@@ -0,0 +1,155 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.commvaultcontentstore.models.StorageProperties;
+import java.io.IOException;
+
+/**
+ * A Commvault Storage Resource.
+ */
+@Fluent
+public final class StorageInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private StorageProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of StorageInner class.
+ */
+ public StorageInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public StorageProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the StorageInner object itself.
+ */
+ public StorageInner withProperties(StorageProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.properties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of StorageInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of StorageInner if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the StorageInner.
+ */
+ public static StorageInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ StorageInner deserializedStorageInner = new StorageInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedStorageInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedStorageInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedStorageInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedStorageInner.properties = StorageProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedStorageInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedStorageInner;
+ });
+ }
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/package-info.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/package-info.java
new file mode 100644
index 000000000000..f1efc474c446
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/models/package-info.java
@@ -0,0 +1,8 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+/**
+ * Package containing the inner data models for CommvaultContentStore.
+ */
+package com.azure.resourcemanager.commvaultcontentstore.fluent.models;
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/package-info.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/package-info.java
new file mode 100644
index 000000000000..4571843b10a6
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/fluent/package-info.java
@@ -0,0 +1,8 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+/**
+ * Package containing the service clients for CommvaultContentStore.
+ */
+package com.azure.resourcemanager.commvaultcontentstore.fluent;
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/BackupProtectionGroupResponseImpl.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/BackupProtectionGroupResponseImpl.java
new file mode 100644
index 000000000000..a971eea54b9a
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/BackupProtectionGroupResponseImpl.java
@@ -0,0 +1,43 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.implementation;
+
+import com.azure.resourcemanager.commvaultcontentstore.fluent.models.BackupProtectionGroupResponseInner;
+import com.azure.resourcemanager.commvaultcontentstore.models.BackupProtectionGroupResponse;
+import java.util.Collections;
+import java.util.List;
+
+public final class BackupProtectionGroupResponseImpl implements BackupProtectionGroupResponse {
+ private BackupProtectionGroupResponseInner innerObject;
+
+ private final com.azure.resourcemanager.commvaultcontentstore.CommvaultContentStoreManager serviceManager;
+
+ BackupProtectionGroupResponseImpl(BackupProtectionGroupResponseInner innerObject,
+ com.azure.resourcemanager.commvaultcontentstore.CommvaultContentStoreManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public int taskId() {
+ return this.innerModel().taskId();
+ }
+
+ public List jobIds() {
+ List inner = this.innerModel().jobIds();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public BackupProtectionGroupResponseInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.commvaultcontentstore.CommvaultContentStoreManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/CloudAccountImpl.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/CloudAccountImpl.java
new file mode 100644
index 000000000000..83b49e9eb9ab
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/CloudAccountImpl.java
@@ -0,0 +1,219 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.implementation;
+
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.Region;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.commvaultcontentstore.fluent.models.CloudAccountInner;
+import com.azure.resourcemanager.commvaultcontentstore.models.CloudAccount;
+import com.azure.resourcemanager.commvaultcontentstore.models.CloudAccountProperties;
+import com.azure.resourcemanager.commvaultcontentstore.models.CloudAccountUpdate;
+import com.azure.resourcemanager.commvaultcontentstore.models.CloudAccountUpdateProperties;
+import com.azure.resourcemanager.commvaultcontentstore.models.LatestLinkedSaaSResponse;
+import com.azure.resourcemanager.commvaultcontentstore.models.ManagedServiceIdentity;
+import com.azure.resourcemanager.commvaultcontentstore.models.SaaSData;
+import java.util.Collections;
+import java.util.Map;
+
+public final class CloudAccountImpl implements CloudAccount, CloudAccount.Definition, CloudAccount.Update {
+ private CloudAccountInner innerObject;
+
+ private final com.azure.resourcemanager.commvaultcontentstore.CommvaultContentStoreManager serviceManager;
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public String location() {
+ return this.innerModel().location();
+ }
+
+ public Map tags() {
+ Map inner = this.innerModel().tags();
+ if (inner != null) {
+ return Collections.unmodifiableMap(inner);
+ } else {
+ return Collections.emptyMap();
+ }
+ }
+
+ public CloudAccountProperties properties() {
+ return this.innerModel().properties();
+ }
+
+ public ManagedServiceIdentity identity() {
+ return this.innerModel().identity();
+ }
+
+ public SystemData systemData() {
+ return this.innerModel().systemData();
+ }
+
+ public Region region() {
+ return Region.fromName(this.regionName());
+ }
+
+ public String regionName() {
+ return this.location();
+ }
+
+ public String resourceGroupName() {
+ return resourceGroupName;
+ }
+
+ public CloudAccountInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.commvaultcontentstore.CommvaultContentStoreManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceGroupName;
+
+ private String cloudAccountName;
+
+ private CloudAccountUpdate updateProperties;
+
+ public CloudAccountImpl withExistingResourceGroup(String resourceGroupName) {
+ this.resourceGroupName = resourceGroupName;
+ return this;
+ }
+
+ public CloudAccount create() {
+ this.innerObject = serviceManager.serviceClient()
+ .getCloudAccounts()
+ .createOrUpdate(resourceGroupName, cloudAccountName, this.innerModel(), Context.NONE);
+ return this;
+ }
+
+ public CloudAccount create(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getCloudAccounts()
+ .createOrUpdate(resourceGroupName, cloudAccountName, this.innerModel(), context);
+ return this;
+ }
+
+ CloudAccountImpl(String name,
+ com.azure.resourcemanager.commvaultcontentstore.CommvaultContentStoreManager serviceManager) {
+ this.innerObject = new CloudAccountInner();
+ this.serviceManager = serviceManager;
+ this.cloudAccountName = name;
+ }
+
+ public CloudAccountImpl update() {
+ this.updateProperties = new CloudAccountUpdate();
+ return this;
+ }
+
+ public CloudAccount apply() {
+ this.innerObject = serviceManager.serviceClient()
+ .getCloudAccounts()
+ .update(resourceGroupName, cloudAccountName, updateProperties, Context.NONE);
+ return this;
+ }
+
+ public CloudAccount apply(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getCloudAccounts()
+ .update(resourceGroupName, cloudAccountName, updateProperties, context);
+ return this;
+ }
+
+ CloudAccountImpl(CloudAccountInner innerObject,
+ com.azure.resourcemanager.commvaultcontentstore.CommvaultContentStoreManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ this.resourceGroupName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "resourceGroups");
+ this.cloudAccountName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "cloudAccounts");
+ }
+
+ public CloudAccount refresh() {
+ this.innerObject = serviceManager.serviceClient()
+ .getCloudAccounts()
+ .getByResourceGroupWithResponse(resourceGroupName, cloudAccountName, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public CloudAccount refresh(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getCloudAccounts()
+ .getByResourceGroupWithResponse(resourceGroupName, cloudAccountName, context)
+ .getValue();
+ return this;
+ }
+
+ public CloudAccount linkSaaS(SaaSData body) {
+ return serviceManager.cloudAccounts().linkSaaS(resourceGroupName, cloudAccountName, body);
+ }
+
+ public CloudAccount linkSaaS(SaaSData body, Context context) {
+ return serviceManager.cloudAccounts().linkSaaS(resourceGroupName, cloudAccountName, body, context);
+ }
+
+ public Response latestLinkedSaaSWithResponse(Context context) {
+ return serviceManager.cloudAccounts()
+ .latestLinkedSaaSWithResponse(resourceGroupName, cloudAccountName, context);
+ }
+
+ public LatestLinkedSaaSResponse latestLinkedSaaS() {
+ return serviceManager.cloudAccounts().latestLinkedSaaS(resourceGroupName, cloudAccountName);
+ }
+
+ public CloudAccountImpl withRegion(Region location) {
+ this.innerModel().withLocation(location.toString());
+ return this;
+ }
+
+ public CloudAccountImpl withRegion(String location) {
+ this.innerModel().withLocation(location);
+ return this;
+ }
+
+ public CloudAccountImpl withTags(Map tags) {
+ if (isInCreateMode()) {
+ this.innerModel().withTags(tags);
+ return this;
+ } else {
+ this.updateProperties.withTags(tags);
+ return this;
+ }
+ }
+
+ public CloudAccountImpl withProperties(CloudAccountProperties properties) {
+ this.innerModel().withProperties(properties);
+ return this;
+ }
+
+ public CloudAccountImpl withIdentity(ManagedServiceIdentity identity) {
+ if (isInCreateMode()) {
+ this.innerModel().withIdentity(identity);
+ return this;
+ } else {
+ this.updateProperties.withIdentity(identity);
+ return this;
+ }
+ }
+
+ public CloudAccountImpl withProperties(CloudAccountUpdateProperties properties) {
+ this.updateProperties.withProperties(properties);
+ return this;
+ }
+
+ private boolean isInCreateMode() {
+ return this.innerModel() == null || this.innerModel().id() == null;
+ }
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/CloudAccountsClientImpl.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/CloudAccountsClientImpl.java
new file mode 100644
index 000000000000..775ab36bb5c4
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/CloudAccountsClientImpl.java
@@ -0,0 +1,1393 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.implementation;
+
+import com.azure.core.annotation.BodyParam;
+import com.azure.core.annotation.Delete;
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.Patch;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.Post;
+import com.azure.core.annotation.Put;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.BinaryData;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.commvaultcontentstore.fluent.CloudAccountsClient;
+import com.azure.resourcemanager.commvaultcontentstore.fluent.models.CloudAccountInner;
+import com.azure.resourcemanager.commvaultcontentstore.fluent.models.LatestLinkedSaaSResponseInner;
+import com.azure.resourcemanager.commvaultcontentstore.implementation.models.CloudAccountListResult;
+import com.azure.resourcemanager.commvaultcontentstore.models.CloudAccountUpdate;
+import com.azure.resourcemanager.commvaultcontentstore.models.SaaSData;
+import java.nio.ByteBuffer;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+
+/**
+ * An instance of this class provides access to all the operations defined in CloudAccountsClient.
+ */
+public final class CloudAccountsClientImpl implements CloudAccountsClient {
+ /**
+ * The proxy service used to perform REST calls.
+ */
+ private final CloudAccountsService service;
+
+ /**
+ * The service client containing this operation class.
+ */
+ private final CommvaultContentStoreManagementClientImpl client;
+
+ /**
+ * Initializes an instance of CloudAccountsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ CloudAccountsClientImpl(CommvaultContentStoreManagementClientImpl client) {
+ this.service
+ = RestProxy.create(CloudAccountsService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for CommvaultContentStoreManagementClientCloudAccounts to be used by the
+ * proxy service to perform REST calls.
+ */
+ @Host("{endpoint}")
+ @ServiceInterface(name = "CommvaultContentStoreManagementClientCloudAccounts")
+ public interface CloudAccountsService {
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Commvault.ContentStore/cloudAccounts/{cloudAccountName}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> getByResourceGroup(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("cloudAccountName") String cloudAccountName, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Commvault.ContentStore/cloudAccounts/{cloudAccountName}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response getByResourceGroupSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("cloudAccountName") String cloudAccountName, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Put("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Commvault.ContentStore/cloudAccounts/{cloudAccountName}")
+ @ExpectedResponses({ 200, 201 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> createOrUpdate(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("cloudAccountName") String cloudAccountName, @HeaderParam("Content-Type") String contentType,
+ @HeaderParam("Accept") String accept, @BodyParam("application/json") CloudAccountInner resource,
+ Context context);
+
+ @Put("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Commvault.ContentStore/cloudAccounts/{cloudAccountName}")
+ @ExpectedResponses({ 200, 201 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response createOrUpdateSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("cloudAccountName") String cloudAccountName, @HeaderParam("Content-Type") String contentType,
+ @HeaderParam("Accept") String accept, @BodyParam("application/json") CloudAccountInner resource,
+ Context context);
+
+ @Patch("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Commvault.ContentStore/cloudAccounts/{cloudAccountName}")
+ @ExpectedResponses({ 200, 202 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> update(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("cloudAccountName") String cloudAccountName, @HeaderParam("Content-Type") String contentType,
+ @HeaderParam("Accept") String accept, @BodyParam("application/json") CloudAccountUpdate properties,
+ Context context);
+
+ @Patch("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Commvault.ContentStore/cloudAccounts/{cloudAccountName}")
+ @ExpectedResponses({ 200, 202 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response updateSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("cloudAccountName") String cloudAccountName, @HeaderParam("Content-Type") String contentType,
+ @HeaderParam("Accept") String accept, @BodyParam("application/json") CloudAccountUpdate properties,
+ Context context);
+
+ @Headers({ "Accept: application/json;q=0.9", "Content-Type: application/json" })
+ @Delete("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Commvault.ContentStore/cloudAccounts/{cloudAccountName}")
+ @ExpectedResponses({ 202, 204 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> delete(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("cloudAccountName") String cloudAccountName, Context context);
+
+ @Headers({ "Accept: application/json;q=0.9", "Content-Type: application/json" })
+ @Delete("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Commvault.ContentStore/cloudAccounts/{cloudAccountName}")
+ @ExpectedResponses({ 202, 204 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response deleteSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("cloudAccountName") String cloudAccountName, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Commvault.ContentStore/cloudAccounts")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByResourceGroup(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Commvault.ContentStore/cloudAccounts")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response listByResourceGroupSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/providers/Commvault.ContentStore/cloudAccounts")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> list(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/providers/Commvault.ContentStore/cloudAccounts")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response listSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Post("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Commvault.ContentStore/cloudAccounts/{cloudAccountName}/linkSaaS")
+ @ExpectedResponses({ 200, 202 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> linkSaaS(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("cloudAccountName") String cloudAccountName, @HeaderParam("Content-Type") String contentType,
+ @HeaderParam("Accept") String accept, @BodyParam("application/json") SaaSData body, Context context);
+
+ @Post("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Commvault.ContentStore/cloudAccounts/{cloudAccountName}/linkSaaS")
+ @ExpectedResponses({ 200, 202 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response linkSaaSSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("cloudAccountName") String cloudAccountName, @HeaderParam("Content-Type") String contentType,
+ @HeaderParam("Accept") String accept, @BodyParam("application/json") SaaSData body, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Post("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Commvault.ContentStore/cloudAccounts/{cloudAccountName}/latestLinkedSaaS")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> latestLinkedSaaS(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("cloudAccountName") String cloudAccountName, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Post("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Commvault.ContentStore/cloudAccounts/{cloudAccountName}/latestLinkedSaaS")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response latestLinkedSaaSSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("cloudAccountName") String cloudAccountName, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByResourceGroupNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("endpoint") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response listByResourceGroupNextSync(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("endpoint") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listBySubscriptionNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("endpoint") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response listBySubscriptionNextSync(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("endpoint") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+ }
+
+ /**
+ * Get a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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 CloudAccount along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getByResourceGroupWithResponseAsync(String resourceGroupName,
+ String cloudAccountName) {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.getByResourceGroup(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, cloudAccountName, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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 CloudAccount on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getByResourceGroupAsync(String resourceGroupName, String cloudAccountName) {
+ return getByResourceGroupWithResponseAsync(resourceGroupName, cloudAccountName)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Get a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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 CloudAccount along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getByResourceGroupWithResponse(String resourceGroupName, String cloudAccountName,
+ Context context) {
+ final String accept = "application/json";
+ return service.getByResourceGroupSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, cloudAccountName, accept, context);
+ }
+
+ /**
+ * Get a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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 CloudAccount.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public CloudAccountInner getByResourceGroup(String resourceGroupName, String cloudAccountName) {
+ return getByResourceGroupWithResponse(resourceGroupName, cloudAccountName, Context.NONE).getValue();
+ }
+
+ /**
+ * Create a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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 Commvault Cloud Account Resource along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createOrUpdateWithResponseAsync(String resourceGroupName,
+ String cloudAccountName, CloudAccountInner resource) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.createOrUpdate(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, cloudAccountName, contentType, accept, resource,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Create a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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 Commvault Cloud Account Resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response createOrUpdateWithResponse(String resourceGroupName, String cloudAccountName,
+ CloudAccountInner resource) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.createOrUpdateSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, cloudAccountName, contentType, accept, resource,
+ Context.NONE);
+ }
+
+ /**
+ * Create a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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 Commvault Cloud Account Resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response createOrUpdateWithResponse(String resourceGroupName, String cloudAccountName,
+ CloudAccountInner resource, Context context) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.createOrUpdateSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, cloudAccountName, contentType, accept, resource,
+ context);
+ }
+
+ /**
+ * Create a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException 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 PollerFlux} for polling of a Commvault Cloud Account Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, CloudAccountInner>
+ beginCreateOrUpdateAsync(String resourceGroupName, String cloudAccountName, CloudAccountInner resource) {
+ Mono>> mono
+ = createOrUpdateWithResponseAsync(resourceGroupName, cloudAccountName, resource);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(),
+ CloudAccountInner.class, CloudAccountInner.class, this.client.getContext());
+ }
+
+ /**
+ * Create a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException 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 Commvault Cloud Account Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, CloudAccountInner> beginCreateOrUpdate(String resourceGroupName,
+ String cloudAccountName, CloudAccountInner resource) {
+ Response response = createOrUpdateWithResponse(resourceGroupName, cloudAccountName, resource);
+ return this.client.getLroResult(response, CloudAccountInner.class,
+ CloudAccountInner.class, Context.NONE);
+ }
+
+ /**
+ * Create a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException 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 Commvault Cloud Account Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, CloudAccountInner> beginCreateOrUpdate(String resourceGroupName,
+ String cloudAccountName, CloudAccountInner resource, Context context) {
+ Response response
+ = createOrUpdateWithResponse(resourceGroupName, cloudAccountName, resource, context);
+ return this.client.getLroResult(response, CloudAccountInner.class,
+ CloudAccountInner.class, context);
+ }
+
+ /**
+ * Create a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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 Commvault Cloud Account Resource on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createOrUpdateAsync(String resourceGroupName, String cloudAccountName,
+ CloudAccountInner resource) {
+ return beginCreateOrUpdateAsync(resourceGroupName, cloudAccountName, resource).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Create a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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 Commvault Cloud Account Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public CloudAccountInner createOrUpdate(String resourceGroupName, String cloudAccountName,
+ CloudAccountInner resource) {
+ return beginCreateOrUpdate(resourceGroupName, cloudAccountName, resource).getFinalResult();
+ }
+
+ /**
+ * Create a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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 Commvault Cloud Account Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public CloudAccountInner createOrUpdate(String resourceGroupName, String cloudAccountName,
+ CloudAccountInner resource, Context context) {
+ return beginCreateOrUpdate(resourceGroupName, cloudAccountName, resource, context).getFinalResult();
+ }
+
+ /**
+ * Update a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param properties The resource properties to be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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 Commvault Cloud Account Resource along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> updateWithResponseAsync(String resourceGroupName, String cloudAccountName,
+ CloudAccountUpdate properties) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.update(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, cloudAccountName, contentType, accept, properties,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Update a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param properties The resource properties to be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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 Commvault Cloud Account Resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response updateWithResponse(String resourceGroupName, String cloudAccountName,
+ CloudAccountUpdate properties) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.updateSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, cloudAccountName, contentType, accept, properties,
+ Context.NONE);
+ }
+
+ /**
+ * Update a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param properties The resource properties to be updated.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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 Commvault Cloud Account Resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response updateWithResponse(String resourceGroupName, String cloudAccountName,
+ CloudAccountUpdate properties, Context context) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.updateSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, cloudAccountName, contentType, accept, properties,
+ context);
+ }
+
+ /**
+ * Update a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param properties The resource properties to be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException 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 PollerFlux} for polling of a Commvault Cloud Account Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, CloudAccountInner> beginUpdateAsync(String resourceGroupName,
+ String cloudAccountName, CloudAccountUpdate properties) {
+ Mono>> mono
+ = updateWithResponseAsync(resourceGroupName, cloudAccountName, properties);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(),
+ CloudAccountInner.class, CloudAccountInner.class, this.client.getContext());
+ }
+
+ /**
+ * Update a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param properties The resource properties to be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException 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 Commvault Cloud Account Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, CloudAccountInner> beginUpdate(String resourceGroupName,
+ String cloudAccountName, CloudAccountUpdate properties) {
+ Response response = updateWithResponse(resourceGroupName, cloudAccountName, properties);
+ return this.client.getLroResult(response, CloudAccountInner.class,
+ CloudAccountInner.class, Context.NONE);
+ }
+
+ /**
+ * Update a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param properties The resource properties to be updated.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException 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 Commvault Cloud Account Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, CloudAccountInner> beginUpdate(String resourceGroupName,
+ String cloudAccountName, CloudAccountUpdate properties, Context context) {
+ Response response = updateWithResponse(resourceGroupName, cloudAccountName, properties, context);
+ return this.client.getLroResult(response, CloudAccountInner.class,
+ CloudAccountInner.class, context);
+ }
+
+ /**
+ * Update a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param properties The resource properties to be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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 Commvault Cloud Account Resource on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono updateAsync(String resourceGroupName, String cloudAccountName,
+ CloudAccountUpdate properties) {
+ return beginUpdateAsync(resourceGroupName, cloudAccountName, properties).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Update a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param properties The resource properties to be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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 Commvault Cloud Account Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public CloudAccountInner update(String resourceGroupName, String cloudAccountName, CloudAccountUpdate properties) {
+ return beginUpdate(resourceGroupName, cloudAccountName, properties).getFinalResult();
+ }
+
+ /**
+ * Update a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param properties The resource properties to be updated.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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 Commvault Cloud Account Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public CloudAccountInner update(String resourceGroupName, String cloudAccountName, CloudAccountUpdate properties,
+ Context context) {
+ return beginUpdate(resourceGroupName, cloudAccountName, properties, context).getFinalResult();
+ }
+
+ /**
+ * Delete a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException 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 Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> deleteWithResponseAsync(String resourceGroupName,
+ String cloudAccountName) {
+ return FluxUtil
+ .withContext(context -> service.delete(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, cloudAccountName, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Delete a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException 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 body along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response deleteWithResponse(String resourceGroupName, String cloudAccountName) {
+ return service.deleteSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, cloudAccountName, Context.NONE);
+ }
+
+ /**
+ * Delete a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException 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 body along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response deleteWithResponse(String resourceGroupName, String cloudAccountName,
+ Context context) {
+ return service.deleteSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, cloudAccountName, context);
+ }
+
+ /**
+ * Delete a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException 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 PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, Void> beginDeleteAsync(String resourceGroupName, String cloudAccountName) {
+ Mono>> mono = deleteWithResponseAsync(resourceGroupName, cloudAccountName);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class,
+ this.client.getContext());
+ }
+
+ /**
+ * Delete a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException 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)
+ public SyncPoller, Void> beginDelete(String resourceGroupName, String cloudAccountName) {
+ Response response = deleteWithResponse(resourceGroupName, cloudAccountName);
+ return this.client.getLroResult(response, Void.class, Void.class, Context.NONE);
+ }
+
+ /**
+ * Delete a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException 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)
+ public SyncPoller, Void> beginDelete(String resourceGroupName, String cloudAccountName,
+ Context context) {
+ Response response = deleteWithResponse(resourceGroupName, cloudAccountName, context);
+ return this.client.getLroResult(response, Void.class, Void.class, context);
+ }
+
+ /**
+ * Delete a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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 {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(String resourceGroupName, String cloudAccountName) {
+ return beginDeleteAsync(resourceGroupName, cloudAccountName).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Delete a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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)
+ public void delete(String resourceGroupName, String cloudAccountName) {
+ beginDelete(resourceGroupName, cloudAccountName).getFinalResult();
+ }
+
+ /**
+ * Delete a CloudAccount.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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)
+ public void delete(String resourceGroupName, String cloudAccountName, Context context) {
+ beginDelete(resourceGroupName, cloudAccountName, context).getFinalResult();
+ }
+
+ /**
+ * List CloudAccount resources by resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException 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 of a CloudAccount list operation along with {@link PagedResponse} on successful completion
+ * of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceGroupSinglePageAsync(String resourceGroupName) {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listByResourceGroup(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, accept, context))
+ .>map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(),
+ res.getHeaders(), res.getValue().value(), res.getValue().nextLink(), null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * List CloudAccount resources by resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException 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 of a CloudAccount list operation as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByResourceGroupAsync(String resourceGroupName) {
+ return new PagedFlux<>(() -> listByResourceGroupSinglePageAsync(resourceGroupName),
+ nextLink -> listByResourceGroupNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * List CloudAccount resources by resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException 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 of a CloudAccount list operation along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listByResourceGroupSinglePage(String resourceGroupName) {
+ final String accept = "application/json";
+ Response res = service.listByResourceGroupSync(this.client.getEndpoint(),
+ this.client.getApiVersion(), this.client.getSubscriptionId(), resourceGroupName, accept, Context.NONE);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * List CloudAccount resources by 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 ManagementException 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 of a CloudAccount list operation along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listByResourceGroupSinglePage(String resourceGroupName, Context context) {
+ final String accept = "application/json";
+ Response res = service.listByResourceGroupSync(this.client.getEndpoint(),
+ this.client.getApiVersion(), this.client.getSubscriptionId(), resourceGroupName, accept, context);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * List CloudAccount resources by resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException 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 of a CloudAccount list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByResourceGroup(String resourceGroupName) {
+ return new PagedIterable<>(() -> listByResourceGroupSinglePage(resourceGroupName),
+ nextLink -> listByResourceGroupNextSinglePage(nextLink));
+ }
+
+ /**
+ * List CloudAccount resources by 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 ManagementException 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 of a CloudAccount list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByResourceGroup(String resourceGroupName, Context context) {
+ return new PagedIterable<>(() -> listByResourceGroupSinglePage(resourceGroupName, context),
+ nextLink -> listByResourceGroupNextSinglePage(nextLink, context));
+ }
+
+ /**
+ * List CloudAccount resources by subscription ID.
+ *
+ * @throws ManagementException 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 of a CloudAccount list operation along with {@link PagedResponse} on successful completion
+ * of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync() {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.list(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), accept, context))
+ .>map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(),
+ res.getHeaders(), res.getValue().value(), res.getValue().nextLink(), null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * List CloudAccount resources by subscription ID.
+ *
+ * @throws ManagementException 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 of a CloudAccount list operation as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync() {
+ return new PagedFlux<>(() -> listSinglePageAsync(),
+ nextLink -> listBySubscriptionNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * List CloudAccount resources by subscription ID.
+ *
+ * @throws ManagementException 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 of a CloudAccount list operation along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listSinglePage() {
+ final String accept = "application/json";
+ Response res = service.listSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), accept, Context.NONE);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * List CloudAccount resources by subscription ID.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException 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 of a CloudAccount list operation along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listSinglePage(Context context) {
+ final String accept = "application/json";
+ Response res = service.listSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), accept, context);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * List CloudAccount resources by subscription ID.
+ *
+ * @throws ManagementException 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 of a CloudAccount list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list() {
+ return new PagedIterable<>(() -> listSinglePage(), nextLink -> listBySubscriptionNextSinglePage(nextLink));
+ }
+
+ /**
+ * List CloudAccount resources by subscription ID.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException 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 of a CloudAccount list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(Context context) {
+ return new PagedIterable<>(() -> listSinglePage(context),
+ nextLink -> listBySubscriptionNextSinglePage(nextLink, context));
+ }
+
+ /**
+ * Links a new SaaS to the cloud account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param body The content of the action request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException 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 body along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> linkSaaSWithResponseAsync(String resourceGroupName,
+ String cloudAccountName, SaaSData body) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return FluxUtil.withContext(context -> service.linkSaaS(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, cloudAccountName, contentType, accept, body, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Links a new SaaS to the cloud account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param body The content of the action request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException 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 body along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response linkSaaSWithResponse(String resourceGroupName, String cloudAccountName,
+ SaaSData body) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.linkSaaSSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, cloudAccountName, contentType, accept, body,
+ Context.NONE);
+ }
+
+ /**
+ * Links a new SaaS to the cloud account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param body The content of the action request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException 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 body along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response linkSaaSWithResponse(String resourceGroupName, String cloudAccountName, SaaSData body,
+ Context context) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.linkSaaSSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, cloudAccountName, contentType, accept, body, context);
+ }
+
+ /**
+ * Links a new SaaS to the cloud account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param body The content of the action request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException 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 PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, CloudAccountInner> beginLinkSaaSAsync(String resourceGroupName,
+ String cloudAccountName, SaaSData body) {
+ Mono>> mono = linkSaaSWithResponseAsync(resourceGroupName, cloudAccountName, body);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(),
+ CloudAccountInner.class, CloudAccountInner.class, this.client.getContext());
+ }
+
+ /**
+ * Links a new SaaS to the cloud account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param body The content of the action request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException 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)
+ public SyncPoller, CloudAccountInner> beginLinkSaaS(String resourceGroupName,
+ String cloudAccountName, SaaSData body) {
+ Response response = linkSaaSWithResponse(resourceGroupName, cloudAccountName, body);
+ return this.client.getLroResult(response, CloudAccountInner.class,
+ CloudAccountInner.class, Context.NONE);
+ }
+
+ /**
+ * Links a new SaaS to the cloud account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param body The content of the action request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException 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)
+ public SyncPoller, CloudAccountInner> beginLinkSaaS(String resourceGroupName,
+ String cloudAccountName, SaaSData body, Context context) {
+ Response response = linkSaaSWithResponse(resourceGroupName, cloudAccountName, body, context);
+ return this.client.getLroResult(response, CloudAccountInner.class,
+ CloudAccountInner.class, context);
+ }
+
+ /**
+ * Links a new SaaS to the cloud account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param body The content of the action request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException 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 body on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono linkSaaSAsync(String resourceGroupName, String cloudAccountName, SaaSData body) {
+ return beginLinkSaaSAsync(resourceGroupName, cloudAccountName, body).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Links a new SaaS to the cloud account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param body The content of the action request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public CloudAccountInner linkSaaS(String resourceGroupName, String cloudAccountName, SaaSData body) {
+ return beginLinkSaaS(resourceGroupName, cloudAccountName, body).getFinalResult();
+ }
+
+ /**
+ * Links a new SaaS to the cloud account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param body The content of the action request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public CloudAccountInner linkSaaS(String resourceGroupName, String cloudAccountName, SaaSData body,
+ Context context) {
+ return beginLinkSaaS(resourceGroupName, cloudAccountName, body, context).getFinalResult();
+ }
+
+ /**
+ * Returns the latest SaaS linked to the cloud account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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 get latest linked SaaS resource operation along with {@link Response} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> latestLinkedSaaSWithResponseAsync(String resourceGroupName,
+ String cloudAccountName) {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.latestLinkedSaaS(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, cloudAccountName, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Returns the latest SaaS linked to the cloud account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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 get latest linked SaaS resource operation on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono latestLinkedSaaSAsync(String resourceGroupName,
+ String cloudAccountName) {
+ return latestLinkedSaaSWithResponseAsync(resourceGroupName, cloudAccountName)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Returns the latest SaaS linked to the cloud account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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 get latest linked SaaS resource operation along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response latestLinkedSaaSWithResponse(String resourceGroupName,
+ String cloudAccountName, Context context) {
+ final String accept = "application/json";
+ return service.latestLinkedSaaSSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, cloudAccountName, accept, context);
+ }
+
+ /**
+ * Returns the latest SaaS linked to the cloud account.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudAccountName Name of the Cloud Account resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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 get latest linked SaaS resource operation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public LatestLinkedSaaSResponseInner latestLinkedSaaS(String resourceGroupName, String cloudAccountName) {
+ return latestLinkedSaaSWithResponse(resourceGroupName, cloudAccountName, Context.NONE).getValue();
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException 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 of a CloudAccount list operation along with {@link PagedResponse} on successful completion
+ * of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceGroupNextSinglePageAsync(String nextLink) {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context -> service.listByResourceGroupNext(nextLink, this.client.getEndpoint(), accept, context))
+ .>map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(),
+ res.getHeaders(), res.getValue().value(), res.getValue().nextLink(), null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException 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 of a CloudAccount list operation along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listByResourceGroupNextSinglePage(String nextLink) {
+ final String accept = "application/json";
+ Response res
+ = service.listByResourceGroupNextSync(nextLink, this.client.getEndpoint(), accept, Context.NONE);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException 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 of a CloudAccount list operation along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listByResourceGroupNextSinglePage(String nextLink, Context context) {
+ final String accept = "application/json";
+ Response res
+ = service.listByResourceGroupNextSync(nextLink, this.client.getEndpoint(), accept, context);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException 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 of a CloudAccount list operation along with {@link PagedResponse} on successful completion
+ * of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listBySubscriptionNextSinglePageAsync(String nextLink) {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context -> service.listBySubscriptionNext(nextLink, this.client.getEndpoint(), accept, context))
+ .>map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(),
+ res.getHeaders(), res.getValue().value(), res.getValue().nextLink(), null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException 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 of a CloudAccount list operation along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listBySubscriptionNextSinglePage(String nextLink) {
+ final String accept = "application/json";
+ Response res
+ = service.listBySubscriptionNextSync(nextLink, this.client.getEndpoint(), accept, Context.NONE);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException 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 of a CloudAccount list operation along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listBySubscriptionNextSinglePage(String nextLink, Context context) {
+ final String accept = "application/json";
+ Response res
+ = service.listBySubscriptionNextSync(nextLink, this.client.getEndpoint(), accept, context);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/CloudAccountsImpl.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/CloudAccountsImpl.java
new file mode 100644
index 000000000000..a625b733d66f
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/CloudAccountsImpl.java
@@ -0,0 +1,181 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.implementation;
+
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.SimpleResponse;
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.commvaultcontentstore.fluent.CloudAccountsClient;
+import com.azure.resourcemanager.commvaultcontentstore.fluent.models.CloudAccountInner;
+import com.azure.resourcemanager.commvaultcontentstore.fluent.models.LatestLinkedSaaSResponseInner;
+import com.azure.resourcemanager.commvaultcontentstore.models.CloudAccount;
+import com.azure.resourcemanager.commvaultcontentstore.models.CloudAccounts;
+import com.azure.resourcemanager.commvaultcontentstore.models.LatestLinkedSaaSResponse;
+import com.azure.resourcemanager.commvaultcontentstore.models.SaaSData;
+
+public final class CloudAccountsImpl implements CloudAccounts {
+ private static final ClientLogger LOGGER = new ClientLogger(CloudAccountsImpl.class);
+
+ private final CloudAccountsClient innerClient;
+
+ private final com.azure.resourcemanager.commvaultcontentstore.CommvaultContentStoreManager serviceManager;
+
+ public CloudAccountsImpl(CloudAccountsClient innerClient,
+ com.azure.resourcemanager.commvaultcontentstore.CommvaultContentStoreManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public Response getByResourceGroupWithResponse(String resourceGroupName, String cloudAccountName,
+ Context context) {
+ Response inner
+ = this.serviceClient().getByResourceGroupWithResponse(resourceGroupName, cloudAccountName, context);
+ return new SimpleResponse<>(inner.getRequest(), inner.getStatusCode(), inner.getHeaders(),
+ new CloudAccountImpl(inner.getValue(), this.manager()));
+ }
+
+ public CloudAccount getByResourceGroup(String resourceGroupName, String cloudAccountName) {
+ CloudAccountInner inner = this.serviceClient().getByResourceGroup(resourceGroupName, cloudAccountName);
+ if (inner != null) {
+ return new CloudAccountImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public void deleteByResourceGroup(String resourceGroupName, String cloudAccountName) {
+ this.serviceClient().delete(resourceGroupName, cloudAccountName);
+ }
+
+ public void delete(String resourceGroupName, String cloudAccountName, Context context) {
+ this.serviceClient().delete(resourceGroupName, cloudAccountName, context);
+ }
+
+ public PagedIterable listByResourceGroup(String resourceGroupName) {
+ PagedIterable inner = this.serviceClient().listByResourceGroup(resourceGroupName);
+ return ResourceManagerUtils.mapPage(inner, inner1 -> new CloudAccountImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable listByResourceGroup(String resourceGroupName, Context context) {
+ PagedIterable inner = this.serviceClient().listByResourceGroup(resourceGroupName, context);
+ return ResourceManagerUtils.mapPage(inner, inner1 -> new CloudAccountImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable list() {
+ PagedIterable inner = this.serviceClient().list();
+ return ResourceManagerUtils.mapPage(inner, inner1 -> new CloudAccountImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable list(Context context) {
+ PagedIterable inner = this.serviceClient().list(context);
+ return ResourceManagerUtils.mapPage(inner, inner1 -> new CloudAccountImpl(inner1, this.manager()));
+ }
+
+ public CloudAccount linkSaaS(String resourceGroupName, String cloudAccountName, SaaSData body) {
+ CloudAccountInner inner = this.serviceClient().linkSaaS(resourceGroupName, cloudAccountName, body);
+ if (inner != null) {
+ return new CloudAccountImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public CloudAccount linkSaaS(String resourceGroupName, String cloudAccountName, SaaSData body, Context context) {
+ CloudAccountInner inner = this.serviceClient().linkSaaS(resourceGroupName, cloudAccountName, body, context);
+ if (inner != null) {
+ return new CloudAccountImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public Response latestLinkedSaaSWithResponse(String resourceGroupName,
+ String cloudAccountName, Context context) {
+ Response inner
+ = this.serviceClient().latestLinkedSaaSWithResponse(resourceGroupName, cloudAccountName, context);
+ return new SimpleResponse<>(inner.getRequest(), inner.getStatusCode(), inner.getHeaders(),
+ new LatestLinkedSaaSResponseImpl(inner.getValue(), this.manager()));
+ }
+
+ public LatestLinkedSaaSResponse latestLinkedSaaS(String resourceGroupName, String cloudAccountName) {
+ LatestLinkedSaaSResponseInner inner
+ = this.serviceClient().latestLinkedSaaS(resourceGroupName, cloudAccountName);
+ if (inner != null) {
+ return new LatestLinkedSaaSResponseImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public CloudAccount getById(String id) {
+ String resourceGroupName = ResourceManagerUtils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String cloudAccountName = ResourceManagerUtils.getValueFromIdByName(id, "cloudAccounts");
+ if (cloudAccountName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'cloudAccounts'.", id)));
+ }
+ return this.getByResourceGroupWithResponse(resourceGroupName, cloudAccountName, Context.NONE).getValue();
+ }
+
+ public Response getByIdWithResponse(String id, Context context) {
+ String resourceGroupName = ResourceManagerUtils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String cloudAccountName = ResourceManagerUtils.getValueFromIdByName(id, "cloudAccounts");
+ if (cloudAccountName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'cloudAccounts'.", id)));
+ }
+ return this.getByResourceGroupWithResponse(resourceGroupName, cloudAccountName, context);
+ }
+
+ public void deleteById(String id) {
+ String resourceGroupName = ResourceManagerUtils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String cloudAccountName = ResourceManagerUtils.getValueFromIdByName(id, "cloudAccounts");
+ if (cloudAccountName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'cloudAccounts'.", id)));
+ }
+ this.delete(resourceGroupName, cloudAccountName, Context.NONE);
+ }
+
+ public void deleteByIdWithResponse(String id, Context context) {
+ String resourceGroupName = ResourceManagerUtils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String cloudAccountName = ResourceManagerUtils.getValueFromIdByName(id, "cloudAccounts");
+ if (cloudAccountName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'cloudAccounts'.", id)));
+ }
+ this.delete(resourceGroupName, cloudAccountName, context);
+ }
+
+ private CloudAccountsClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.commvaultcontentstore.CommvaultContentStoreManager manager() {
+ return this.serviceManager;
+ }
+
+ public CloudAccountImpl define(String name) {
+ return new CloudAccountImpl(name, this.manager());
+ }
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/CommvaultContentStoreManagementClientBuilder.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/CommvaultContentStoreManagementClientBuilder.java
new file mode 100644
index 000000000000..9914ea4c8416
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/CommvaultContentStoreManagementClientBuilder.java
@@ -0,0 +1,138 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.implementation;
+
+import com.azure.core.annotation.ServiceClientBuilder;
+import com.azure.core.http.HttpPipeline;
+import com.azure.core.http.HttpPipelineBuilder;
+import com.azure.core.http.policy.RetryPolicy;
+import com.azure.core.http.policy.UserAgentPolicy;
+import com.azure.core.management.AzureEnvironment;
+import com.azure.core.management.serializer.SerializerFactory;
+import com.azure.core.util.serializer.SerializerAdapter;
+import java.time.Duration;
+
+/**
+ * A builder for creating a new instance of the CommvaultContentStoreManagementClientImpl type.
+ */
+@ServiceClientBuilder(serviceClients = { CommvaultContentStoreManagementClientImpl.class })
+public final class CommvaultContentStoreManagementClientBuilder {
+ /*
+ * Service host
+ */
+ private String endpoint;
+
+ /**
+ * Sets Service host.
+ *
+ * @param endpoint the endpoint value.
+ * @return the CommvaultContentStoreManagementClientBuilder.
+ */
+ public CommvaultContentStoreManagementClientBuilder endpoint(String endpoint) {
+ this.endpoint = endpoint;
+ return this;
+ }
+
+ /*
+ * The ID of the target subscription. The value must be an UUID.
+ */
+ private String subscriptionId;
+
+ /**
+ * Sets The ID of the target subscription. The value must be an UUID.
+ *
+ * @param subscriptionId the subscriptionId value.
+ * @return the CommvaultContentStoreManagementClientBuilder.
+ */
+ public CommvaultContentStoreManagementClientBuilder subscriptionId(String subscriptionId) {
+ this.subscriptionId = subscriptionId;
+ return this;
+ }
+
+ /*
+ * The environment to connect to
+ */
+ private AzureEnvironment environment;
+
+ /**
+ * Sets The environment to connect to.
+ *
+ * @param environment the environment value.
+ * @return the CommvaultContentStoreManagementClientBuilder.
+ */
+ public CommvaultContentStoreManagementClientBuilder environment(AzureEnvironment environment) {
+ this.environment = environment;
+ return this;
+ }
+
+ /*
+ * The HTTP pipeline to send requests through
+ */
+ private HttpPipeline pipeline;
+
+ /**
+ * Sets The HTTP pipeline to send requests through.
+ *
+ * @param pipeline the pipeline value.
+ * @return the CommvaultContentStoreManagementClientBuilder.
+ */
+ public CommvaultContentStoreManagementClientBuilder pipeline(HttpPipeline pipeline) {
+ this.pipeline = pipeline;
+ return this;
+ }
+
+ /*
+ * The default poll interval for long-running operation
+ */
+ private Duration defaultPollInterval;
+
+ /**
+ * Sets The default poll interval for long-running operation.
+ *
+ * @param defaultPollInterval the defaultPollInterval value.
+ * @return the CommvaultContentStoreManagementClientBuilder.
+ */
+ public CommvaultContentStoreManagementClientBuilder defaultPollInterval(Duration defaultPollInterval) {
+ this.defaultPollInterval = defaultPollInterval;
+ return this;
+ }
+
+ /*
+ * The serializer to serialize an object into a string
+ */
+ private SerializerAdapter serializerAdapter;
+
+ /**
+ * Sets The serializer to serialize an object into a string.
+ *
+ * @param serializerAdapter the serializerAdapter value.
+ * @return the CommvaultContentStoreManagementClientBuilder.
+ */
+ public CommvaultContentStoreManagementClientBuilder serializerAdapter(SerializerAdapter serializerAdapter) {
+ this.serializerAdapter = serializerAdapter;
+ return this;
+ }
+
+ /**
+ * Builds an instance of CommvaultContentStoreManagementClientImpl with the provided parameters.
+ *
+ * @return an instance of CommvaultContentStoreManagementClientImpl.
+ */
+ public CommvaultContentStoreManagementClientImpl buildClient() {
+ String localEndpoint = (endpoint != null) ? endpoint : "https://management.azure.com";
+ AzureEnvironment localEnvironment = (environment != null) ? environment : AzureEnvironment.AZURE;
+ HttpPipeline localPipeline = (pipeline != null)
+ ? pipeline
+ : new HttpPipelineBuilder().policies(new UserAgentPolicy(), new RetryPolicy()).build();
+ Duration localDefaultPollInterval
+ = (defaultPollInterval != null) ? defaultPollInterval : Duration.ofSeconds(30);
+ SerializerAdapter localSerializerAdapter = (serializerAdapter != null)
+ ? serializerAdapter
+ : SerializerFactory.createDefaultManagementSerializerAdapter();
+ CommvaultContentStoreManagementClientImpl client = new CommvaultContentStoreManagementClientImpl(localPipeline,
+ localSerializerAdapter, localDefaultPollInterval, localEnvironment, localEndpoint, this.subscriptionId);
+ return client;
+ }
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/CommvaultContentStoreManagementClientImpl.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/CommvaultContentStoreManagementClientImpl.java
new file mode 100644
index 000000000000..adf276d71d42
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/CommvaultContentStoreManagementClientImpl.java
@@ -0,0 +1,436 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.implementation;
+
+import com.azure.core.annotation.ServiceClient;
+import com.azure.core.http.HttpHeaderName;
+import com.azure.core.http.HttpHeaders;
+import com.azure.core.http.HttpPipeline;
+import com.azure.core.http.HttpResponse;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.AzureEnvironment;
+import com.azure.core.management.exception.ManagementError;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.management.polling.PollerFactory;
+import com.azure.core.management.polling.SyncPollerFactory;
+import com.azure.core.util.BinaryData;
+import com.azure.core.util.Context;
+import com.azure.core.util.CoreUtils;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.core.util.polling.AsyncPollResponse;
+import com.azure.core.util.polling.LongRunningOperationStatus;
+import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.core.util.serializer.SerializerAdapter;
+import com.azure.core.util.serializer.SerializerEncoding;
+import com.azure.resourcemanager.commvaultcontentstore.fluent.CloudAccountsClient;
+import com.azure.resourcemanager.commvaultcontentstore.fluent.CommvaultContentStoreManagementClient;
+import com.azure.resourcemanager.commvaultcontentstore.fluent.OperationsClient;
+import com.azure.resourcemanager.commvaultcontentstore.fluent.PlansClient;
+import com.azure.resourcemanager.commvaultcontentstore.fluent.ProtectedItemsClient;
+import com.azure.resourcemanager.commvaultcontentstore.fluent.ProtectedItemsOperationGroupsClient;
+import com.azure.resourcemanager.commvaultcontentstore.fluent.ProtectionGroupsClient;
+import com.azure.resourcemanager.commvaultcontentstore.fluent.RoleMappingsClient;
+import com.azure.resourcemanager.commvaultcontentstore.fluent.SaaSOperationGroupsClient;
+import com.azure.resourcemanager.commvaultcontentstore.fluent.StoragesClient;
+import java.io.IOException;
+import java.lang.reflect.Type;
+import java.nio.ByteBuffer;
+import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
+import java.time.Duration;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+
+/**
+ * Initializes a new instance of the CommvaultContentStoreManagementClientImpl type.
+ */
+@ServiceClient(builder = CommvaultContentStoreManagementClientBuilder.class)
+public final class CommvaultContentStoreManagementClientImpl implements CommvaultContentStoreManagementClient {
+ /**
+ * Service host.
+ */
+ private final String endpoint;
+
+ /**
+ * Gets Service host.
+ *
+ * @return the endpoint value.
+ */
+ public String getEndpoint() {
+ return this.endpoint;
+ }
+
+ /**
+ * Version parameter.
+ */
+ private final String apiVersion;
+
+ /**
+ * Gets Version parameter.
+ *
+ * @return the apiVersion value.
+ */
+ public String getApiVersion() {
+ return this.apiVersion;
+ }
+
+ /**
+ * The ID of the target subscription. The value must be an UUID.
+ */
+ private final String subscriptionId;
+
+ /**
+ * Gets The ID of the target subscription. The value must be an UUID.
+ *
+ * @return the subscriptionId value.
+ */
+ public String getSubscriptionId() {
+ return this.subscriptionId;
+ }
+
+ /**
+ * The HTTP pipeline to send requests through.
+ */
+ private final HttpPipeline httpPipeline;
+
+ /**
+ * Gets The HTTP pipeline to send requests through.
+ *
+ * @return the httpPipeline value.
+ */
+ public HttpPipeline getHttpPipeline() {
+ return this.httpPipeline;
+ }
+
+ /**
+ * The serializer to serialize an object into a string.
+ */
+ private final SerializerAdapter serializerAdapter;
+
+ /**
+ * Gets The serializer to serialize an object into a string.
+ *
+ * @return the serializerAdapter value.
+ */
+ SerializerAdapter getSerializerAdapter() {
+ return this.serializerAdapter;
+ }
+
+ /**
+ * The default poll interval for long-running operation.
+ */
+ private final Duration defaultPollInterval;
+
+ /**
+ * Gets The default poll interval for long-running operation.
+ *
+ * @return the defaultPollInterval value.
+ */
+ public Duration getDefaultPollInterval() {
+ return this.defaultPollInterval;
+ }
+
+ /**
+ * The OperationsClient object to access its operations.
+ */
+ private final OperationsClient operations;
+
+ /**
+ * Gets the OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ public OperationsClient getOperations() {
+ return this.operations;
+ }
+
+ /**
+ * The CloudAccountsClient object to access its operations.
+ */
+ private final CloudAccountsClient cloudAccounts;
+
+ /**
+ * Gets the CloudAccountsClient object to access its operations.
+ *
+ * @return the CloudAccountsClient object.
+ */
+ public CloudAccountsClient getCloudAccounts() {
+ return this.cloudAccounts;
+ }
+
+ /**
+ * The SaaSOperationGroupsClient object to access its operations.
+ */
+ private final SaaSOperationGroupsClient saaSOperationGroups;
+
+ /**
+ * Gets the SaaSOperationGroupsClient object to access its operations.
+ *
+ * @return the SaaSOperationGroupsClient object.
+ */
+ public SaaSOperationGroupsClient getSaaSOperationGroups() {
+ return this.saaSOperationGroups;
+ }
+
+ /**
+ * The StoragesClient object to access its operations.
+ */
+ private final StoragesClient storages;
+
+ /**
+ * Gets the StoragesClient object to access its operations.
+ *
+ * @return the StoragesClient object.
+ */
+ public StoragesClient getStorages() {
+ return this.storages;
+ }
+
+ /**
+ * The PlansClient object to access its operations.
+ */
+ private final PlansClient plans;
+
+ /**
+ * Gets the PlansClient object to access its operations.
+ *
+ * @return the PlansClient object.
+ */
+ public PlansClient getPlans() {
+ return this.plans;
+ }
+
+ /**
+ * The ProtectionGroupsClient object to access its operations.
+ */
+ private final ProtectionGroupsClient protectionGroups;
+
+ /**
+ * Gets the ProtectionGroupsClient object to access its operations.
+ *
+ * @return the ProtectionGroupsClient object.
+ */
+ public ProtectionGroupsClient getProtectionGroups() {
+ return this.protectionGroups;
+ }
+
+ /**
+ * The ProtectedItemsClient object to access its operations.
+ */
+ private final ProtectedItemsClient protectedItems;
+
+ /**
+ * Gets the ProtectedItemsClient object to access its operations.
+ *
+ * @return the ProtectedItemsClient object.
+ */
+ public ProtectedItemsClient getProtectedItems() {
+ return this.protectedItems;
+ }
+
+ /**
+ * The ProtectedItemsOperationGroupsClient object to access its operations.
+ */
+ private final ProtectedItemsOperationGroupsClient protectedItemsOperationGroups;
+
+ /**
+ * Gets the ProtectedItemsOperationGroupsClient object to access its operations.
+ *
+ * @return the ProtectedItemsOperationGroupsClient object.
+ */
+ public ProtectedItemsOperationGroupsClient getProtectedItemsOperationGroups() {
+ return this.protectedItemsOperationGroups;
+ }
+
+ /**
+ * The RoleMappingsClient object to access its operations.
+ */
+ private final RoleMappingsClient roleMappings;
+
+ /**
+ * Gets the RoleMappingsClient object to access its operations.
+ *
+ * @return the RoleMappingsClient object.
+ */
+ public RoleMappingsClient getRoleMappings() {
+ return this.roleMappings;
+ }
+
+ /**
+ * Initializes an instance of CommvaultContentStoreManagementClient client.
+ *
+ * @param httpPipeline The HTTP pipeline to send requests through.
+ * @param serializerAdapter The serializer to serialize an object into a string.
+ * @param defaultPollInterval The default poll interval for long-running operation.
+ * @param environment The Azure environment.
+ * @param endpoint Service host.
+ * @param subscriptionId The ID of the target subscription. The value must be an UUID.
+ */
+ CommvaultContentStoreManagementClientImpl(HttpPipeline httpPipeline, SerializerAdapter serializerAdapter,
+ Duration defaultPollInterval, AzureEnvironment environment, String endpoint, String subscriptionId) {
+ this.httpPipeline = httpPipeline;
+ this.serializerAdapter = serializerAdapter;
+ this.defaultPollInterval = defaultPollInterval;
+ this.endpoint = endpoint;
+ this.subscriptionId = subscriptionId;
+ this.apiVersion = "2026-07-03-preview";
+ this.operations = new OperationsClientImpl(this);
+ this.cloudAccounts = new CloudAccountsClientImpl(this);
+ this.saaSOperationGroups = new SaaSOperationGroupsClientImpl(this);
+ this.storages = new StoragesClientImpl(this);
+ this.plans = new PlansClientImpl(this);
+ this.protectionGroups = new ProtectionGroupsClientImpl(this);
+ this.protectedItems = new ProtectedItemsClientImpl(this);
+ this.protectedItemsOperationGroups = new ProtectedItemsOperationGroupsClientImpl(this);
+ this.roleMappings = new RoleMappingsClientImpl(this);
+ }
+
+ /**
+ * Gets default client context.
+ *
+ * @return the default client context.
+ */
+ public Context getContext() {
+ return Context.NONE;
+ }
+
+ /**
+ * Merges default client context with provided context.
+ *
+ * @param context the context to be merged with default client context.
+ * @return the merged context.
+ */
+ public Context mergeContext(Context context) {
+ return CoreUtils.mergeContexts(this.getContext(), context);
+ }
+
+ /**
+ * Gets long running operation result.
+ *
+ * @param activationResponse the response of activation operation.
+ * @param httpPipeline the http pipeline.
+ * @param pollResultType type of poll result.
+ * @param finalResultType type of final result.
+ * @param context the context shared by all requests.
+ * @param type of poll result.
+ * @param type of final result.
+ * @return poller flux for poll result and final result.
+ */
+ public PollerFlux, U> getLroResult(Mono>> activationResponse,
+ HttpPipeline httpPipeline, Type pollResultType, Type finalResultType, Context context) {
+ return PollerFactory.create(serializerAdapter, httpPipeline, pollResultType, finalResultType,
+ defaultPollInterval, activationResponse, context);
+ }
+
+ /**
+ * Gets long running operation result.
+ *
+ * @param activationResponse the response of activation operation.
+ * @param pollResultType type of poll result.
+ * @param finalResultType type of final result.
+ * @param context the context shared by all requests.
+ * @param type of poll result.
+ * @param type of final result.
+ * @return SyncPoller for poll result and final result.
+ */
+ public SyncPoller, U> getLroResult(Response activationResponse,
+ Type pollResultType, Type finalResultType, Context context) {
+ return SyncPollerFactory.create(serializerAdapter, httpPipeline, pollResultType, finalResultType,
+ defaultPollInterval, () -> activationResponse, context);
+ }
+
+ /**
+ * Gets the final result, or an error, based on last async poll response.
+ *
+ * @param response the last async poll response.
+ * @param type of poll result.
+ * @param type of final result.
+ * @return the final result, or an error.
+ */
+ public Mono getLroFinalResultOrError(AsyncPollResponse, U> response) {
+ if (response.getStatus() != LongRunningOperationStatus.SUCCESSFULLY_COMPLETED) {
+ String errorMessage;
+ ManagementError managementError = null;
+ HttpResponse errorResponse = null;
+ PollResult.Error lroError = response.getValue().getError();
+ if (lroError != null) {
+ errorResponse = new HttpResponseImpl(lroError.getResponseStatusCode(), lroError.getResponseHeaders(),
+ lroError.getResponseBody());
+
+ errorMessage = response.getValue().getError().getMessage();
+ String errorBody = response.getValue().getError().getResponseBody();
+ if (errorBody != null) {
+ // try to deserialize error body to ManagementError
+ try {
+ managementError = this.getSerializerAdapter()
+ .deserialize(errorBody, ManagementError.class, SerializerEncoding.JSON);
+ if (managementError.getCode() == null || managementError.getMessage() == null) {
+ managementError = null;
+ }
+ } catch (IOException | RuntimeException ioe) {
+ LOGGER.logThrowableAsWarning(ioe);
+ }
+ }
+ } else {
+ // fallback to default error message
+ errorMessage = "Long running operation failed.";
+ }
+ if (managementError == null) {
+ // fallback to default ManagementError
+ managementError = new ManagementError(response.getStatus().toString(), errorMessage);
+ }
+ return Mono.error(new ManagementException(errorMessage, errorResponse, managementError));
+ } else {
+ return response.getFinalResult();
+ }
+ }
+
+ private static final class HttpResponseImpl extends HttpResponse {
+ private final int statusCode;
+
+ private final byte[] responseBody;
+
+ private final HttpHeaders httpHeaders;
+
+ HttpResponseImpl(int statusCode, HttpHeaders httpHeaders, String responseBody) {
+ super(null);
+ this.statusCode = statusCode;
+ this.httpHeaders = httpHeaders;
+ this.responseBody = responseBody == null ? new byte[0] : responseBody.getBytes(StandardCharsets.UTF_8);
+ }
+
+ public int getStatusCode() {
+ return statusCode;
+ }
+
+ public String getHeaderValue(String s) {
+ return httpHeaders.getValue(HttpHeaderName.fromString(s));
+ }
+
+ public HttpHeaders getHeaders() {
+ return httpHeaders;
+ }
+
+ public Flux getBody() {
+ return Flux.just(ByteBuffer.wrap(responseBody));
+ }
+
+ public Mono getBodyAsByteArray() {
+ return Mono.just(responseBody);
+ }
+
+ public Mono getBodyAsString() {
+ return Mono.just(new String(responseBody, StandardCharsets.UTF_8));
+ }
+
+ public Mono getBodyAsString(Charset charset) {
+ return Mono.just(new String(responseBody, charset));
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(CommvaultContentStoreManagementClientImpl.class);
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/CommvaultPlanImpl.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/CommvaultPlanImpl.java
new file mode 100644
index 000000000000..439938dc6e61
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/CommvaultPlanImpl.java
@@ -0,0 +1,130 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.implementation;
+
+import com.azure.core.management.SystemData;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.commvaultcontentstore.fluent.models.CommvaultPlanInner;
+import com.azure.resourcemanager.commvaultcontentstore.models.CommvaultPlan;
+import com.azure.resourcemanager.commvaultcontentstore.models.PlanProperties;
+
+public final class CommvaultPlanImpl implements CommvaultPlan, CommvaultPlan.Definition, CommvaultPlan.Update {
+ private CommvaultPlanInner innerObject;
+
+ private final com.azure.resourcemanager.commvaultcontentstore.CommvaultContentStoreManager serviceManager;
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public PlanProperties properties() {
+ return this.innerModel().properties();
+ }
+
+ public SystemData systemData() {
+ return this.innerModel().systemData();
+ }
+
+ public String resourceGroupName() {
+ return resourceGroupName;
+ }
+
+ public CommvaultPlanInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.commvaultcontentstore.CommvaultContentStoreManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceGroupName;
+
+ private String cloudAccountName;
+
+ private String planName;
+
+ public CommvaultPlanImpl withExistingCloudAccount(String resourceGroupName, String cloudAccountName) {
+ this.resourceGroupName = resourceGroupName;
+ this.cloudAccountName = cloudAccountName;
+ return this;
+ }
+
+ public CommvaultPlan create() {
+ this.innerObject = serviceManager.serviceClient()
+ .getPlans()
+ .createOrupdate(resourceGroupName, cloudAccountName, planName, this.innerModel(), Context.NONE);
+ return this;
+ }
+
+ public CommvaultPlan create(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getPlans()
+ .createOrupdate(resourceGroupName, cloudAccountName, planName, this.innerModel(), context);
+ return this;
+ }
+
+ CommvaultPlanImpl(String name,
+ com.azure.resourcemanager.commvaultcontentstore.CommvaultContentStoreManager serviceManager) {
+ this.innerObject = new CommvaultPlanInner();
+ this.serviceManager = serviceManager;
+ this.planName = name;
+ }
+
+ public CommvaultPlanImpl update() {
+ return this;
+ }
+
+ public CommvaultPlan apply() {
+ this.innerObject = serviceManager.serviceClient()
+ .getPlans()
+ .createOrupdate(resourceGroupName, cloudAccountName, planName, this.innerModel(), Context.NONE);
+ return this;
+ }
+
+ public CommvaultPlan apply(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getPlans()
+ .createOrupdate(resourceGroupName, cloudAccountName, planName, this.innerModel(), context);
+ return this;
+ }
+
+ CommvaultPlanImpl(CommvaultPlanInner innerObject,
+ com.azure.resourcemanager.commvaultcontentstore.CommvaultContentStoreManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ this.resourceGroupName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "resourceGroups");
+ this.cloudAccountName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "cloudAccounts");
+ this.planName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "plans");
+ }
+
+ public CommvaultPlan refresh() {
+ this.innerObject = serviceManager.serviceClient()
+ .getPlans()
+ .getWithResponse(resourceGroupName, cloudAccountName, planName, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public CommvaultPlan refresh(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getPlans()
+ .getWithResponse(resourceGroupName, cloudAccountName, planName, context)
+ .getValue();
+ return this;
+ }
+
+ public CommvaultPlanImpl withProperties(PlanProperties properties) {
+ this.innerModel().withProperties(properties);
+ return this;
+ }
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/CountProtectedItemsResponseImpl.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/CountProtectedItemsResponseImpl.java
new file mode 100644
index 000000000000..5df652653a49
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/CountProtectedItemsResponseImpl.java
@@ -0,0 +1,32 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.implementation;
+
+import com.azure.resourcemanager.commvaultcontentstore.fluent.models.CountProtectedItemsResponseInner;
+import com.azure.resourcemanager.commvaultcontentstore.models.CountProtectedItemsResponse;
+
+public final class CountProtectedItemsResponseImpl implements CountProtectedItemsResponse {
+ private CountProtectedItemsResponseInner innerObject;
+
+ private final com.azure.resourcemanager.commvaultcontentstore.CommvaultContentStoreManager serviceManager;
+
+ CountProtectedItemsResponseImpl(CountProtectedItemsResponseInner innerObject,
+ com.azure.resourcemanager.commvaultcontentstore.CommvaultContentStoreManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String count() {
+ return this.innerModel().count();
+ }
+
+ public CountProtectedItemsResponseInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.commvaultcontentstore.CommvaultContentStoreManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/LatestLinkedSaaSResponseImpl.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/LatestLinkedSaaSResponseImpl.java
new file mode 100644
index 000000000000..1ad7a93de4cf
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/LatestLinkedSaaSResponseImpl.java
@@ -0,0 +1,36 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.implementation;
+
+import com.azure.resourcemanager.commvaultcontentstore.fluent.models.LatestLinkedSaaSResponseInner;
+import com.azure.resourcemanager.commvaultcontentstore.models.LatestLinkedSaaSResponse;
+
+public final class LatestLinkedSaaSResponseImpl implements LatestLinkedSaaSResponse {
+ private LatestLinkedSaaSResponseInner innerObject;
+
+ private final com.azure.resourcemanager.commvaultcontentstore.CommvaultContentStoreManager serviceManager;
+
+ LatestLinkedSaaSResponseImpl(LatestLinkedSaaSResponseInner innerObject,
+ com.azure.resourcemanager.commvaultcontentstore.CommvaultContentStoreManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String saaSResourceId() {
+ return this.innerModel().saaSResourceId();
+ }
+
+ public Boolean isHiddenSaaS() {
+ return this.innerModel().isHiddenSaaS();
+ }
+
+ public LatestLinkedSaaSResponseInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.commvaultcontentstore.CommvaultContentStoreManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/OperationImpl.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/OperationImpl.java
new file mode 100644
index 000000000000..9e5c9ab0e9d8
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/OperationImpl.java
@@ -0,0 +1,51 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.implementation;
+
+import com.azure.resourcemanager.commvaultcontentstore.fluent.models.OperationInner;
+import com.azure.resourcemanager.commvaultcontentstore.models.ActionType;
+import com.azure.resourcemanager.commvaultcontentstore.models.Operation;
+import com.azure.resourcemanager.commvaultcontentstore.models.OperationDisplay;
+import com.azure.resourcemanager.commvaultcontentstore.models.Origin;
+
+public final class OperationImpl implements Operation {
+ private OperationInner innerObject;
+
+ private final com.azure.resourcemanager.commvaultcontentstore.CommvaultContentStoreManager serviceManager;
+
+ OperationImpl(OperationInner innerObject,
+ com.azure.resourcemanager.commvaultcontentstore.CommvaultContentStoreManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public Boolean isDataAction() {
+ return this.innerModel().isDataAction();
+ }
+
+ public OperationDisplay display() {
+ return this.innerModel().display();
+ }
+
+ public Origin origin() {
+ return this.innerModel().origin();
+ }
+
+ public ActionType actionType() {
+ return this.innerModel().actionType();
+ }
+
+ public OperationInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.commvaultcontentstore.CommvaultContentStoreManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/OperationsClientImpl.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/OperationsClientImpl.java
new file mode 100644
index 000000000000..4a7413b278f0
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/OperationsClientImpl.java
@@ -0,0 +1,242 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.implementation;
+
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.resourcemanager.commvaultcontentstore.fluent.OperationsClient;
+import com.azure.resourcemanager.commvaultcontentstore.fluent.models.OperationInner;
+import com.azure.resourcemanager.commvaultcontentstore.implementation.models.OperationListResult;
+import reactor.core.publisher.Mono;
+
+/**
+ * An instance of this class provides access to all the operations defined in OperationsClient.
+ */
+public final class OperationsClientImpl implements OperationsClient {
+ /**
+ * The proxy service used to perform REST calls.
+ */
+ private final OperationsService service;
+
+ /**
+ * The service client containing this operation class.
+ */
+ private final CommvaultContentStoreManagementClientImpl client;
+
+ /**
+ * Initializes an instance of OperationsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ OperationsClientImpl(CommvaultContentStoreManagementClientImpl client) {
+ this.service
+ = RestProxy.create(OperationsService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for CommvaultContentStoreManagementClientOperations to be used by the
+ * proxy service to perform REST calls.
+ */
+ @Host("{endpoint}")
+ @ServiceInterface(name = "CommvaultContentStoreManagementClientOperations")
+ public interface OperationsService {
+ @Headers({ "Content-Type: application/json" })
+ @Get("/providers/Commvault.ContentStore/operations")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> list(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/providers/Commvault.ContentStore/operations")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response listSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listNext(@PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("endpoint") String endpoint, @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response listNextSync(@PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("endpoint") String endpoint, @HeaderParam("Accept") String accept, Context context);
+ }
+
+ /**
+ * List the operations for the provider.
+ *
+ * @throws 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 list of REST API operations supported by an Azure Resource Provider along with {@link PagedResponse} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync() {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context -> service.list(this.client.getEndpoint(), this.client.getApiVersion(), accept, context))
+ .>map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(),
+ res.getHeaders(), res.getValue().value(), res.getValue().nextLink(), null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * List the operations for the provider.
+ *
+ * @throws 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 list of REST API operations supported by an Azure Resource Provider as paginated response with
+ * {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync() {
+ return new PagedFlux<>(() -> listSinglePageAsync(), nextLink -> listNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * List the operations for the provider.
+ *
+ * @throws 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 list of REST API operations supported by an Azure Resource Provider along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listSinglePage() {
+ final String accept = "application/json";
+ Response res
+ = service.listSync(this.client.getEndpoint(), this.client.getApiVersion(), accept, Context.NONE);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * List the operations for the provider.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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 list of REST API operations supported by an Azure Resource Provider along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listSinglePage(Context context) {
+ final String accept = "application/json";
+ Response res
+ = service.listSync(this.client.getEndpoint(), this.client.getApiVersion(), accept, context);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * List the operations for the provider.
+ *
+ * @throws 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 list of REST API operations supported by an Azure Resource Provider as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list() {
+ return new PagedIterable<>(() -> listSinglePage(), nextLink -> listNextSinglePage(nextLink));
+ }
+
+ /**
+ * List the operations for the provider.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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 list of REST API operations supported by an Azure Resource Provider as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(Context context) {
+ return new PagedIterable<>(() -> listSinglePage(context), nextLink -> listNextSinglePage(nextLink, context));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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 list of REST API operations supported by an Azure Resource Provider along with {@link PagedResponse} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listNextSinglePageAsync(String nextLink) {
+ final String accept = "application/json";
+ return FluxUtil.withContext(context -> service.listNext(nextLink, this.client.getEndpoint(), accept, context))
+ .>map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(),
+ res.getHeaders(), res.getValue().value(), res.getValue().nextLink(), null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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 list of REST API operations supported by an Azure Resource Provider along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listNextSinglePage(String nextLink) {
+ final String accept = "application/json";
+ Response res
+ = service.listNextSync(nextLink, this.client.getEndpoint(), accept, Context.NONE);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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 list of REST API operations supported by an Azure Resource Provider along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listNextSinglePage(String nextLink, Context context) {
+ final String accept = "application/json";
+ Response res = service.listNextSync(nextLink, this.client.getEndpoint(), accept, context);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/OperationsImpl.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/OperationsImpl.java
new file mode 100644
index 000000000000..562d47c5fbb7
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/OperationsImpl.java
@@ -0,0 +1,45 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.implementation;
+
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.commvaultcontentstore.fluent.OperationsClient;
+import com.azure.resourcemanager.commvaultcontentstore.fluent.models.OperationInner;
+import com.azure.resourcemanager.commvaultcontentstore.models.Operation;
+import com.azure.resourcemanager.commvaultcontentstore.models.Operations;
+
+public final class OperationsImpl implements Operations {
+ private static final ClientLogger LOGGER = new ClientLogger(OperationsImpl.class);
+
+ private final OperationsClient innerClient;
+
+ private final com.azure.resourcemanager.commvaultcontentstore.CommvaultContentStoreManager serviceManager;
+
+ public OperationsImpl(OperationsClient innerClient,
+ com.azure.resourcemanager.commvaultcontentstore.CommvaultContentStoreManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public PagedIterable list() {
+ PagedIterable inner = this.serviceClient().list();
+ return ResourceManagerUtils.mapPage(inner, inner1 -> new OperationImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable list(Context context) {
+ PagedIterable inner = this.serviceClient().list(context);
+ return ResourceManagerUtils.mapPage(inner, inner1 -> new OperationImpl(inner1, this.manager()));
+ }
+
+ private OperationsClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.commvaultcontentstore.CommvaultContentStoreManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/PlansClientImpl.java b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/PlansClientImpl.java
new file mode 100644
index 000000000000..f0a31e0f2c43
--- /dev/null
+++ b/sdk/commvaultcontentstore/azure-resourcemanager-commvaultcontentstore/src/main/java/com/azure/resourcemanager/commvaultcontentstore/implementation/PlansClientImpl.java
@@ -0,0 +1,767 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.commvaultcontentstore.implementation;
+
+import com.azure.core.annotation.BodyParam;
+import com.azure.core.annotation.Delete;
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.Put;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.BinaryData;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.commvaultcontentstore.fluent.PlansClient;
+import com.azure.resourcemanager.commvaultcontentstore.fluent.models.CommvaultPlanInner;
+import com.azure.resourcemanager.commvaultcontentstore.implementation.models.CommvaultPlanListResult;
+import java.nio.ByteBuffer;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+
+/**
+ * An instance of this class provides access to all the operations defined in PlansClient.
+ */
+public final class PlansClientImpl implements PlansClient {
+ /**
+ * The proxy service used to perform REST calls.
+ */
+ private final PlansService service;
+
+ /**
+ * The service client containing this operation class.
+ */
+ private final CommvaultContentStoreManagementClientImpl client;
+
+ /**
+ * Initializes an instance of PlansClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ PlansClientImpl(CommvaultContentStoreManagementClientImpl client) {
+ this.service = RestProxy.create(PlansService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for CommvaultContentStoreManagementClientPlans to be used by the proxy
+ * service to perform REST calls.
+ */
+ @Host("{endpoint}")
+ @ServiceInterface(name = "CommvaultContentStoreManagementClientPlans")
+ public interface PlansService {
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Commvault.ContentStore/cloudAccounts/{cloudAccountName}/plans/{planName}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono