diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt
index 112dc6d1a68f..9180f55f0aa1 100644
--- a/eng/versioning/version_client.txt
+++ b/eng/versioning/version_client.txt
@@ -305,6 +305,7 @@ com.azure.resourcemanager:azure-resourcemanager-deviceprovisioningservices;1.0.0
com.azure.resourcemanager:azure-resourcemanager-postgresqlflexibleserver;1.0.0-beta.1;1.0.0-beta.1
com.azure.resourcemanager:azure-resourcemanager-elastic;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-webpubsub;1.0.0-beta.1;1.0.0-beta.2
+com.azure.resourcemanager:azure-resourcemanager-hybriddatamanager;1.0.0-beta.1;1.0.0-beta.1
# Unreleased dependencies: Copy the entry from above, prepend "unreleased_" and remove the current
# version. Unreleased dependencies are only valid for dependency versions.
diff --git a/pom.xml b/pom.xml
index d50033058ed5..5191002dbac3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -760,6 +760,7 @@
sdk/healthbot
sdk/healthcareapis
sdk/hybridcompute
+ sdk/hybriddatamanager
sdk/hybridkubernetes
sdk/identity
sdk/imagebuilder
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/CHANGELOG.md b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/CHANGELOG.md
new file mode 100644
index 000000000000..6325e5464855
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/CHANGELOG.md
@@ -0,0 +1,5 @@
+# Release History
+
+## 1.0.0-beta.1 (2021-07-12)
+
+- Azure Resource Manager HybridData client library for Java. This package contains Microsoft Azure SDK for HybridData Management SDK. Package tag package-2019-06. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/README.md b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/README.md
new file mode 100644
index 000000000000..aaf7b7c5f2a0
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/README.md
@@ -0,0 +1,101 @@
+# Azure Resource Manager HybridData client library for Java
+
+Azure Resource Manager HybridData client library for Java.
+
+This package contains Microsoft Azure SDK for HybridData Management SDK. Package tag package-2019-06. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
+
+## We'd love to hear your feedback
+
+We're always working on improving our products and the way we communicate with our users. So we'd love to learn what's working and how we can do better.
+
+If you haven't already, please take a few minutes to [complete this short survey][survey] we have put together.
+
+Thank you in advance for your collaboration. We really appreciate your time!
+
+## Documentation
+
+Various documentation is available to help you get started
+
+- [API reference documentation][docs]
+
+## Getting started
+
+### Prerequisites
+
+- [Java Development Kit (JDK)][jdk] with version 8 or above
+- [Azure Subscription][azure_subscription]
+
+### Adding the package to your product
+
+[//]: # ({x-version-update-start;com.azure.resourcemanager:azure-resourcemanager-hybriddatamanager;current})
+```xml
+
+ com.azure.resourcemanager
+ azure-resourcemanager-hybriddatamanager
+ 1.0.0-beta.1
+
+```
+[//]: # ({x-version-update-end})
+
+### Include the recommended packages
+
+Azure Management Libraries require a `TokenCredential` implementation for authentication and an `HttpClient` implementation for HTTP client.
+
+[Azure Identity][azure_identity] package and [Azure Core Netty HTTP][azure_core_http_netty] package provide the default implementation.
+
+### Authentication
+
+By default, Azure Active Directory token authentication depends on correct configure of following environment variables.
+
+- `AZURE_CLIENT_ID` for Azure client ID.
+- `AZURE_TENANT_ID` for Azure tenant ID.
+- `AZURE_CLIENT_SECRET` or `AZURE_CLIENT_CERTIFICATE_PATH` for client secret or client certificate.
+
+In addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.
+
+With above configuration, `azure` client can be authenticated by following code:
+
+```java
+AzureProfile profile = new AzureProfile(AzureEnvironment.AZURE);
+TokenCredential credential = new DefaultAzureCredentialBuilder()
+ .authorityHost(profile.getEnvironment().getActiveDirectoryEndpoint())
+ .build();
+HybridDataManager manager = HybridDataManager
+ .authenticate(credential, profile);
+```
+
+The sample code assumes global Azure. Please change `AzureEnvironment.AZURE` variable if otherwise.
+
+See [Authentication][authenticate] for more options.
+
+## Key concepts
+
+See [API design][design] for general introduction on design and key concepts on Azure Management Libraries.
+
+## Examples
+
+
+
+## Troubleshooting
+
+## Next steps
+
+## Contributing
+
+For details on contributing to this repository, see the [contributing guide](https://github.com/Azure/azure-sdk-for-java/blob/main/CONTRIBUTING.md).
+
+1. Fork it
+1. Create your feature branch (`git checkout -b my-new-feature`)
+1. Commit your changes (`git commit -am 'Add some feature'`)
+1. Push to the branch (`git push origin my-new-feature`)
+1. Create new Pull Request
+
+
+[survey]: https://microsoft.qualtrics.com/jfe/form/SV_ehN0lIk2FKEBkwd?Q_CHL=DOCS
+[docs]: https://azure.github.io/azure-sdk-for-java/
+[jdk]: https://docs.microsoft.com/java/azure/jdk/
+[azure_subscription]: https://azure.microsoft.com/free/
+[azure_identity]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/identity/azure-identity
+[azure_core_http_netty]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/core/azure-core-http-netty
+[authenticate]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/resourcemanager/docs/AUTH.md
+[design]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/resourcemanager/docs/DESIGN.md
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/pom.xml b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/pom.xml
new file mode 100644
index 000000000000..9365deec21f4
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/pom.xml
@@ -0,0 +1,86 @@
+
+ 4.0.0
+
+ com.azure
+ azure-client-sdk-parent
+ 1.7.0
+ ../../parents/azure-client-sdk-parent
+
+
+ com.azure.resourcemanager
+ azure-resourcemanager-hybriddatamanager
+ 1.0.0-beta.1
+ jar
+
+ Microsoft Azure SDK for HybridData Management
+ This package contains Microsoft Azure SDK for HybridData Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. Package tag package-2019-06.
+ https://github.com/Azure/azure-sdk-for-java
+
+
+
+ The MIT License (MIT)
+ http://opensource.org/licenses/MIT
+ repo
+
+
+
+
+ https://github.com/Azure/azure-sdk-for-java
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ HEAD
+
+
+
+ microsoft
+ Microsoft
+
+
+
+ UTF-8
+
+
+
+
+ com.azure
+ azure-core
+ 1.18.0
+
+
+ com.azure
+ azure-core-management
+ 1.3.1
+
+
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+ 0.8.5
+
+ true
+
+
+
+ org.revapi
+ revapi-maven-plugin
+ 0.11.2
+
+
+
+ -
+
java.method.addedToInterface
+
+ -
+ true
+
.*
+ com\.azure\.resourcemanager(\.[^.]+)+\.fluent(\.[^.]+)*
+
+
+
+
+
+
+
+
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/HybridDataManager.java b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/HybridDataManager.java
new file mode 100644
index 000000000000..894fc119ee39
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/HybridDataManager.java
@@ -0,0 +1,311 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybriddatamanager;
+
+import com.azure.core.credential.TokenCredential;
+import com.azure.core.http.HttpClient;
+import com.azure.core.http.HttpPipeline;
+import com.azure.core.http.HttpPipelineBuilder;
+import com.azure.core.http.policy.AddDatePolicy;
+import com.azure.core.http.policy.HttpLogOptions;
+import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpPipelinePolicy;
+import com.azure.core.http.policy.HttpPolicyProviders;
+import com.azure.core.http.policy.RequestIdPolicy;
+import com.azure.core.http.policy.RetryPolicy;
+import com.azure.core.http.policy.UserAgentPolicy;
+import com.azure.core.management.http.policy.ArmChallengeAuthenticationPolicy;
+import com.azure.core.management.profile.AzureProfile;
+import com.azure.core.util.Configuration;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.hybriddatamanager.fluent.HybridDataManagementClient;
+import com.azure.resourcemanager.hybriddatamanager.implementation.DataManagersImpl;
+import com.azure.resourcemanager.hybriddatamanager.implementation.DataServicesImpl;
+import com.azure.resourcemanager.hybriddatamanager.implementation.DataStoreTypesImpl;
+import com.azure.resourcemanager.hybriddatamanager.implementation.DataStoresImpl;
+import com.azure.resourcemanager.hybriddatamanager.implementation.HybridDataManagementClientBuilder;
+import com.azure.resourcemanager.hybriddatamanager.implementation.JobDefinitionsImpl;
+import com.azure.resourcemanager.hybriddatamanager.implementation.JobsImpl;
+import com.azure.resourcemanager.hybriddatamanager.implementation.OperationsImpl;
+import com.azure.resourcemanager.hybriddatamanager.implementation.PublicKeysImpl;
+import com.azure.resourcemanager.hybriddatamanager.models.DataManagers;
+import com.azure.resourcemanager.hybriddatamanager.models.DataServices;
+import com.azure.resourcemanager.hybriddatamanager.models.DataStoreTypes;
+import com.azure.resourcemanager.hybriddatamanager.models.DataStores;
+import com.azure.resourcemanager.hybriddatamanager.models.JobDefinitions;
+import com.azure.resourcemanager.hybriddatamanager.models.Jobs;
+import com.azure.resourcemanager.hybriddatamanager.models.Operations;
+import com.azure.resourcemanager.hybriddatamanager.models.PublicKeys;
+import java.time.Duration;
+import java.time.temporal.ChronoUnit;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+/** Entry point to HybridDataManager. */
+public final class HybridDataManager {
+ private Operations operations;
+
+ private DataManagers dataManagers;
+
+ private DataServices dataServices;
+
+ private JobDefinitions jobDefinitions;
+
+ private Jobs jobs;
+
+ private DataStores dataStores;
+
+ private DataStoreTypes dataStoreTypes;
+
+ private PublicKeys publicKeys;
+
+ private final HybridDataManagementClient clientObject;
+
+ private HybridDataManager(HttpPipeline httpPipeline, AzureProfile profile, Duration defaultPollInterval) {
+ Objects.requireNonNull(httpPipeline, "'httpPipeline' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+ this.clientObject =
+ new HybridDataManagementClientBuilder()
+ .pipeline(httpPipeline)
+ .endpoint(profile.getEnvironment().getResourceManagerEndpoint())
+ .subscriptionId(profile.getSubscriptionId())
+ .defaultPollInterval(defaultPollInterval)
+ .buildClient();
+ }
+
+ /**
+ * Creates an instance of HybridData service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the HybridData service API instance.
+ */
+ public static HybridDataManager authenticate(TokenCredential credential, AzureProfile profile) {
+ Objects.requireNonNull(credential, "'credential' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+ return configure().authenticate(credential, profile);
+ }
+
+ /**
+ * Gets a Configurable instance that can be used to create HybridDataManager with optional configuration.
+ *
+ * @return the Configurable instance allowing configurations.
+ */
+ public static Configurable configure() {
+ return new HybridDataManager.Configurable();
+ }
+
+ /** The Configurable allowing configurations to be set. */
+ public static final class Configurable {
+ private final ClientLogger logger = new ClientLogger(Configurable.class);
+
+ private HttpClient httpClient;
+ private HttpLogOptions httpLogOptions;
+ private final List policies = new ArrayList<>();
+ private final List scopes = new ArrayList<>();
+ private RetryPolicy retryPolicy;
+ 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 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, "'retryPolicy' cannot be null.");
+ if (this.defaultPollInterval.isNegative()) {
+ throw logger.logExceptionAsError(new IllegalArgumentException("'httpPipeline' cannot be negative"));
+ }
+ return this;
+ }
+
+ /**
+ * Creates an instance of HybridData service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the HybridData service API instance.
+ */
+ public HybridDataManager authenticate(TokenCredential credential, AzureProfile profile) {
+ Objects.requireNonNull(credential, "'credential' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+
+ StringBuilder userAgentBuilder = new StringBuilder();
+ userAgentBuilder
+ .append("azsdk-java")
+ .append("-")
+ .append("com.azure.resourcemanager.hybriddatamanager")
+ .append("/")
+ .append("1.0.0-beta.1");
+ if (!Configuration.getGlobalConfiguration().get("AZURE_TELEMETRY_DISABLED", false)) {
+ userAgentBuilder
+ .append(" (")
+ .append(Configuration.getGlobalConfiguration().get("java.version"))
+ .append("; ")
+ .append(Configuration.getGlobalConfiguration().get("os.name"))
+ .append("; ")
+ .append(Configuration.getGlobalConfiguration().get("os.version"))
+ .append("; auto-generated)");
+ } else {
+ userAgentBuilder.append(" (auto-generated)");
+ }
+
+ if (scopes.isEmpty()) {
+ scopes.add(profile.getEnvironment().getManagementEndpoint() + "/.default");
+ }
+ if (retryPolicy == null) {
+ retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
+ }
+ List policies = new ArrayList<>();
+ policies.add(new UserAgentPolicy(userAgentBuilder.toString()));
+ policies.add(new RequestIdPolicy());
+ HttpPolicyProviders.addBeforeRetryPolicies(policies);
+ policies.add(retryPolicy);
+ policies.add(new AddDatePolicy());
+ policies.add(new ArmChallengeAuthenticationPolicy(credential, scopes.toArray(new String[0])));
+ policies.addAll(this.policies);
+ HttpPolicyProviders.addAfterRetryPolicies(policies);
+ policies.add(new HttpLoggingPolicy(httpLogOptions));
+ HttpPipeline httpPipeline =
+ new HttpPipelineBuilder()
+ .httpClient(httpClient)
+ .policies(policies.toArray(new HttpPipelinePolicy[0]))
+ .build();
+ return new HybridDataManager(httpPipeline, profile, defaultPollInterval);
+ }
+ }
+
+ /** @return Resource collection API of Operations. */
+ public Operations operations() {
+ if (this.operations == null) {
+ this.operations = new OperationsImpl(clientObject.getOperations(), this);
+ }
+ return operations;
+ }
+
+ /** @return Resource collection API of DataManagers. */
+ public DataManagers dataManagers() {
+ if (this.dataManagers == null) {
+ this.dataManagers = new DataManagersImpl(clientObject.getDataManagers(), this);
+ }
+ return dataManagers;
+ }
+
+ /** @return Resource collection API of DataServices. */
+ public DataServices dataServices() {
+ if (this.dataServices == null) {
+ this.dataServices = new DataServicesImpl(clientObject.getDataServices(), this);
+ }
+ return dataServices;
+ }
+
+ /** @return Resource collection API of JobDefinitions. */
+ public JobDefinitions jobDefinitions() {
+ if (this.jobDefinitions == null) {
+ this.jobDefinitions = new JobDefinitionsImpl(clientObject.getJobDefinitions(), this);
+ }
+ return jobDefinitions;
+ }
+
+ /** @return Resource collection API of Jobs. */
+ public Jobs jobs() {
+ if (this.jobs == null) {
+ this.jobs = new JobsImpl(clientObject.getJobs(), this);
+ }
+ return jobs;
+ }
+
+ /** @return Resource collection API of DataStores. */
+ public DataStores dataStores() {
+ if (this.dataStores == null) {
+ this.dataStores = new DataStoresImpl(clientObject.getDataStores(), this);
+ }
+ return dataStores;
+ }
+
+ /** @return Resource collection API of DataStoreTypes. */
+ public DataStoreTypes dataStoreTypes() {
+ if (this.dataStoreTypes == null) {
+ this.dataStoreTypes = new DataStoreTypesImpl(clientObject.getDataStoreTypes(), this);
+ }
+ return dataStoreTypes;
+ }
+
+ /** @return Resource collection API of PublicKeys. */
+ public PublicKeys publicKeys() {
+ if (this.publicKeys == null) {
+ this.publicKeys = new PublicKeysImpl(clientObject.getPublicKeys(), this);
+ }
+ return publicKeys;
+ }
+
+ /**
+ * @return Wrapped service client HybridDataManagementClient providing direct access to the underlying
+ * auto-generated API implementation, based on Azure REST API.
+ */
+ public HybridDataManagementClient serviceClient() {
+ return this.clientObject;
+ }
+}
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/DataManagersClient.java b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/DataManagersClient.java
new file mode 100644
index 000000000000..ac3f7b457d56
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/DataManagersClient.java
@@ -0,0 +1,324 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybriddatamanager.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.hybriddatamanager.fluent.models.DataManagerInner;
+import com.azure.resourcemanager.hybriddatamanager.models.DataManagerUpdateParameter;
+
+/** An instance of this class provides access to all the operations defined in DataManagersClient. */
+public interface DataManagersClient {
+ /**
+ * Lists all the data manager resources available under the subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return dataManager resources Collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists all the data manager resources available under the subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return dataManager resources Collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Lists all the data manager resources available under the given resource group.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return dataManager resources Collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists all the data manager resources available under the given resource group.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return dataManager resources Collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Gets information about the specified data manager resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified data manager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DataManagerInner getByResourceGroup(String resourceGroupName, String dataManagerName);
+
+ /**
+ * Gets information about the specified data manager resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified data manager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String dataManagerName, Context context);
+
+ /**
+ * Creates a new data manager resource with the specified parameters. Existing resources cannot be updated with this
+ * API and should instead be updated with the Update data manager resource API.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataManager Data manager resource details from 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 DataManager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DataManagerInner> beginCreate(
+ String resourceGroupName, String dataManagerName, DataManagerInner dataManager);
+
+ /**
+ * Creates a new data manager resource with the specified parameters. Existing resources cannot be updated with this
+ * API and should instead be updated with the Update data manager resource API.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataManager Data manager resource details from 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 DataManager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DataManagerInner> beginCreate(
+ String resourceGroupName, String dataManagerName, DataManagerInner dataManager, Context context);
+
+ /**
+ * Creates a new data manager resource with the specified parameters. Existing resources cannot be updated with this
+ * API and should instead be updated with the Update data manager resource API.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataManager Data manager resource details from 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 DataManager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DataManagerInner create(String resourceGroupName, String dataManagerName, DataManagerInner dataManager);
+
+ /**
+ * Creates a new data manager resource with the specified parameters. Existing resources cannot be updated with this
+ * API and should instead be updated with the Update data manager resource API.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataManager Data manager resource details from 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 DataManager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DataManagerInner create(
+ String resourceGroupName, String dataManagerName, DataManagerInner dataManager, Context context);
+
+ /**
+ * Deletes a data manager resource in Microsoft Azure.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String dataManagerName);
+
+ /**
+ * Deletes a data manager resource in Microsoft Azure.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String dataManagerName, Context context);
+
+ /**
+ * Deletes a data manager resource in Microsoft Azure.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 dataManagerName);
+
+ /**
+ * Deletes a data manager resource in Microsoft Azure.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 dataManagerName, Context context);
+
+ /**
+ * Updates the properties of an existing data manager resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataManagerUpdateParameter Data manager resource details from request body.
+ * @param ifMatch Defines the If-Match condition. The patch will be performed only if the ETag of the data manager
+ * resource on the server matches this value.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the DataManager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DataManagerInner> beginUpdate(
+ String resourceGroupName,
+ String dataManagerName,
+ DataManagerUpdateParameter dataManagerUpdateParameter,
+ String ifMatch);
+
+ /**
+ * Updates the properties of an existing data manager resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataManagerUpdateParameter Data manager resource details from request body.
+ * @param ifMatch Defines the If-Match condition. The patch will be performed only if the ETag of the data manager
+ * resource on the server matches this value.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the DataManager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DataManagerInner> beginUpdate(
+ String resourceGroupName,
+ String dataManagerName,
+ DataManagerUpdateParameter dataManagerUpdateParameter,
+ String ifMatch,
+ Context context);
+
+ /**
+ * Updates the properties of an existing data manager resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataManagerUpdateParameter Data manager resource details from request body.
+ * @param ifMatch Defines the If-Match condition. The patch will be performed only if the ETag of the data manager
+ * resource on the server matches this value.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the DataManager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DataManagerInner update(
+ String resourceGroupName,
+ String dataManagerName,
+ DataManagerUpdateParameter dataManagerUpdateParameter,
+ String ifMatch);
+
+ /**
+ * Updates the properties of an existing data manager resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataManagerUpdateParameter Data manager resource details from 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 DataManager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DataManagerInner update(
+ String resourceGroupName, String dataManagerName, DataManagerUpdateParameter dataManagerUpdateParameter);
+
+ /**
+ * Updates the properties of an existing data manager resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataManagerUpdateParameter Data manager resource details from request body.
+ * @param ifMatch Defines the If-Match condition. The patch will be performed only if the ETag of the data manager
+ * resource on the server matches this value.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the DataManager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DataManagerInner update(
+ String resourceGroupName,
+ String dataManagerName,
+ DataManagerUpdateParameter dataManagerUpdateParameter,
+ String ifMatch,
+ Context context);
+}
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/DataServicesClient.java b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/DataServicesClient.java
new file mode 100644
index 000000000000..6f7a9ba68f2c
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/DataServicesClient.java
@@ -0,0 +1,77 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybriddatamanager.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.hybriddatamanager.fluent.models.DataServiceInner;
+
+/** An instance of this class provides access to all the operations defined in DataServicesClient. */
+public interface DataServicesClient {
+ /**
+ * This method gets all the data services.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return data Service Collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDataManager(String resourceGroupName, String dataManagerName);
+
+ /**
+ * This method gets all the data services.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return data Service Collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDataManager(
+ String resourceGroupName, String dataManagerName, Context context);
+
+ /**
+ * Gets the data service that matches the data service name given.
+ *
+ * @param dataServiceName The name of the data service that is being queried.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the data service that matches the data service name given.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DataServiceInner get(String dataServiceName, String resourceGroupName, String dataManagerName);
+
+ /**
+ * Gets the data service that matches the data service name given.
+ *
+ * @param dataServiceName The name of the data service that is being queried.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the data service that matches the data service name given.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String dataServiceName, String resourceGroupName, String dataManagerName, Context context);
+}
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/DataStoreTypesClient.java b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/DataStoreTypesClient.java
new file mode 100644
index 000000000000..7c559d966037
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/DataStoreTypesClient.java
@@ -0,0 +1,77 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybriddatamanager.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.hybriddatamanager.fluent.models.DataStoreTypeInner;
+
+/** An instance of this class provides access to all the operations defined in DataStoreTypesClient. */
+public interface DataStoreTypesClient {
+ /**
+ * Gets all the data store/repository types that the resource supports.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the data store/repository types that the resource supports.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDataManager(String resourceGroupName, String dataManagerName);
+
+ /**
+ * Gets all the data store/repository types that the resource supports.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the data store/repository types that the resource supports.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDataManager(
+ String resourceGroupName, String dataManagerName, Context context);
+
+ /**
+ * Gets the data store/repository type given its name.
+ *
+ * @param dataStoreTypeName The data store/repository type name for which details are needed.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the data store/repository type given its name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DataStoreTypeInner get(String dataStoreTypeName, String resourceGroupName, String dataManagerName);
+
+ /**
+ * Gets the data store/repository type given its name.
+ *
+ * @param dataStoreTypeName The data store/repository type name for which details are needed.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the data store/repository type given its name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String dataStoreTypeName, String resourceGroupName, String dataManagerName, Context context);
+}
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/DataStoresClient.java b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/DataStoresClient.java
new file mode 100644
index 000000000000..3aa1f1f47dc8
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/DataStoresClient.java
@@ -0,0 +1,220 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybriddatamanager.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.hybriddatamanager.fluent.models.DataStoreInner;
+
+/** An instance of this class provides access to all the operations defined in DataStoresClient. */
+public interface DataStoresClient {
+ /**
+ * Gets all the data stores/repositories in the given resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the data stores/repositories in the given resource.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDataManager(String resourceGroupName, String dataManagerName);
+
+ /**
+ * Gets all the data stores/repositories in the given resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param filter OData Filter options.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the data stores/repositories in the given resource.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDataManager(
+ String resourceGroupName, String dataManagerName, String filter, Context context);
+
+ /**
+ * This method gets the data store/repository by name.
+ *
+ * @param dataStoreName The data store/repository name queried.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return data store.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DataStoreInner get(String dataStoreName, String resourceGroupName, String dataManagerName);
+
+ /**
+ * This method gets the data store/repository by name.
+ *
+ * @param dataStoreName The data store/repository name queried.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return data store.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String dataStoreName, String resourceGroupName, String dataManagerName, Context context);
+
+ /**
+ * Creates or updates the data store/repository in the data manager.
+ *
+ * @param dataStoreName The data store/repository name to be created or updated.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataStore The data store/repository object to be created or 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 data store.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DataStoreInner> beginCreateOrUpdate(
+ String dataStoreName, String resourceGroupName, String dataManagerName, DataStoreInner dataStore);
+
+ /**
+ * Creates or updates the data store/repository in the data manager.
+ *
+ * @param dataStoreName The data store/repository name to be created or updated.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataStore The data store/repository object to be created or 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 data store.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DataStoreInner> beginCreateOrUpdate(
+ String dataStoreName,
+ String resourceGroupName,
+ String dataManagerName,
+ DataStoreInner dataStore,
+ Context context);
+
+ /**
+ * Creates or updates the data store/repository in the data manager.
+ *
+ * @param dataStoreName The data store/repository name to be created or updated.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataStore The data store/repository object to be created or 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 data store.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DataStoreInner createOrUpdate(
+ String dataStoreName, String resourceGroupName, String dataManagerName, DataStoreInner dataStore);
+
+ /**
+ * Creates or updates the data store/repository in the data manager.
+ *
+ * @param dataStoreName The data store/repository name to be created or updated.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataStore The data store/repository object to be created or 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 data store.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DataStoreInner createOrUpdate(
+ String dataStoreName,
+ String resourceGroupName,
+ String dataManagerName,
+ DataStoreInner dataStore,
+ Context context);
+
+ /**
+ * This method deletes the given data store/repository.
+ *
+ * @param dataStoreName The data store/repository name to be deleted.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String dataStoreName, String resourceGroupName, String dataManagerName);
+
+ /**
+ * This method deletes the given data store/repository.
+ *
+ * @param dataStoreName The data store/repository name to be deleted.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String dataStoreName, String resourceGroupName, String dataManagerName, Context context);
+
+ /**
+ * This method deletes the given data store/repository.
+ *
+ * @param dataStoreName The data store/repository name to be deleted.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 dataStoreName, String resourceGroupName, String dataManagerName);
+
+ /**
+ * This method deletes the given data store/repository.
+ *
+ * @param dataStoreName The data store/repository name to be deleted.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 dataStoreName, String resourceGroupName, String dataManagerName, Context context);
+}
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/HybridDataManagementClient.java b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/HybridDataManagementClient.java
new file mode 100644
index 000000000000..90a7fd36c4c8
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/HybridDataManagementClient.java
@@ -0,0 +1,102 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybriddatamanager.fluent;
+
+import com.azure.core.http.HttpPipeline;
+import java.time.Duration;
+
+/** The interface for HybridDataManagementClient class. */
+public interface HybridDataManagementClient {
+ /**
+ * Gets The Subscription Id.
+ *
+ * @return the subscriptionId value.
+ */
+ String getSubscriptionId();
+
+ /**
+ * Gets server parameter.
+ *
+ * @return the endpoint value.
+ */
+ String getEndpoint();
+
+ /**
+ * Gets Api Version.
+ *
+ * @return the apiVersion value.
+ */
+ String getApiVersion();
+
+ /**
+ * Gets The HTTP pipeline to send requests through.
+ *
+ * @return the httpPipeline value.
+ */
+ HttpPipeline getHttpPipeline();
+
+ /**
+ * Gets The default poll interval for long-running operation.
+ *
+ * @return the defaultPollInterval value.
+ */
+ Duration getDefaultPollInterval();
+
+ /**
+ * Gets the OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ OperationsClient getOperations();
+
+ /**
+ * Gets the DataManagersClient object to access its operations.
+ *
+ * @return the DataManagersClient object.
+ */
+ DataManagersClient getDataManagers();
+
+ /**
+ * Gets the DataServicesClient object to access its operations.
+ *
+ * @return the DataServicesClient object.
+ */
+ DataServicesClient getDataServices();
+
+ /**
+ * Gets the JobDefinitionsClient object to access its operations.
+ *
+ * @return the JobDefinitionsClient object.
+ */
+ JobDefinitionsClient getJobDefinitions();
+
+ /**
+ * Gets the JobsClient object to access its operations.
+ *
+ * @return the JobsClient object.
+ */
+ JobsClient getJobs();
+
+ /**
+ * Gets the DataStoresClient object to access its operations.
+ *
+ * @return the DataStoresClient object.
+ */
+ DataStoresClient getDataStores();
+
+ /**
+ * Gets the DataStoreTypesClient object to access its operations.
+ *
+ * @return the DataStoreTypesClient object.
+ */
+ DataStoreTypesClient getDataStoreTypes();
+
+ /**
+ * Gets the PublicKeysClient object to access its operations.
+ *
+ * @return the PublicKeysClient object.
+ */
+ PublicKeysClient getPublicKeys();
+}
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/JobDefinitionsClient.java b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/JobDefinitionsClient.java
new file mode 100644
index 000000000000..1493648623d4
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/JobDefinitionsClient.java
@@ -0,0 +1,379 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybriddatamanager.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.hybriddatamanager.fluent.models.JobDefinitionInner;
+import com.azure.resourcemanager.hybriddatamanager.models.RunParameters;
+
+/** An instance of this class provides access to all the operations defined in JobDefinitionsClient. */
+public interface JobDefinitionsClient {
+ /**
+ * This method gets all the job definitions of the given data service name.
+ *
+ * @param dataServiceName The data service type of interest.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return job Definition Collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDataService(
+ String dataServiceName, String resourceGroupName, String dataManagerName);
+
+ /**
+ * This method gets all the job definitions of the given data service name.
+ *
+ * @param dataServiceName The data service type of interest.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param filter OData Filter options.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return job Definition Collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDataService(
+ String dataServiceName, String resourceGroupName, String dataManagerName, String filter, Context context);
+
+ /**
+ * This method gets job definition object by name.
+ *
+ * @param dataServiceName The data service name of the job definition.
+ * @param jobDefinitionName The job definition name that is being queried.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return job Definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobDefinitionInner get(
+ String dataServiceName, String jobDefinitionName, String resourceGroupName, String dataManagerName);
+
+ /**
+ * This method gets job definition object by name.
+ *
+ * @param dataServiceName The data service name of the job definition.
+ * @param jobDefinitionName The job definition name that is being queried.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return job Definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String dataServiceName,
+ String jobDefinitionName,
+ String resourceGroupName,
+ String dataManagerName,
+ Context context);
+
+ /**
+ * Creates or updates a job definition.
+ *
+ * @param dataServiceName The data service type of the job definition.
+ * @param jobDefinitionName The job definition name to be created or updated.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param jobDefinition Job Definition object to be created or 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 job Definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, JobDefinitionInner> beginCreateOrUpdate(
+ String dataServiceName,
+ String jobDefinitionName,
+ String resourceGroupName,
+ String dataManagerName,
+ JobDefinitionInner jobDefinition);
+
+ /**
+ * Creates or updates a job definition.
+ *
+ * @param dataServiceName The data service type of the job definition.
+ * @param jobDefinitionName The job definition name to be created or updated.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param jobDefinition Job Definition object to be created or 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 job Definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, JobDefinitionInner> beginCreateOrUpdate(
+ String dataServiceName,
+ String jobDefinitionName,
+ String resourceGroupName,
+ String dataManagerName,
+ JobDefinitionInner jobDefinition,
+ Context context);
+
+ /**
+ * Creates or updates a job definition.
+ *
+ * @param dataServiceName The data service type of the job definition.
+ * @param jobDefinitionName The job definition name to be created or updated.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param jobDefinition Job Definition object to be created or 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 job Definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobDefinitionInner createOrUpdate(
+ String dataServiceName,
+ String jobDefinitionName,
+ String resourceGroupName,
+ String dataManagerName,
+ JobDefinitionInner jobDefinition);
+
+ /**
+ * Creates or updates a job definition.
+ *
+ * @param dataServiceName The data service type of the job definition.
+ * @param jobDefinitionName The job definition name to be created or updated.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param jobDefinition Job Definition object to be created or 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 job Definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobDefinitionInner createOrUpdate(
+ String dataServiceName,
+ String jobDefinitionName,
+ String resourceGroupName,
+ String dataManagerName,
+ JobDefinitionInner jobDefinition,
+ Context context);
+
+ /**
+ * This method deletes the given job definition.
+ *
+ * @param dataServiceName The data service type of the job definition.
+ * @param jobDefinitionName The job definition name to be deleted.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String dataServiceName, String jobDefinitionName, String resourceGroupName, String dataManagerName);
+
+ /**
+ * This method deletes the given job definition.
+ *
+ * @param dataServiceName The data service type of the job definition.
+ * @param jobDefinitionName The job definition name to be deleted.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String dataServiceName,
+ String jobDefinitionName,
+ String resourceGroupName,
+ String dataManagerName,
+ Context context);
+
+ /**
+ * This method deletes the given job definition.
+ *
+ * @param dataServiceName The data service type of the job definition.
+ * @param jobDefinitionName The job definition name to be deleted.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 dataServiceName, String jobDefinitionName, String resourceGroupName, String dataManagerName);
+
+ /**
+ * This method deletes the given job definition.
+ *
+ * @param dataServiceName The data service type of the job definition.
+ * @param jobDefinitionName The job definition name to be deleted.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 dataServiceName,
+ String jobDefinitionName,
+ String resourceGroupName,
+ String dataManagerName,
+ Context context);
+
+ /**
+ * This method runs a job instance of the given job definition.
+ *
+ * @param dataServiceName The data service type of the job definition.
+ * @param jobDefinitionName Name of the job definition.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param runParameters Run time parameters for the job definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginRun(
+ String dataServiceName,
+ String jobDefinitionName,
+ String resourceGroupName,
+ String dataManagerName,
+ RunParameters runParameters);
+
+ /**
+ * This method runs a job instance of the given job definition.
+ *
+ * @param dataServiceName The data service type of the job definition.
+ * @param jobDefinitionName Name of the job definition.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param runParameters Run time parameters for the job definition.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginRun(
+ String dataServiceName,
+ String jobDefinitionName,
+ String resourceGroupName,
+ String dataManagerName,
+ RunParameters runParameters,
+ Context context);
+
+ /**
+ * This method runs a job instance of the given job definition.
+ *
+ * @param dataServiceName The data service type of the job definition.
+ * @param jobDefinitionName Name of the job definition.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param runParameters Run time parameters for the job definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void run(
+ String dataServiceName,
+ String jobDefinitionName,
+ String resourceGroupName,
+ String dataManagerName,
+ RunParameters runParameters);
+
+ /**
+ * This method runs a job instance of the given job definition.
+ *
+ * @param dataServiceName The data service type of the job definition.
+ * @param jobDefinitionName Name of the job definition.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param runParameters Run time parameters for the job definition.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void run(
+ String dataServiceName,
+ String jobDefinitionName,
+ String resourceGroupName,
+ String dataManagerName,
+ RunParameters runParameters,
+ Context context);
+
+ /**
+ * This method gets all the job definitions of the given data manager resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return job Definition Collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDataManager(String resourceGroupName, String dataManagerName);
+
+ /**
+ * This method gets all the job definitions of the given data manager resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param filter OData Filter options.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return job Definition Collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDataManager(
+ String resourceGroupName, String dataManagerName, String filter, Context context);
+}
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/JobsClient.java b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/JobsClient.java
new file mode 100644
index 000000000000..36d177f45607
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/JobsClient.java
@@ -0,0 +1,350 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybriddatamanager.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.hybriddatamanager.fluent.models.JobInner;
+
+/** An instance of this class provides access to all the operations defined in JobsClient. */
+public interface JobsClient {
+ /**
+ * This method gets all the jobs of a given job definition.
+ *
+ * @param dataServiceName The name of the data service of the job definition.
+ * @param jobDefinitionName The name of the job definition for which jobs are needed.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return job Collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByJobDefinition(
+ String dataServiceName, String jobDefinitionName, String resourceGroupName, String dataManagerName);
+
+ /**
+ * This method gets all the jobs of a given job definition.
+ *
+ * @param dataServiceName The name of the data service of the job definition.
+ * @param jobDefinitionName The name of the job definition for which jobs are needed.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param filter OData Filter options.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return job Collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByJobDefinition(
+ String dataServiceName,
+ String jobDefinitionName,
+ String resourceGroupName,
+ String dataManagerName,
+ String filter,
+ Context context);
+
+ /**
+ * This method gets a data manager job given the jobId.
+ *
+ * @param dataServiceName The name of the data service of the job definition.
+ * @param jobDefinitionName The name of the job definition of the job.
+ * @param jobId The job id of the job queried.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return data service job.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobInner get(
+ String dataServiceName,
+ String jobDefinitionName,
+ String jobId,
+ String resourceGroupName,
+ String dataManagerName);
+
+ /**
+ * This method gets a data manager job given the jobId.
+ *
+ * @param dataServiceName The name of the data service of the job definition.
+ * @param jobDefinitionName The name of the job definition of the job.
+ * @param jobId The job id of the job queried.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param expand $expand is supported on details parameter for job, which provides details on the job stages.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return data service job.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String dataServiceName,
+ String jobDefinitionName,
+ String jobId,
+ String resourceGroupName,
+ String dataManagerName,
+ String expand,
+ Context context);
+
+ /**
+ * Cancels the given job.
+ *
+ * @param dataServiceName The name of the data service of the job definition.
+ * @param jobDefinitionName The name of the job definition of the job.
+ * @param jobId The job id of the job queried.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginCancel(
+ String dataServiceName,
+ String jobDefinitionName,
+ String jobId,
+ String resourceGroupName,
+ String dataManagerName);
+
+ /**
+ * Cancels the given job.
+ *
+ * @param dataServiceName The name of the data service of the job definition.
+ * @param jobDefinitionName The name of the job definition of the job.
+ * @param jobId The job id of the job queried.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginCancel(
+ String dataServiceName,
+ String jobDefinitionName,
+ String jobId,
+ String resourceGroupName,
+ String dataManagerName,
+ Context context);
+
+ /**
+ * Cancels the given job.
+ *
+ * @param dataServiceName The name of the data service of the job definition.
+ * @param jobDefinitionName The name of the job definition of the job.
+ * @param jobId The job id of the job queried.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 cancel(
+ String dataServiceName,
+ String jobDefinitionName,
+ String jobId,
+ String resourceGroupName,
+ String dataManagerName);
+
+ /**
+ * Cancels the given job.
+ *
+ * @param dataServiceName The name of the data service of the job definition.
+ * @param jobDefinitionName The name of the job definition of the job.
+ * @param jobId The job id of the job queried.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 cancel(
+ String dataServiceName,
+ String jobDefinitionName,
+ String jobId,
+ String resourceGroupName,
+ String dataManagerName,
+ Context context);
+
+ /**
+ * Resumes the given job.
+ *
+ * @param dataServiceName The name of the data service of the job definition.
+ * @param jobDefinitionName The name of the job definition of the job.
+ * @param jobId The job id of the job queried.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginResume(
+ String dataServiceName,
+ String jobDefinitionName,
+ String jobId,
+ String resourceGroupName,
+ String dataManagerName);
+
+ /**
+ * Resumes the given job.
+ *
+ * @param dataServiceName The name of the data service of the job definition.
+ * @param jobDefinitionName The name of the job definition of the job.
+ * @param jobId The job id of the job queried.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginResume(
+ String dataServiceName,
+ String jobDefinitionName,
+ String jobId,
+ String resourceGroupName,
+ String dataManagerName,
+ Context context);
+
+ /**
+ * Resumes the given job.
+ *
+ * @param dataServiceName The name of the data service of the job definition.
+ * @param jobDefinitionName The name of the job definition of the job.
+ * @param jobId The job id of the job queried.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 resume(
+ String dataServiceName,
+ String jobDefinitionName,
+ String jobId,
+ String resourceGroupName,
+ String dataManagerName);
+
+ /**
+ * Resumes the given job.
+ *
+ * @param dataServiceName The name of the data service of the job definition.
+ * @param jobDefinitionName The name of the job definition of the job.
+ * @param jobId The job id of the job queried.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 resume(
+ String dataServiceName,
+ String jobDefinitionName,
+ String jobId,
+ String resourceGroupName,
+ String dataManagerName,
+ Context context);
+
+ /**
+ * This method gets all the jobs of a data service type in a given resource.
+ *
+ * @param dataServiceName The name of the data service of interest.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return job Collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDataService(String dataServiceName, String resourceGroupName, String dataManagerName);
+
+ /**
+ * This method gets all the jobs of a data service type in a given resource.
+ *
+ * @param dataServiceName The name of the data service of interest.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param filter OData Filter options.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return job Collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDataService(
+ String dataServiceName, String resourceGroupName, String dataManagerName, String filter, Context context);
+
+ /**
+ * This method gets all the jobs at the data manager resource level.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return job Collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDataManager(String resourceGroupName, String dataManagerName);
+
+ /**
+ * This method gets all the jobs at the data manager resource level.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param filter OData Filter options.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return job Collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDataManager(
+ String resourceGroupName, String dataManagerName, String filter, Context context);
+}
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/OperationsClient.java b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/OperationsClient.java
new file mode 100644
index 000000000000..ce7c30aecc9c
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/OperationsClient.java
@@ -0,0 +1,36 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybriddatamanager.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.hybriddatamanager.fluent.models.AvailableProviderOperationInner;
+
+/** An instance of this class provides access to all the operations defined in OperationsClient. */
+public interface OperationsClient {
+ /**
+ * The list of operations for Microsoft.HybridData 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 class for set of operations used for discovery of available provider operations.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * The list of operations for Microsoft.HybridData 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 class for set of operations used for discovery of available provider operations.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/PublicKeysClient.java b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/PublicKeysClient.java
new file mode 100644
index 000000000000..a8054df5c1f3
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/PublicKeysClient.java
@@ -0,0 +1,76 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybriddatamanager.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.hybriddatamanager.fluent.models.PublicKeyInner;
+
+/** An instance of this class provides access to all the operations defined in PublicKeysClient. */
+public interface PublicKeysClient {
+ /**
+ * This method gets the list view of public keys, however it will only have one element.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return publicKey Collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDataManager(String resourceGroupName, String dataManagerName);
+
+ /**
+ * This method gets the list view of public keys, however it will only have one element.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return publicKey Collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDataManager(String resourceGroupName, String dataManagerName, Context context);
+
+ /**
+ * This method gets the public keys.
+ *
+ * @param publicKeyName Name of the public key.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return public key.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PublicKeyInner get(String publicKeyName, String resourceGroupName, String dataManagerName);
+
+ /**
+ * This method gets the public keys.
+ *
+ * @param publicKeyName Name of the public key.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return public key.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String publicKeyName, String resourceGroupName, String dataManagerName, Context context);
+}
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/models/AvailableProviderOperationInner.java b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/models/AvailableProviderOperationInner.java
new file mode 100644
index 000000000000..930e8d42a295
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/models/AvailableProviderOperationInner.java
@@ -0,0 +1,148 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybriddatamanager.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.hybriddatamanager.models.AvailableProviderOperationDisplay;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Class represents provider operation. */
+@Fluent
+public final class AvailableProviderOperationInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AvailableProviderOperationInner.class);
+
+ /*
+ * Gets or Sets Name of the operations
+ */
+ @JsonProperty(value = "name", required = true)
+ private String name;
+
+ /*
+ * Gets or sets Display information
+ * Contains the localized display information for this particular
+ * operation/action
+ */
+ @JsonProperty(value = "display")
+ private AvailableProviderOperationDisplay display;
+
+ /*
+ * Gets or sets Origin
+ * The intended executor of the operation; governs the display of the
+ * operation in the RBAC UX and the audit logs UX.
+ * Default value is “user,system”
+ */
+ @JsonProperty(value = "origin")
+ private String origin;
+
+ /*
+ * Gets or sets Properties
+ * Reserved for future use
+ */
+ @JsonProperty(value = "properties")
+ private Object properties;
+
+ /**
+ * Get the name property: Gets or Sets Name of the operations.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name property: Gets or Sets Name of the operations.
+ *
+ * @param name the name value to set.
+ * @return the AvailableProviderOperationInner object itself.
+ */
+ public AvailableProviderOperationInner withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the display property: Gets or sets Display information Contains the localized display information for this
+ * particular operation/action.
+ *
+ * @return the display value.
+ */
+ public AvailableProviderOperationDisplay display() {
+ return this.display;
+ }
+
+ /**
+ * Set the display property: Gets or sets Display information Contains the localized display information for this
+ * particular operation/action.
+ *
+ * @param display the display value to set.
+ * @return the AvailableProviderOperationInner object itself.
+ */
+ public AvailableProviderOperationInner withDisplay(AvailableProviderOperationDisplay display) {
+ this.display = display;
+ return this;
+ }
+
+ /**
+ * Get the origin property: Gets or sets Origin The intended executor of the operation; governs the display of the
+ * operation in the RBAC UX and the audit logs UX. Default value is “user,system”.
+ *
+ * @return the origin value.
+ */
+ public String origin() {
+ return this.origin;
+ }
+
+ /**
+ * Set the origin property: Gets or sets Origin The intended executor of the operation; governs the display of the
+ * operation in the RBAC UX and the audit logs UX. Default value is “user,system”.
+ *
+ * @param origin the origin value to set.
+ * @return the AvailableProviderOperationInner object itself.
+ */
+ public AvailableProviderOperationInner withOrigin(String origin) {
+ this.origin = origin;
+ return this;
+ }
+
+ /**
+ * Get the properties property: Gets or sets Properties Reserved for future use.
+ *
+ * @return the properties value.
+ */
+ public Object properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: Gets or sets Properties Reserved for future use.
+ *
+ * @param properties the properties value to set.
+ * @return the AvailableProviderOperationInner object itself.
+ */
+ public AvailableProviderOperationInner withProperties(Object properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (name() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property name in model AvailableProviderOperationInner"));
+ }
+ if (display() != null) {
+ display().validate();
+ }
+ }
+}
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/models/DataManagerInner.java b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/models/DataManagerInner.java
new file mode 100644
index 000000000000..2f94ef2fce10
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/models/DataManagerInner.java
@@ -0,0 +1,96 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybriddatamanager.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.Resource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.hybriddatamanager.models.Sku;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/** The DataManager resource. */
+@Fluent
+public final class DataManagerInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(DataManagerInner.class);
+
+ /*
+ * Etag of the Resource.
+ */
+ @JsonProperty(value = "etag")
+ private String etag;
+
+ /*
+ * The sku type.
+ */
+ @JsonProperty(value = "sku")
+ private Sku sku;
+
+ /**
+ * Get the etag property: Etag of the Resource.
+ *
+ * @return the etag value.
+ */
+ public String etag() {
+ return this.etag;
+ }
+
+ /**
+ * Set the etag property: Etag of the Resource.
+ *
+ * @param etag the etag value to set.
+ * @return the DataManagerInner object itself.
+ */
+ public DataManagerInner withEtag(String etag) {
+ this.etag = etag;
+ return this;
+ }
+
+ /**
+ * Get the sku property: The sku type.
+ *
+ * @return the sku value.
+ */
+ public Sku sku() {
+ return this.sku;
+ }
+
+ /**
+ * Set the sku property: The sku type.
+ *
+ * @param sku the sku value to set.
+ * @return the DataManagerInner object itself.
+ */
+ public DataManagerInner withSku(Sku sku) {
+ this.sku = sku;
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public DataManagerInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public DataManagerInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (sku() != null) {
+ sku().validate();
+ }
+ }
+}
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/models/DataServiceInner.java b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/models/DataServiceInner.java
new file mode 100644
index 000000000000..728b986011bb
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/models/DataServiceInner.java
@@ -0,0 +1,114 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybriddatamanager.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.hybriddatamanager.models.DmsBaseObject;
+import com.azure.resourcemanager.hybriddatamanager.models.State;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Data Service. */
+@JsonFlatten
+@Fluent
+public class DataServiceInner extends DmsBaseObject {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(DataServiceInner.class);
+
+ /*
+ * State of the data service.
+ */
+ @JsonProperty(value = "properties.state", required = true)
+ private State state;
+
+ /*
+ * Supported data store types which can be used as a sink.
+ */
+ @JsonProperty(value = "properties.supportedDataSinkTypes")
+ private List supportedDataSinkTypes;
+
+ /*
+ * Supported data store types which can be used as a source.
+ */
+ @JsonProperty(value = "properties.supportedDataSourceTypes")
+ private List supportedDataSourceTypes;
+
+ /**
+ * Get the state property: State of the data service.
+ *
+ * @return the state value.
+ */
+ public State state() {
+ return this.state;
+ }
+
+ /**
+ * Set the state property: State of the data service.
+ *
+ * @param state the state value to set.
+ * @return the DataServiceInner object itself.
+ */
+ public DataServiceInner withState(State state) {
+ this.state = state;
+ return this;
+ }
+
+ /**
+ * Get the supportedDataSinkTypes property: Supported data store types which can be used as a sink.
+ *
+ * @return the supportedDataSinkTypes value.
+ */
+ public List supportedDataSinkTypes() {
+ return this.supportedDataSinkTypes;
+ }
+
+ /**
+ * Set the supportedDataSinkTypes property: Supported data store types which can be used as a sink.
+ *
+ * @param supportedDataSinkTypes the supportedDataSinkTypes value to set.
+ * @return the DataServiceInner object itself.
+ */
+ public DataServiceInner withSupportedDataSinkTypes(List supportedDataSinkTypes) {
+ this.supportedDataSinkTypes = supportedDataSinkTypes;
+ return this;
+ }
+
+ /**
+ * Get the supportedDataSourceTypes property: Supported data store types which can be used as a source.
+ *
+ * @return the supportedDataSourceTypes value.
+ */
+ public List supportedDataSourceTypes() {
+ return this.supportedDataSourceTypes;
+ }
+
+ /**
+ * Set the supportedDataSourceTypes property: Supported data store types which can be used as a source.
+ *
+ * @param supportedDataSourceTypes the supportedDataSourceTypes value to set.
+ * @return the DataServiceInner object itself.
+ */
+ public DataServiceInner withSupportedDataSourceTypes(List supportedDataSourceTypes) {
+ this.supportedDataSourceTypes = supportedDataSourceTypes;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (state() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property state in model DataServiceInner"));
+ }
+ }
+}
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/models/DataStoreInner.java b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/models/DataStoreInner.java
new file mode 100644
index 000000000000..6f62e9fb0286
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/models/DataStoreInner.java
@@ -0,0 +1,184 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybriddatamanager.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.hybriddatamanager.models.CustomerSecret;
+import com.azure.resourcemanager.hybriddatamanager.models.DmsBaseObject;
+import com.azure.resourcemanager.hybriddatamanager.models.State;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Data store. */
+@JsonFlatten
+@Fluent
+public class DataStoreInner extends DmsBaseObject {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(DataStoreInner.class);
+
+ /*
+ * Arm Id for the manager resource to which the data source is associated.
+ * This is optional.
+ */
+ @JsonProperty(value = "properties.repositoryId")
+ private String repositoryId;
+
+ /*
+ * State of the data source.
+ */
+ @JsonProperty(value = "properties.state", required = true)
+ private State state;
+
+ /*
+ * A generic json used differently by each data source type.
+ */
+ @JsonProperty(value = "properties.extendedProperties")
+ private Object extendedProperties;
+
+ /*
+ * The arm id of the data store type.
+ */
+ @JsonProperty(value = "properties.dataStoreTypeId", required = true)
+ private String dataStoreTypeId;
+
+ /*
+ * List of customer secrets containing a key identifier and key value. The
+ * key identifier is a way for the specific data source to understand the
+ * key. Value contains customer secret encrypted by the encryptionKeys.
+ */
+ @JsonProperty(value = "properties.customerSecrets")
+ private List customerSecrets;
+
+ /**
+ * Get the repositoryId property: Arm Id for the manager resource to which the data source is associated. This is
+ * optional.
+ *
+ * @return the repositoryId value.
+ */
+ public String repositoryId() {
+ return this.repositoryId;
+ }
+
+ /**
+ * Set the repositoryId property: Arm Id for the manager resource to which the data source is associated. This is
+ * optional.
+ *
+ * @param repositoryId the repositoryId value to set.
+ * @return the DataStoreInner object itself.
+ */
+ public DataStoreInner withRepositoryId(String repositoryId) {
+ this.repositoryId = repositoryId;
+ return this;
+ }
+
+ /**
+ * Get the state property: State of the data source.
+ *
+ * @return the state value.
+ */
+ public State state() {
+ return this.state;
+ }
+
+ /**
+ * Set the state property: State of the data source.
+ *
+ * @param state the state value to set.
+ * @return the DataStoreInner object itself.
+ */
+ public DataStoreInner withState(State state) {
+ this.state = state;
+ return this;
+ }
+
+ /**
+ * Get the extendedProperties property: A generic json used differently by each data source type.
+ *
+ * @return the extendedProperties value.
+ */
+ public Object extendedProperties() {
+ return this.extendedProperties;
+ }
+
+ /**
+ * Set the extendedProperties property: A generic json used differently by each data source type.
+ *
+ * @param extendedProperties the extendedProperties value to set.
+ * @return the DataStoreInner object itself.
+ */
+ public DataStoreInner withExtendedProperties(Object extendedProperties) {
+ this.extendedProperties = extendedProperties;
+ return this;
+ }
+
+ /**
+ * Get the dataStoreTypeId property: The arm id of the data store type.
+ *
+ * @return the dataStoreTypeId value.
+ */
+ public String dataStoreTypeId() {
+ return this.dataStoreTypeId;
+ }
+
+ /**
+ * Set the dataStoreTypeId property: The arm id of the data store type.
+ *
+ * @param dataStoreTypeId the dataStoreTypeId value to set.
+ * @return the DataStoreInner object itself.
+ */
+ public DataStoreInner withDataStoreTypeId(String dataStoreTypeId) {
+ this.dataStoreTypeId = dataStoreTypeId;
+ return this;
+ }
+
+ /**
+ * Get the customerSecrets property: List of customer secrets containing a key identifier and key value. The key
+ * identifier is a way for the specific data source to understand the key. Value contains customer secret encrypted
+ * by the encryptionKeys.
+ *
+ * @return the customerSecrets value.
+ */
+ public List customerSecrets() {
+ return this.customerSecrets;
+ }
+
+ /**
+ * Set the customerSecrets property: List of customer secrets containing a key identifier and key value. The key
+ * identifier is a way for the specific data source to understand the key. Value contains customer secret encrypted
+ * by the encryptionKeys.
+ *
+ * @param customerSecrets the customerSecrets value to set.
+ * @return the DataStoreInner object itself.
+ */
+ public DataStoreInner withCustomerSecrets(List customerSecrets) {
+ this.customerSecrets = customerSecrets;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (state() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property state in model DataStoreInner"));
+ }
+ if (dataStoreTypeId() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property dataStoreTypeId in model DataStoreInner"));
+ }
+ if (customerSecrets() != null) {
+ customerSecrets().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/models/DataStoreTypeInner.java b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/models/DataStoreTypeInner.java
new file mode 100644
index 000000000000..705536cf6685
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/models/DataStoreTypeInner.java
@@ -0,0 +1,143 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybriddatamanager.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.hybriddatamanager.models.DmsBaseObject;
+import com.azure.resourcemanager.hybriddatamanager.models.State;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Data Store Type. */
+@JsonFlatten
+@Fluent
+public class DataStoreTypeInner extends DmsBaseObject {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(DataStoreTypeInner.class);
+
+ /*
+ * Arm type for the manager resource to which the data source type is
+ * associated. This is optional.
+ */
+ @JsonProperty(value = "properties.repositoryType")
+ private String repositoryType;
+
+ /*
+ * State of the data store type.
+ */
+ @JsonProperty(value = "properties.state", required = true)
+ private State state;
+
+ /*
+ * Supported data services where it can be used as a sink.
+ */
+ @JsonProperty(value = "properties.supportedDataServicesAsSink")
+ private List supportedDataServicesAsSink;
+
+ /*
+ * Supported data services where it can be used as a source.
+ */
+ @JsonProperty(value = "properties.supportedDataServicesAsSource")
+ private List supportedDataServicesAsSource;
+
+ /**
+ * Get the repositoryType property: Arm type for the manager resource to which the data source type is associated.
+ * This is optional.
+ *
+ * @return the repositoryType value.
+ */
+ public String repositoryType() {
+ return this.repositoryType;
+ }
+
+ /**
+ * Set the repositoryType property: Arm type for the manager resource to which the data source type is associated.
+ * This is optional.
+ *
+ * @param repositoryType the repositoryType value to set.
+ * @return the DataStoreTypeInner object itself.
+ */
+ public DataStoreTypeInner withRepositoryType(String repositoryType) {
+ this.repositoryType = repositoryType;
+ return this;
+ }
+
+ /**
+ * Get the state property: State of the data store type.
+ *
+ * @return the state value.
+ */
+ public State state() {
+ return this.state;
+ }
+
+ /**
+ * Set the state property: State of the data store type.
+ *
+ * @param state the state value to set.
+ * @return the DataStoreTypeInner object itself.
+ */
+ public DataStoreTypeInner withState(State state) {
+ this.state = state;
+ return this;
+ }
+
+ /**
+ * Get the supportedDataServicesAsSink property: Supported data services where it can be used as a sink.
+ *
+ * @return the supportedDataServicesAsSink value.
+ */
+ public List supportedDataServicesAsSink() {
+ return this.supportedDataServicesAsSink;
+ }
+
+ /**
+ * Set the supportedDataServicesAsSink property: Supported data services where it can be used as a sink.
+ *
+ * @param supportedDataServicesAsSink the supportedDataServicesAsSink value to set.
+ * @return the DataStoreTypeInner object itself.
+ */
+ public DataStoreTypeInner withSupportedDataServicesAsSink(List supportedDataServicesAsSink) {
+ this.supportedDataServicesAsSink = supportedDataServicesAsSink;
+ return this;
+ }
+
+ /**
+ * Get the supportedDataServicesAsSource property: Supported data services where it can be used as a source.
+ *
+ * @return the supportedDataServicesAsSource value.
+ */
+ public List supportedDataServicesAsSource() {
+ return this.supportedDataServicesAsSource;
+ }
+
+ /**
+ * Set the supportedDataServicesAsSource property: Supported data services where it can be used as a source.
+ *
+ * @param supportedDataServicesAsSource the supportedDataServicesAsSource value to set.
+ * @return the DataStoreTypeInner object itself.
+ */
+ public DataStoreTypeInner withSupportedDataServicesAsSource(List supportedDataServicesAsSource) {
+ this.supportedDataServicesAsSource = supportedDataServicesAsSource;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (state() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property state in model DataStoreTypeInner"));
+ }
+ }
+}
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/models/JobDefinitionInner.java b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/models/JobDefinitionInner.java
new file mode 100644
index 000000000000..53dedf871b39
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/models/JobDefinitionInner.java
@@ -0,0 +1,300 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybriddatamanager.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.hybriddatamanager.models.CustomerSecret;
+import com.azure.resourcemanager.hybriddatamanager.models.DmsBaseObject;
+import com.azure.resourcemanager.hybriddatamanager.models.RunLocation;
+import com.azure.resourcemanager.hybriddatamanager.models.Schedule;
+import com.azure.resourcemanager.hybriddatamanager.models.State;
+import com.azure.resourcemanager.hybriddatamanager.models.UserConfirmation;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** Job Definition. */
+@JsonFlatten
+@Fluent
+public class JobDefinitionInner extends DmsBaseObject {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(JobDefinitionInner.class);
+
+ /*
+ * Data Source Id associated to the job definition.
+ */
+ @JsonProperty(value = "properties.dataSourceId", required = true)
+ private String dataSourceId;
+
+ /*
+ * Data Sink Id associated to the job definition.
+ */
+ @JsonProperty(value = "properties.dataSinkId", required = true)
+ private String dataSinkId;
+
+ /*
+ * Schedule for running the job definition
+ */
+ @JsonProperty(value = "properties.schedules")
+ private List schedules;
+
+ /*
+ * State of the job definition.
+ */
+ @JsonProperty(value = "properties.state", required = true)
+ private State state;
+
+ /*
+ * Last modified time of the job definition.
+ */
+ @JsonProperty(value = "properties.lastModifiedTime")
+ private OffsetDateTime lastModifiedTime;
+
+ /*
+ * This is the preferred geo location for the job to run.
+ */
+ @JsonProperty(value = "properties.runLocation")
+ private RunLocation runLocation;
+
+ /*
+ * Enum to detect if user confirmation is required. If not passed will
+ * default to NotRequired.
+ */
+ @JsonProperty(value = "properties.userConfirmation")
+ private UserConfirmation userConfirmation;
+
+ /*
+ * A generic json used differently by each data service type.
+ */
+ @JsonProperty(value = "properties.dataServiceInput")
+ private Object dataServiceInput;
+
+ /*
+ * List of customer secrets containing a key identifier and key value. The
+ * key identifier is a way for the specific data source to understand the
+ * key. Value contains customer secret encrypted by the encryptionKeys.
+ */
+ @JsonProperty(value = "properties.customerSecrets")
+ private List customerSecrets;
+
+ /**
+ * Get the dataSourceId property: Data Source Id associated to the job definition.
+ *
+ * @return the dataSourceId value.
+ */
+ public String dataSourceId() {
+ return this.dataSourceId;
+ }
+
+ /**
+ * Set the dataSourceId property: Data Source Id associated to the job definition.
+ *
+ * @param dataSourceId the dataSourceId value to set.
+ * @return the JobDefinitionInner object itself.
+ */
+ public JobDefinitionInner withDataSourceId(String dataSourceId) {
+ this.dataSourceId = dataSourceId;
+ return this;
+ }
+
+ /**
+ * Get the dataSinkId property: Data Sink Id associated to the job definition.
+ *
+ * @return the dataSinkId value.
+ */
+ public String dataSinkId() {
+ return this.dataSinkId;
+ }
+
+ /**
+ * Set the dataSinkId property: Data Sink Id associated to the job definition.
+ *
+ * @param dataSinkId the dataSinkId value to set.
+ * @return the JobDefinitionInner object itself.
+ */
+ public JobDefinitionInner withDataSinkId(String dataSinkId) {
+ this.dataSinkId = dataSinkId;
+ return this;
+ }
+
+ /**
+ * Get the schedules property: Schedule for running the job definition.
+ *
+ * @return the schedules value.
+ */
+ public List schedules() {
+ return this.schedules;
+ }
+
+ /**
+ * Set the schedules property: Schedule for running the job definition.
+ *
+ * @param schedules the schedules value to set.
+ * @return the JobDefinitionInner object itself.
+ */
+ public JobDefinitionInner withSchedules(List schedules) {
+ this.schedules = schedules;
+ return this;
+ }
+
+ /**
+ * Get the state property: State of the job definition.
+ *
+ * @return the state value.
+ */
+ public State state() {
+ return this.state;
+ }
+
+ /**
+ * Set the state property: State of the job definition.
+ *
+ * @param state the state value to set.
+ * @return the JobDefinitionInner object itself.
+ */
+ public JobDefinitionInner withState(State state) {
+ this.state = state;
+ return this;
+ }
+
+ /**
+ * Get the lastModifiedTime property: Last modified time of the job definition.
+ *
+ * @return the lastModifiedTime value.
+ */
+ public OffsetDateTime lastModifiedTime() {
+ return this.lastModifiedTime;
+ }
+
+ /**
+ * Set the lastModifiedTime property: Last modified time of the job definition.
+ *
+ * @param lastModifiedTime the lastModifiedTime value to set.
+ * @return the JobDefinitionInner object itself.
+ */
+ public JobDefinitionInner withLastModifiedTime(OffsetDateTime lastModifiedTime) {
+ this.lastModifiedTime = lastModifiedTime;
+ return this;
+ }
+
+ /**
+ * Get the runLocation property: This is the preferred geo location for the job to run.
+ *
+ * @return the runLocation value.
+ */
+ public RunLocation runLocation() {
+ return this.runLocation;
+ }
+
+ /**
+ * Set the runLocation property: This is the preferred geo location for the job to run.
+ *
+ * @param runLocation the runLocation value to set.
+ * @return the JobDefinitionInner object itself.
+ */
+ public JobDefinitionInner withRunLocation(RunLocation runLocation) {
+ this.runLocation = runLocation;
+ return this;
+ }
+
+ /**
+ * Get the userConfirmation property: Enum to detect if user confirmation is required. If not passed will default to
+ * NotRequired.
+ *
+ * @return the userConfirmation value.
+ */
+ public UserConfirmation userConfirmation() {
+ return this.userConfirmation;
+ }
+
+ /**
+ * Set the userConfirmation property: Enum to detect if user confirmation is required. If not passed will default to
+ * NotRequired.
+ *
+ * @param userConfirmation the userConfirmation value to set.
+ * @return the JobDefinitionInner object itself.
+ */
+ public JobDefinitionInner withUserConfirmation(UserConfirmation userConfirmation) {
+ this.userConfirmation = userConfirmation;
+ return this;
+ }
+
+ /**
+ * Get the dataServiceInput property: A generic json used differently by each data service type.
+ *
+ * @return the dataServiceInput value.
+ */
+ public Object dataServiceInput() {
+ return this.dataServiceInput;
+ }
+
+ /**
+ * Set the dataServiceInput property: A generic json used differently by each data service type.
+ *
+ * @param dataServiceInput the dataServiceInput value to set.
+ * @return the JobDefinitionInner object itself.
+ */
+ public JobDefinitionInner withDataServiceInput(Object dataServiceInput) {
+ this.dataServiceInput = dataServiceInput;
+ return this;
+ }
+
+ /**
+ * Get the customerSecrets property: List of customer secrets containing a key identifier and key value. The key
+ * identifier is a way for the specific data source to understand the key. Value contains customer secret encrypted
+ * by the encryptionKeys.
+ *
+ * @return the customerSecrets value.
+ */
+ public List customerSecrets() {
+ return this.customerSecrets;
+ }
+
+ /**
+ * Set the customerSecrets property: List of customer secrets containing a key identifier and key value. The key
+ * identifier is a way for the specific data source to understand the key. Value contains customer secret encrypted
+ * by the encryptionKeys.
+ *
+ * @param customerSecrets the customerSecrets value to set.
+ * @return the JobDefinitionInner object itself.
+ */
+ public JobDefinitionInner withCustomerSecrets(List customerSecrets) {
+ this.customerSecrets = customerSecrets;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (dataSourceId() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property dataSourceId in model JobDefinitionInner"));
+ }
+ if (dataSinkId() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property dataSinkId in model JobDefinitionInner"));
+ }
+ if (schedules() != null) {
+ schedules().forEach(e -> e.validate());
+ }
+ if (state() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property state in model JobDefinitionInner"));
+ }
+ if (customerSecrets() != null) {
+ customerSecrets().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/models/JobDetailsInner.java b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/models/JobDetailsInner.java
new file mode 100644
index 000000000000..5e6c3666b9ce
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/models/JobDetailsInner.java
@@ -0,0 +1,140 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybriddatamanager.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.hybriddatamanager.models.ErrorDetails;
+import com.azure.resourcemanager.hybriddatamanager.models.JobStages;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Job details. */
+@Fluent
+public final class JobDetailsInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(JobDetailsInner.class);
+
+ /*
+ * List of stages that ran in the job
+ */
+ @JsonProperty(value = "jobStages")
+ private List jobStages;
+
+ /*
+ * JobDefinition at the time of the run
+ */
+ @JsonProperty(value = "jobDefinition")
+ private JobDefinitionInner jobDefinition;
+
+ /*
+ * Error details for failure. This is optional.
+ */
+ @JsonProperty(value = "errorDetails")
+ private List errorDetails;
+
+ /*
+ * Item Details Link to download files or see details
+ */
+ @JsonProperty(value = "itemDetailsLink")
+ private String itemDetailsLink;
+
+ /**
+ * Get the jobStages property: List of stages that ran in the job.
+ *
+ * @return the jobStages value.
+ */
+ public List jobStages() {
+ return this.jobStages;
+ }
+
+ /**
+ * Set the jobStages property: List of stages that ran in the job.
+ *
+ * @param jobStages the jobStages value to set.
+ * @return the JobDetailsInner object itself.
+ */
+ public JobDetailsInner withJobStages(List jobStages) {
+ this.jobStages = jobStages;
+ return this;
+ }
+
+ /**
+ * Get the jobDefinition property: JobDefinition at the time of the run.
+ *
+ * @return the jobDefinition value.
+ */
+ public JobDefinitionInner jobDefinition() {
+ return this.jobDefinition;
+ }
+
+ /**
+ * Set the jobDefinition property: JobDefinition at the time of the run.
+ *
+ * @param jobDefinition the jobDefinition value to set.
+ * @return the JobDetailsInner object itself.
+ */
+ public JobDetailsInner withJobDefinition(JobDefinitionInner jobDefinition) {
+ this.jobDefinition = jobDefinition;
+ return this;
+ }
+
+ /**
+ * Get the errorDetails property: Error details for failure. This is optional.
+ *
+ * @return the errorDetails value.
+ */
+ public List errorDetails() {
+ return this.errorDetails;
+ }
+
+ /**
+ * Set the errorDetails property: Error details for failure. This is optional.
+ *
+ * @param errorDetails the errorDetails value to set.
+ * @return the JobDetailsInner object itself.
+ */
+ public JobDetailsInner withErrorDetails(List errorDetails) {
+ this.errorDetails = errorDetails;
+ return this;
+ }
+
+ /**
+ * Get the itemDetailsLink property: Item Details Link to download files or see details.
+ *
+ * @return the itemDetailsLink value.
+ */
+ public String itemDetailsLink() {
+ return this.itemDetailsLink;
+ }
+
+ /**
+ * Set the itemDetailsLink property: Item Details Link to download files or see details.
+ *
+ * @param itemDetailsLink the itemDetailsLink value to set.
+ * @return the JobDetailsInner object itself.
+ */
+ public JobDetailsInner withItemDetailsLink(String itemDetailsLink) {
+ this.itemDetailsLink = itemDetailsLink;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (jobStages() != null) {
+ jobStages().forEach(e -> e.validate());
+ }
+ if (jobDefinition() != null) {
+ jobDefinition().validate();
+ }
+ if (errorDetails() != null) {
+ errorDetails().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/models/JobInner.java b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/models/JobInner.java
new file mode 100644
index 000000000000..2ec7daff4af9
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/models/JobInner.java
@@ -0,0 +1,367 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybriddatamanager.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.hybriddatamanager.models.DmsBaseObject;
+import com.azure.resourcemanager.hybriddatamanager.models.Error;
+import com.azure.resourcemanager.hybriddatamanager.models.IsJobCancellable;
+import com.azure.resourcemanager.hybriddatamanager.models.JobStatus;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Data service job. */
+@JsonFlatten
+@Fluent
+public class JobInner extends DmsBaseObject {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(JobInner.class);
+
+ /*
+ * Status of the job.
+ */
+ @JsonProperty(value = "status", required = true)
+ private JobStatus status;
+
+ /*
+ * Time at which the job was started in UTC ISO 8601 format.
+ */
+ @JsonProperty(value = "startTime", required = true)
+ private OffsetDateTime startTime;
+
+ /*
+ * Time at which the job ended in UTC ISO 8601 format.
+ */
+ @JsonProperty(value = "endTime")
+ private OffsetDateTime endTime;
+
+ /*
+ * Top level error for the job.
+ */
+ @JsonProperty(value = "error")
+ private Error error;
+
+ /*
+ * Describes whether the job is cancellable.
+ */
+ @JsonProperty(value = "properties.isCancellable", required = true)
+ private IsJobCancellable isCancellable;
+
+ /*
+ * Number of bytes processed by the job as of now.
+ */
+ @JsonProperty(value = "properties.bytesProcessed")
+ private Long bytesProcessed;
+
+ /*
+ * Number of items processed by the job as of now
+ */
+ @JsonProperty(value = "properties.itemsProcessed")
+ private Long itemsProcessed;
+
+ /*
+ * Number of bytes to be processed by the job in total.
+ */
+ @JsonProperty(value = "properties.totalBytesToProcess")
+ private Long totalBytesToProcess;
+
+ /*
+ * Number of items to be processed by the job in total
+ */
+ @JsonProperty(value = "properties.totalItemsToProcess")
+ private Long totalItemsToProcess;
+
+ /*
+ * Details of a job run. This field will only be sent for expand details
+ * filter.
+ */
+ @JsonProperty(value = "properties.details")
+ private JobDetailsInner details;
+
+ /*
+ * Name of the data source on which the job was triggered.
+ */
+ @JsonProperty(value = "properties.dataSourceName")
+ private String dataSourceName;
+
+ /*
+ * Name of the data sink on which the job was triggered.
+ */
+ @JsonProperty(value = "properties.dataSinkName")
+ private String dataSinkName;
+
+ /**
+ * Get the status property: Status of the job.
+ *
+ * @return the status value.
+ */
+ public JobStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Set the status property: Status of the job.
+ *
+ * @param status the status value to set.
+ * @return the JobInner object itself.
+ */
+ public JobInner withStatus(JobStatus status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get the startTime property: Time at which the job was started in UTC ISO 8601 format.
+ *
+ * @return the startTime value.
+ */
+ public OffsetDateTime startTime() {
+ return this.startTime;
+ }
+
+ /**
+ * Set the startTime property: Time at which the job was started in UTC ISO 8601 format.
+ *
+ * @param startTime the startTime value to set.
+ * @return the JobInner object itself.
+ */
+ public JobInner withStartTime(OffsetDateTime startTime) {
+ this.startTime = startTime;
+ return this;
+ }
+
+ /**
+ * Get the endTime property: Time at which the job ended in UTC ISO 8601 format.
+ *
+ * @return the endTime value.
+ */
+ public OffsetDateTime endTime() {
+ return this.endTime;
+ }
+
+ /**
+ * Set the endTime property: Time at which the job ended in UTC ISO 8601 format.
+ *
+ * @param endTime the endTime value to set.
+ * @return the JobInner object itself.
+ */
+ public JobInner withEndTime(OffsetDateTime endTime) {
+ this.endTime = endTime;
+ return this;
+ }
+
+ /**
+ * Get the error property: Top level error for the job.
+ *
+ * @return the error value.
+ */
+ public Error error() {
+ return this.error;
+ }
+
+ /**
+ * Set the error property: Top level error for the job.
+ *
+ * @param error the error value to set.
+ * @return the JobInner object itself.
+ */
+ public JobInner withError(Error error) {
+ this.error = error;
+ return this;
+ }
+
+ /**
+ * Get the isCancellable property: Describes whether the job is cancellable.
+ *
+ * @return the isCancellable value.
+ */
+ public IsJobCancellable isCancellable() {
+ return this.isCancellable;
+ }
+
+ /**
+ * Set the isCancellable property: Describes whether the job is cancellable.
+ *
+ * @param isCancellable the isCancellable value to set.
+ * @return the JobInner object itself.
+ */
+ public JobInner withIsCancellable(IsJobCancellable isCancellable) {
+ this.isCancellable = isCancellable;
+ return this;
+ }
+
+ /**
+ * Get the bytesProcessed property: Number of bytes processed by the job as of now.
+ *
+ * @return the bytesProcessed value.
+ */
+ public Long bytesProcessed() {
+ return this.bytesProcessed;
+ }
+
+ /**
+ * Set the bytesProcessed property: Number of bytes processed by the job as of now.
+ *
+ * @param bytesProcessed the bytesProcessed value to set.
+ * @return the JobInner object itself.
+ */
+ public JobInner withBytesProcessed(Long bytesProcessed) {
+ this.bytesProcessed = bytesProcessed;
+ return this;
+ }
+
+ /**
+ * Get the itemsProcessed property: Number of items processed by the job as of now.
+ *
+ * @return the itemsProcessed value.
+ */
+ public Long itemsProcessed() {
+ return this.itemsProcessed;
+ }
+
+ /**
+ * Set the itemsProcessed property: Number of items processed by the job as of now.
+ *
+ * @param itemsProcessed the itemsProcessed value to set.
+ * @return the JobInner object itself.
+ */
+ public JobInner withItemsProcessed(Long itemsProcessed) {
+ this.itemsProcessed = itemsProcessed;
+ return this;
+ }
+
+ /**
+ * Get the totalBytesToProcess property: Number of bytes to be processed by the job in total.
+ *
+ * @return the totalBytesToProcess value.
+ */
+ public Long totalBytesToProcess() {
+ return this.totalBytesToProcess;
+ }
+
+ /**
+ * Set the totalBytesToProcess property: Number of bytes to be processed by the job in total.
+ *
+ * @param totalBytesToProcess the totalBytesToProcess value to set.
+ * @return the JobInner object itself.
+ */
+ public JobInner withTotalBytesToProcess(Long totalBytesToProcess) {
+ this.totalBytesToProcess = totalBytesToProcess;
+ return this;
+ }
+
+ /**
+ * Get the totalItemsToProcess property: Number of items to be processed by the job in total.
+ *
+ * @return the totalItemsToProcess value.
+ */
+ public Long totalItemsToProcess() {
+ return this.totalItemsToProcess;
+ }
+
+ /**
+ * Set the totalItemsToProcess property: Number of items to be processed by the job in total.
+ *
+ * @param totalItemsToProcess the totalItemsToProcess value to set.
+ * @return the JobInner object itself.
+ */
+ public JobInner withTotalItemsToProcess(Long totalItemsToProcess) {
+ this.totalItemsToProcess = totalItemsToProcess;
+ return this;
+ }
+
+ /**
+ * Get the details property: Details of a job run. This field will only be sent for expand details filter.
+ *
+ * @return the details value.
+ */
+ public JobDetailsInner details() {
+ return this.details;
+ }
+
+ /**
+ * Set the details property: Details of a job run. This field will only be sent for expand details filter.
+ *
+ * @param details the details value to set.
+ * @return the JobInner object itself.
+ */
+ public JobInner withDetails(JobDetailsInner details) {
+ this.details = details;
+ return this;
+ }
+
+ /**
+ * Get the dataSourceName property: Name of the data source on which the job was triggered.
+ *
+ * @return the dataSourceName value.
+ */
+ public String dataSourceName() {
+ return this.dataSourceName;
+ }
+
+ /**
+ * Set the dataSourceName property: Name of the data source on which the job was triggered.
+ *
+ * @param dataSourceName the dataSourceName value to set.
+ * @return the JobInner object itself.
+ */
+ public JobInner withDataSourceName(String dataSourceName) {
+ this.dataSourceName = dataSourceName;
+ return this;
+ }
+
+ /**
+ * Get the dataSinkName property: Name of the data sink on which the job was triggered.
+ *
+ * @return the dataSinkName value.
+ */
+ public String dataSinkName() {
+ return this.dataSinkName;
+ }
+
+ /**
+ * Set the dataSinkName property: Name of the data sink on which the job was triggered.
+ *
+ * @param dataSinkName the dataSinkName value to set.
+ * @return the JobInner object itself.
+ */
+ public JobInner withDataSinkName(String dataSinkName) {
+ this.dataSinkName = dataSinkName;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (status() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property status in model JobInner"));
+ }
+ if (startTime() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property startTime in model JobInner"));
+ }
+ if (error() != null) {
+ error().validate();
+ }
+ if (isCancellable() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property isCancellable in model JobInner"));
+ }
+ if (details() != null) {
+ details().validate();
+ }
+ }
+}
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/models/PublicKeyInner.java b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/models/PublicKeyInner.java
new file mode 100644
index 000000000000..c21eb97fe3da
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/models/PublicKeyInner.java
@@ -0,0 +1,98 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybriddatamanager.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.hybriddatamanager.models.DmsBaseObject;
+import com.azure.resourcemanager.hybriddatamanager.models.Key;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Public key. */
+@JsonFlatten
+@Fluent
+public class PublicKeyInner extends DmsBaseObject {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(PublicKeyInner.class);
+
+ /*
+ * Level one public key for encryption
+ */
+ @JsonProperty(value = "properties.dataServiceLevel1Key", required = true)
+ private Key dataServiceLevel1Key;
+
+ /*
+ * Level two public key for encryption
+ */
+ @JsonProperty(value = "properties.dataServiceLevel2Key", required = true)
+ private Key dataServiceLevel2Key;
+
+ /**
+ * Get the dataServiceLevel1Key property: Level one public key for encryption.
+ *
+ * @return the dataServiceLevel1Key value.
+ */
+ public Key dataServiceLevel1Key() {
+ return this.dataServiceLevel1Key;
+ }
+
+ /**
+ * Set the dataServiceLevel1Key property: Level one public key for encryption.
+ *
+ * @param dataServiceLevel1Key the dataServiceLevel1Key value to set.
+ * @return the PublicKeyInner object itself.
+ */
+ public PublicKeyInner withDataServiceLevel1Key(Key dataServiceLevel1Key) {
+ this.dataServiceLevel1Key = dataServiceLevel1Key;
+ return this;
+ }
+
+ /**
+ * Get the dataServiceLevel2Key property: Level two public key for encryption.
+ *
+ * @return the dataServiceLevel2Key value.
+ */
+ public Key dataServiceLevel2Key() {
+ return this.dataServiceLevel2Key;
+ }
+
+ /**
+ * Set the dataServiceLevel2Key property: Level two public key for encryption.
+ *
+ * @param dataServiceLevel2Key the dataServiceLevel2Key value to set.
+ * @return the PublicKeyInner object itself.
+ */
+ public PublicKeyInner withDataServiceLevel2Key(Key dataServiceLevel2Key) {
+ this.dataServiceLevel2Key = dataServiceLevel2Key;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (dataServiceLevel1Key() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property dataServiceLevel1Key in model PublicKeyInner"));
+ } else {
+ dataServiceLevel1Key().validate();
+ }
+ if (dataServiceLevel2Key() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property dataServiceLevel2Key in model PublicKeyInner"));
+ } else {
+ dataServiceLevel2Key().validate();
+ }
+ }
+}
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/models/package-info.java b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/models/package-info.java
new file mode 100644
index 000000000000..d8a09c166672
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/models/package-info.java
@@ -0,0 +1,6 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+/** Package containing the inner data models for HybridDataManagementClient. null. */
+package com.azure.resourcemanager.hybriddatamanager.fluent.models;
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/package-info.java b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/package-info.java
new file mode 100644
index 000000000000..36d5022819ab
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/fluent/package-info.java
@@ -0,0 +1,6 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+/** Package containing the service clients for HybridDataManagementClient. null. */
+package com.azure.resourcemanager.hybriddatamanager.fluent;
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/AvailableProviderOperationImpl.java b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/AvailableProviderOperationImpl.java
new file mode 100644
index 000000000000..c9b5ff96caca
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/AvailableProviderOperationImpl.java
@@ -0,0 +1,46 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybriddatamanager.implementation;
+
+import com.azure.resourcemanager.hybriddatamanager.fluent.models.AvailableProviderOperationInner;
+import com.azure.resourcemanager.hybriddatamanager.models.AvailableProviderOperation;
+import com.azure.resourcemanager.hybriddatamanager.models.AvailableProviderOperationDisplay;
+
+public final class AvailableProviderOperationImpl implements AvailableProviderOperation {
+ private AvailableProviderOperationInner innerObject;
+
+ private final com.azure.resourcemanager.hybriddatamanager.HybridDataManager serviceManager;
+
+ AvailableProviderOperationImpl(
+ AvailableProviderOperationInner innerObject,
+ com.azure.resourcemanager.hybriddatamanager.HybridDataManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public AvailableProviderOperationDisplay display() {
+ return this.innerModel().display();
+ }
+
+ public String origin() {
+ return this.innerModel().origin();
+ }
+
+ public Object properties() {
+ return this.innerModel().properties();
+ }
+
+ public AvailableProviderOperationInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.hybriddatamanager.HybridDataManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/DataManagerImpl.java b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/DataManagerImpl.java
new file mode 100644
index 000000000000..02ec988ccf18
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/DataManagerImpl.java
@@ -0,0 +1,203 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybriddatamanager.implementation;
+
+import com.azure.core.management.Region;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.hybriddatamanager.fluent.models.DataManagerInner;
+import com.azure.resourcemanager.hybriddatamanager.models.DataManager;
+import com.azure.resourcemanager.hybriddatamanager.models.DataManagerUpdateParameter;
+import com.azure.resourcemanager.hybriddatamanager.models.Sku;
+import java.util.Collections;
+import java.util.Map;
+
+public final class DataManagerImpl implements DataManager, DataManager.Definition, DataManager.Update {
+ private DataManagerInner innerObject;
+
+ private final com.azure.resourcemanager.hybriddatamanager.HybridDataManager 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 String etag() {
+ return this.innerModel().etag();
+ }
+
+ public Sku sku() {
+ return this.innerModel().sku();
+ }
+
+ public Region region() {
+ return Region.fromName(this.regionName());
+ }
+
+ public String regionName() {
+ return this.location();
+ }
+
+ public DataManagerInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.hybriddatamanager.HybridDataManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceGroupName;
+
+ private String dataManagerName;
+
+ private String updateIfMatch;
+
+ private DataManagerUpdateParameter updateDataManagerUpdateParameter;
+
+ public DataManagerImpl withExistingResourceGroup(String resourceGroupName) {
+ this.resourceGroupName = resourceGroupName;
+ return this;
+ }
+
+ public DataManager create() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getDataManagers()
+ .create(resourceGroupName, dataManagerName, this.innerModel(), Context.NONE);
+ return this;
+ }
+
+ public DataManager create(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getDataManagers()
+ .create(resourceGroupName, dataManagerName, this.innerModel(), context);
+ return this;
+ }
+
+ DataManagerImpl(String name, com.azure.resourcemanager.hybriddatamanager.HybridDataManager serviceManager) {
+ this.innerObject = new DataManagerInner();
+ this.serviceManager = serviceManager;
+ this.dataManagerName = name;
+ }
+
+ public DataManagerImpl update() {
+ this.updateIfMatch = null;
+ this.updateDataManagerUpdateParameter = new DataManagerUpdateParameter();
+ return this;
+ }
+
+ public DataManager apply() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getDataManagers()
+ .update(
+ resourceGroupName, dataManagerName, updateDataManagerUpdateParameter, updateIfMatch, Context.NONE);
+ return this;
+ }
+
+ public DataManager apply(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getDataManagers()
+ .update(resourceGroupName, dataManagerName, updateDataManagerUpdateParameter, updateIfMatch, context);
+ return this;
+ }
+
+ DataManagerImpl(
+ DataManagerInner innerObject, com.azure.resourcemanager.hybriddatamanager.HybridDataManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ this.resourceGroupName = Utils.getValueFromIdByName(innerObject.id(), "resourceGroups");
+ this.dataManagerName = Utils.getValueFromIdByName(innerObject.id(), "dataManagers");
+ }
+
+ public DataManager refresh() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getDataManagers()
+ .getByResourceGroupWithResponse(resourceGroupName, dataManagerName, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public DataManager refresh(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getDataManagers()
+ .getByResourceGroupWithResponse(resourceGroupName, dataManagerName, context)
+ .getValue();
+ return this;
+ }
+
+ public DataManagerImpl withRegion(Region location) {
+ this.innerModel().withLocation(location.toString());
+ return this;
+ }
+
+ public DataManagerImpl withRegion(String location) {
+ this.innerModel().withLocation(location);
+ return this;
+ }
+
+ public DataManagerImpl withTags(Map tags) {
+ if (isInCreateMode()) {
+ this.innerModel().withTags(tags);
+ return this;
+ } else {
+ this.updateDataManagerUpdateParameter.withTags(tags);
+ return this;
+ }
+ }
+
+ public DataManagerImpl withEtag(String etag) {
+ this.innerModel().withEtag(etag);
+ return this;
+ }
+
+ public DataManagerImpl withSku(Sku sku) {
+ if (isInCreateMode()) {
+ this.innerModel().withSku(sku);
+ return this;
+ } else {
+ this.updateDataManagerUpdateParameter.withSku(sku);
+ return this;
+ }
+ }
+
+ public DataManagerImpl withIfMatch(String ifMatch) {
+ this.updateIfMatch = ifMatch;
+ return this;
+ }
+
+ private boolean isInCreateMode() {
+ return this.innerModel().id() == null;
+ }
+}
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/DataManagersClientImpl.java b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/DataManagersClientImpl.java
new file mode 100644
index 000000000000..441e882d1d0e
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/DataManagersClientImpl.java
@@ -0,0 +1,1493 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybriddatamanager.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.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.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.hybriddatamanager.fluent.DataManagersClient;
+import com.azure.resourcemanager.hybriddatamanager.fluent.models.DataManagerInner;
+import com.azure.resourcemanager.hybriddatamanager.models.DataManagerList;
+import com.azure.resourcemanager.hybriddatamanager.models.DataManagerUpdateParameter;
+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 DataManagersClient. */
+public final class DataManagersClientImpl implements DataManagersClient {
+ private final ClientLogger logger = new ClientLogger(DataManagersClientImpl.class);
+
+ /** The proxy service used to perform REST calls. */
+ private final DataManagersService service;
+
+ /** The service client containing this operation class. */
+ private final HybridDataManagementClientImpl client;
+
+ /**
+ * Initializes an instance of DataManagersClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ DataManagersClientImpl(HybridDataManagementClientImpl client) {
+ this.service =
+ RestProxy.create(DataManagersService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for HybridDataManagementClientDataManagers to be used by the proxy
+ * service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "HybridDataManagement")
+ private interface DataManagersService {
+ @Headers({"Content-Type: application/json"})
+ @Get("/subscriptions/{subscriptionId}/providers/Microsoft.HybridData/dataManagers")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> list(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData"
+ + "/dataManagers")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByResourceGroup(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData"
+ + "/dataManagers/{dataManagerName}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> getByResourceGroup(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("dataManagerName") String dataManagerName,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Put(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData"
+ + "/dataManagers/{dataManagerName}")
+ @ExpectedResponses({200, 202})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> create(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("dataManagerName") String dataManagerName,
+ @QueryParam("api-version") String apiVersion,
+ @BodyParam("application/json") DataManagerInner dataManager,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Accept: application/json;q=0.9", "Content-Type: application/json"})
+ @Delete(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData"
+ + "/dataManagers/{dataManagerName}")
+ @ExpectedResponses({202, 204})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> delete(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("dataManagerName") String dataManagerName,
+ @QueryParam("api-version") String apiVersion,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Patch(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData"
+ + "/dataManagers/{dataManagerName}")
+ @ExpectedResponses({200, 202})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> update(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("dataManagerName") String dataManagerName,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("If-Match") String ifMatch,
+ @BodyParam("application/json") DataManagerUpdateParameter dataManagerUpdateParameter,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Lists all the data manager resources available under the subscription.
+ *
+ * @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 dataManager resources Collection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync() {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .list(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ this.client.getApiVersion(),
+ accept,
+ context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(), null, null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Lists all the data manager resources available under the subscription.
+ *
+ * @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 dataManager resources Collection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .list(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ this.client.getApiVersion(),
+ accept,
+ context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(), null, null));
+ }
+
+ /**
+ * Lists all the data manager resources available under the subscription.
+ *
+ * @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 dataManager resources Collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync() {
+ return new PagedFlux<>(() -> listSinglePageAsync());
+ }
+
+ /**
+ * Lists all the data manager resources available under the subscription.
+ *
+ * @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 dataManager resources Collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(Context context) {
+ return new PagedFlux<>(() -> listSinglePageAsync(context));
+ }
+
+ /**
+ * Lists all the data manager resources available under the subscription.
+ *
+ * @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 dataManager resources Collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list() {
+ return new PagedIterable<>(listAsync());
+ }
+
+ /**
+ * Lists all the data manager resources available under the subscription.
+ *
+ * @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 dataManager resources Collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(Context context) {
+ return new PagedIterable<>(listAsync(context));
+ }
+
+ /**
+ * Lists all the data manager resources available under the given resource group.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @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 dataManager resources Collection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceGroupSinglePageAsync(String resourceGroupName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .listByResourceGroup(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ this.client.getApiVersion(),
+ accept,
+ context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(), null, null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Lists all the data manager resources available under the given resource group.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @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 dataManager resources Collection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceGroupSinglePageAsync(
+ String resourceGroupName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByResourceGroup(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ this.client.getApiVersion(),
+ accept,
+ context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(), null, null));
+ }
+
+ /**
+ * Lists all the data manager resources available under the given resource group.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @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 dataManager resources Collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByResourceGroupAsync(String resourceGroupName) {
+ return new PagedFlux<>(() -> listByResourceGroupSinglePageAsync(resourceGroupName));
+ }
+
+ /**
+ * Lists all the data manager resources available under the given resource group.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @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 dataManager resources Collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByResourceGroupAsync(String resourceGroupName, Context context) {
+ return new PagedFlux<>(() -> listByResourceGroupSinglePageAsync(resourceGroupName, context));
+ }
+
+ /**
+ * Lists all the data manager resources available under the given resource group.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @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 dataManager resources Collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByResourceGroup(String resourceGroupName) {
+ return new PagedIterable<>(listByResourceGroupAsync(resourceGroupName));
+ }
+
+ /**
+ * Lists all the data manager resources available under the given resource group.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @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 dataManager resources Collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByResourceGroup(String resourceGroupName, Context context) {
+ return new PagedIterable<>(listByResourceGroupAsync(resourceGroupName, context));
+ }
+
+ /**
+ * Gets information about the specified data manager resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 information about the specified data manager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getByResourceGroupWithResponseAsync(
+ String resourceGroupName, String dataManagerName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (dataManagerName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter dataManagerName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .getByResourceGroup(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ dataManagerName,
+ this.client.getApiVersion(),
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Gets information about the specified data manager resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 information about the specified data manager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getByResourceGroupWithResponseAsync(
+ String resourceGroupName, String dataManagerName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (dataManagerName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter dataManagerName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .getByResourceGroup(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ dataManagerName,
+ this.client.getApiVersion(),
+ accept,
+ context);
+ }
+
+ /**
+ * Gets information about the specified data manager resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 information about the specified data manager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getByResourceGroupAsync(String resourceGroupName, String dataManagerName) {
+ return getByResourceGroupWithResponseAsync(resourceGroupName, dataManagerName)
+ .flatMap(
+ (Response res) -> {
+ if (res.getValue() != null) {
+ return Mono.just(res.getValue());
+ } else {
+ return Mono.empty();
+ }
+ });
+ }
+
+ /**
+ * Gets information about the specified data manager resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 information about the specified data manager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public DataManagerInner getByResourceGroup(String resourceGroupName, String dataManagerName) {
+ return getByResourceGroupAsync(resourceGroupName, dataManagerName).block();
+ }
+
+ /**
+ * Gets information about the specified data manager resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 information about the specified data manager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getByResourceGroupWithResponse(
+ String resourceGroupName, String dataManagerName, Context context) {
+ return getByResourceGroupWithResponseAsync(resourceGroupName, dataManagerName, context).block();
+ }
+
+ /**
+ * Creates a new data manager resource with the specified parameters. Existing resources cannot be updated with this
+ * API and should instead be updated with the Update data manager resource API.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataManager Data manager resource details from request body.
+ * @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 DataManager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createWithResponseAsync(
+ String resourceGroupName, String dataManagerName, DataManagerInner dataManager) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (dataManagerName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter dataManagerName is required and cannot be null."));
+ }
+ if (dataManager == null) {
+ return Mono.error(new IllegalArgumentException("Parameter dataManager is required and cannot be null."));
+ } else {
+ dataManager.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .create(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ dataManagerName,
+ this.client.getApiVersion(),
+ dataManager,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Creates a new data manager resource with the specified parameters. Existing resources cannot be updated with this
+ * API and should instead be updated with the Update data manager resource API.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataManager Data manager resource details from request body.
+ * @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 DataManager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createWithResponseAsync(
+ String resourceGroupName, String dataManagerName, DataManagerInner dataManager, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (dataManagerName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter dataManagerName is required and cannot be null."));
+ }
+ if (dataManager == null) {
+ return Mono.error(new IllegalArgumentException("Parameter dataManager is required and cannot be null."));
+ } else {
+ dataManager.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .create(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ dataManagerName,
+ this.client.getApiVersion(),
+ dataManager,
+ accept,
+ context);
+ }
+
+ /**
+ * Creates a new data manager resource with the specified parameters. Existing resources cannot be updated with this
+ * API and should instead be updated with the Update data manager resource API.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataManager Data manager resource details from request body.
+ * @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 DataManager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PollerFlux, DataManagerInner> beginCreateAsync(
+ String resourceGroupName, String dataManagerName, DataManagerInner dataManager) {
+ Mono>> mono =
+ createWithResponseAsync(resourceGroupName, dataManagerName, dataManager);
+ return this
+ .client
+ .getLroResult(
+ mono, this.client.getHttpPipeline(), DataManagerInner.class, DataManagerInner.class, Context.NONE);
+ }
+
+ /**
+ * Creates a new data manager resource with the specified parameters. Existing resources cannot be updated with this
+ * API and should instead be updated with the Update data manager resource API.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataManager Data manager resource details from request body.
+ * @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 DataManager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PollerFlux, DataManagerInner> beginCreateAsync(
+ String resourceGroupName, String dataManagerName, DataManagerInner dataManager, Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono =
+ createWithResponseAsync(resourceGroupName, dataManagerName, dataManager, context);
+ return this
+ .client
+ .getLroResult(
+ mono, this.client.getHttpPipeline(), DataManagerInner.class, DataManagerInner.class, context);
+ }
+
+ /**
+ * Creates a new data manager resource with the specified parameters. Existing resources cannot be updated with this
+ * API and should instead be updated with the Update data manager resource API.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataManager Data manager resource details from request body.
+ * @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 DataManager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public SyncPoller, DataManagerInner> beginCreate(
+ String resourceGroupName, String dataManagerName, DataManagerInner dataManager) {
+ return beginCreateAsync(resourceGroupName, dataManagerName, dataManager).getSyncPoller();
+ }
+
+ /**
+ * Creates a new data manager resource with the specified parameters. Existing resources cannot be updated with this
+ * API and should instead be updated with the Update data manager resource API.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataManager Data manager resource details from request body.
+ * @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 DataManager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public SyncPoller, DataManagerInner> beginCreate(
+ String resourceGroupName, String dataManagerName, DataManagerInner dataManager, Context context) {
+ return beginCreateAsync(resourceGroupName, dataManagerName, dataManager, context).getSyncPoller();
+ }
+
+ /**
+ * Creates a new data manager resource with the specified parameters. Existing resources cannot be updated with this
+ * API and should instead be updated with the Update data manager resource API.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataManager Data manager resource details from request body.
+ * @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 DataManager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createAsync(
+ String resourceGroupName, String dataManagerName, DataManagerInner dataManager) {
+ return beginCreateAsync(resourceGroupName, dataManagerName, dataManager)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Creates a new data manager resource with the specified parameters. Existing resources cannot be updated with this
+ * API and should instead be updated with the Update data manager resource API.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataManager Data manager resource details from request body.
+ * @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 DataManager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createAsync(
+ String resourceGroupName, String dataManagerName, DataManagerInner dataManager, Context context) {
+ return beginCreateAsync(resourceGroupName, dataManagerName, dataManager, context)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Creates a new data manager resource with the specified parameters. Existing resources cannot be updated with this
+ * API and should instead be updated with the Update data manager resource API.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataManager Data manager resource details from request body.
+ * @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 DataManager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public DataManagerInner create(String resourceGroupName, String dataManagerName, DataManagerInner dataManager) {
+ return createAsync(resourceGroupName, dataManagerName, dataManager).block();
+ }
+
+ /**
+ * Creates a new data manager resource with the specified parameters. Existing resources cannot be updated with this
+ * API and should instead be updated with the Update data manager resource API.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataManager Data manager resource details from request body.
+ * @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 DataManager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public DataManagerInner create(
+ String resourceGroupName, String dataManagerName, DataManagerInner dataManager, Context context) {
+ return createAsync(resourceGroupName, dataManagerName, dataManager, context).block();
+ }
+
+ /**
+ * Deletes a data manager resource in Microsoft Azure.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> deleteWithResponseAsync(String resourceGroupName, String dataManagerName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (dataManagerName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter dataManagerName is required and cannot be null."));
+ }
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .delete(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ dataManagerName,
+ this.client.getApiVersion(),
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Deletes a data manager resource in Microsoft Azure.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> deleteWithResponseAsync(
+ String resourceGroupName, String dataManagerName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (dataManagerName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter dataManagerName is required and cannot be null."));
+ }
+ context = this.client.mergeContext(context);
+ return service
+ .delete(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ dataManagerName,
+ this.client.getApiVersion(),
+ context);
+ }
+
+ /**
+ * Deletes a data manager resource in Microsoft Azure.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PollerFlux, Void> beginDeleteAsync(String resourceGroupName, String dataManagerName) {
+ Mono>> mono = deleteWithResponseAsync(resourceGroupName, dataManagerName);
+ return this
+ .client
+ .getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class, Context.NONE);
+ }
+
+ /**
+ * Deletes a data manager resource in Microsoft Azure.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PollerFlux, Void> beginDeleteAsync(
+ String resourceGroupName, String dataManagerName, Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono = deleteWithResponseAsync(resourceGroupName, dataManagerName, context);
+ return this
+ .client
+ .getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class, context);
+ }
+
+ /**
+ * Deletes a data manager resource in Microsoft Azure.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public SyncPoller, Void> beginDelete(String resourceGroupName, String dataManagerName) {
+ return beginDeleteAsync(resourceGroupName, dataManagerName).getSyncPoller();
+ }
+
+ /**
+ * Deletes a data manager resource in Microsoft Azure.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public SyncPoller, Void> beginDelete(
+ String resourceGroupName, String dataManagerName, Context context) {
+ return beginDeleteAsync(resourceGroupName, dataManagerName, context).getSyncPoller();
+ }
+
+ /**
+ * Deletes a data manager resource in Microsoft Azure.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(String resourceGroupName, String dataManagerName) {
+ return beginDeleteAsync(resourceGroupName, dataManagerName)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Deletes a data manager resource in Microsoft Azure.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(String resourceGroupName, String dataManagerName, Context context) {
+ return beginDeleteAsync(resourceGroupName, dataManagerName, context)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Deletes a data manager resource in Microsoft Azure.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 dataManagerName) {
+ deleteAsync(resourceGroupName, dataManagerName).block();
+ }
+
+ /**
+ * Deletes a data manager resource in Microsoft Azure.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 dataManagerName, Context context) {
+ deleteAsync(resourceGroupName, dataManagerName, context).block();
+ }
+
+ /**
+ * Updates the properties of an existing data manager resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataManagerUpdateParameter Data manager resource details from request body.
+ * @param ifMatch Defines the If-Match condition. The patch will be performed only if the ETag of the data manager
+ * resource on the server matches this value.
+ * @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 DataManager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> updateWithResponseAsync(
+ String resourceGroupName,
+ String dataManagerName,
+ DataManagerUpdateParameter dataManagerUpdateParameter,
+ String ifMatch) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (dataManagerName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter dataManagerName is required and cannot be null."));
+ }
+ if (dataManagerUpdateParameter == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter dataManagerUpdateParameter is required and cannot be null."));
+ } else {
+ dataManagerUpdateParameter.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .update(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ dataManagerName,
+ this.client.getApiVersion(),
+ ifMatch,
+ dataManagerUpdateParameter,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Updates the properties of an existing data manager resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataManagerUpdateParameter Data manager resource details from request body.
+ * @param ifMatch Defines the If-Match condition. The patch will be performed only if the ETag of the data manager
+ * resource on the server matches this value.
+ * @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 DataManager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> updateWithResponseAsync(
+ String resourceGroupName,
+ String dataManagerName,
+ DataManagerUpdateParameter dataManagerUpdateParameter,
+ String ifMatch,
+ Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (dataManagerName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter dataManagerName is required and cannot be null."));
+ }
+ if (dataManagerUpdateParameter == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter dataManagerUpdateParameter is required and cannot be null."));
+ } else {
+ dataManagerUpdateParameter.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .update(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ dataManagerName,
+ this.client.getApiVersion(),
+ ifMatch,
+ dataManagerUpdateParameter,
+ accept,
+ context);
+ }
+
+ /**
+ * Updates the properties of an existing data manager resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataManagerUpdateParameter Data manager resource details from request body.
+ * @param ifMatch Defines the If-Match condition. The patch will be performed only if the ETag of the data manager
+ * resource on the server matches this value.
+ * @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 DataManager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PollerFlux, DataManagerInner> beginUpdateAsync(
+ String resourceGroupName,
+ String dataManagerName,
+ DataManagerUpdateParameter dataManagerUpdateParameter,
+ String ifMatch) {
+ Mono>> mono =
+ updateWithResponseAsync(resourceGroupName, dataManagerName, dataManagerUpdateParameter, ifMatch);
+ return this
+ .client
+ .getLroResult(
+ mono, this.client.getHttpPipeline(), DataManagerInner.class, DataManagerInner.class, Context.NONE);
+ }
+
+ /**
+ * Updates the properties of an existing data manager resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataManagerUpdateParameter Data manager resource details from request body.
+ * @param ifMatch Defines the If-Match condition. The patch will be performed only if the ETag of the data manager
+ * resource on the server matches this value.
+ * @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 DataManager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PollerFlux, DataManagerInner> beginUpdateAsync(
+ String resourceGroupName,
+ String dataManagerName,
+ DataManagerUpdateParameter dataManagerUpdateParameter,
+ String ifMatch,
+ Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono =
+ updateWithResponseAsync(resourceGroupName, dataManagerName, dataManagerUpdateParameter, ifMatch, context);
+ return this
+ .client
+ .getLroResult(
+ mono, this.client.getHttpPipeline(), DataManagerInner.class, DataManagerInner.class, context);
+ }
+
+ /**
+ * Updates the properties of an existing data manager resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataManagerUpdateParameter Data manager resource details from request body.
+ * @param ifMatch Defines the If-Match condition. The patch will be performed only if the ETag of the data manager
+ * resource on the server matches this value.
+ * @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 DataManager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public SyncPoller, DataManagerInner> beginUpdate(
+ String resourceGroupName,
+ String dataManagerName,
+ DataManagerUpdateParameter dataManagerUpdateParameter,
+ String ifMatch) {
+ return beginUpdateAsync(resourceGroupName, dataManagerName, dataManagerUpdateParameter, ifMatch)
+ .getSyncPoller();
+ }
+
+ /**
+ * Updates the properties of an existing data manager resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataManagerUpdateParameter Data manager resource details from request body.
+ * @param ifMatch Defines the If-Match condition. The patch will be performed only if the ETag of the data manager
+ * resource on the server matches this value.
+ * @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 DataManager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public SyncPoller, DataManagerInner> beginUpdate(
+ String resourceGroupName,
+ String dataManagerName,
+ DataManagerUpdateParameter dataManagerUpdateParameter,
+ String ifMatch,
+ Context context) {
+ return beginUpdateAsync(resourceGroupName, dataManagerName, dataManagerUpdateParameter, ifMatch, context)
+ .getSyncPoller();
+ }
+
+ /**
+ * Updates the properties of an existing data manager resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataManagerUpdateParameter Data manager resource details from request body.
+ * @param ifMatch Defines the If-Match condition. The patch will be performed only if the ETag of the data manager
+ * resource on the server matches this value.
+ * @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 DataManager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono updateAsync(
+ String resourceGroupName,
+ String dataManagerName,
+ DataManagerUpdateParameter dataManagerUpdateParameter,
+ String ifMatch) {
+ return beginUpdateAsync(resourceGroupName, dataManagerName, dataManagerUpdateParameter, ifMatch)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Updates the properties of an existing data manager resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataManagerUpdateParameter Data manager resource details from request body.
+ * @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 DataManager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono updateAsync(
+ String resourceGroupName, String dataManagerName, DataManagerUpdateParameter dataManagerUpdateParameter) {
+ final String ifMatch = null;
+ return beginUpdateAsync(resourceGroupName, dataManagerName, dataManagerUpdateParameter, ifMatch)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Updates the properties of an existing data manager resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataManagerUpdateParameter Data manager resource details from request body.
+ * @param ifMatch Defines the If-Match condition. The patch will be performed only if the ETag of the data manager
+ * resource on the server matches this value.
+ * @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 DataManager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono updateAsync(
+ String resourceGroupName,
+ String dataManagerName,
+ DataManagerUpdateParameter dataManagerUpdateParameter,
+ String ifMatch,
+ Context context) {
+ return beginUpdateAsync(resourceGroupName, dataManagerName, dataManagerUpdateParameter, ifMatch, context)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Updates the properties of an existing data manager resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataManagerUpdateParameter Data manager resource details from request body.
+ * @param ifMatch Defines the If-Match condition. The patch will be performed only if the ETag of the data manager
+ * resource on the server matches this value.
+ * @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 DataManager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public DataManagerInner update(
+ String resourceGroupName,
+ String dataManagerName,
+ DataManagerUpdateParameter dataManagerUpdateParameter,
+ String ifMatch) {
+ return updateAsync(resourceGroupName, dataManagerName, dataManagerUpdateParameter, ifMatch).block();
+ }
+
+ /**
+ * Updates the properties of an existing data manager resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataManagerUpdateParameter Data manager resource details from request body.
+ * @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 DataManager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public DataManagerInner update(
+ String resourceGroupName, String dataManagerName, DataManagerUpdateParameter dataManagerUpdateParameter) {
+ final String ifMatch = null;
+ return updateAsync(resourceGroupName, dataManagerName, dataManagerUpdateParameter, ifMatch).block();
+ }
+
+ /**
+ * Updates the properties of an existing data manager resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataManagerUpdateParameter Data manager resource details from request body.
+ * @param ifMatch Defines the If-Match condition. The patch will be performed only if the ETag of the data manager
+ * resource on the server matches this value.
+ * @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 DataManager resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public DataManagerInner update(
+ String resourceGroupName,
+ String dataManagerName,
+ DataManagerUpdateParameter dataManagerUpdateParameter,
+ String ifMatch,
+ Context context) {
+ return updateAsync(resourceGroupName, dataManagerName, dataManagerUpdateParameter, ifMatch, context).block();
+ }
+}
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/DataManagersImpl.java b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/DataManagersImpl.java
new file mode 100644
index 000000000000..29fd2849af16
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/DataManagersImpl.java
@@ -0,0 +1,170 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybriddatamanager.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.hybriddatamanager.fluent.DataManagersClient;
+import com.azure.resourcemanager.hybriddatamanager.fluent.models.DataManagerInner;
+import com.azure.resourcemanager.hybriddatamanager.models.DataManager;
+import com.azure.resourcemanager.hybriddatamanager.models.DataManagers;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
+public final class DataManagersImpl implements DataManagers {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(DataManagersImpl.class);
+
+ private final DataManagersClient innerClient;
+
+ private final com.azure.resourcemanager.hybriddatamanager.HybridDataManager serviceManager;
+
+ public DataManagersImpl(
+ DataManagersClient innerClient, com.azure.resourcemanager.hybriddatamanager.HybridDataManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public PagedIterable list() {
+ PagedIterable inner = this.serviceClient().list();
+ return Utils.mapPage(inner, inner1 -> new DataManagerImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable list(Context context) {
+ PagedIterable inner = this.serviceClient().list(context);
+ return Utils.mapPage(inner, inner1 -> new DataManagerImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable listByResourceGroup(String resourceGroupName) {
+ PagedIterable inner = this.serviceClient().listByResourceGroup(resourceGroupName);
+ return Utils.mapPage(inner, inner1 -> new DataManagerImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable listByResourceGroup(String resourceGroupName, Context context) {
+ PagedIterable inner = this.serviceClient().listByResourceGroup(resourceGroupName, context);
+ return Utils.mapPage(inner, inner1 -> new DataManagerImpl(inner1, this.manager()));
+ }
+
+ public DataManager getByResourceGroup(String resourceGroupName, String dataManagerName) {
+ DataManagerInner inner = this.serviceClient().getByResourceGroup(resourceGroupName, dataManagerName);
+ if (inner != null) {
+ return new DataManagerImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public Response getByResourceGroupWithResponse(
+ String resourceGroupName, String dataManagerName, Context context) {
+ Response inner =
+ this.serviceClient().getByResourceGroupWithResponse(resourceGroupName, dataManagerName, context);
+ if (inner != null) {
+ return new SimpleResponse<>(
+ inner.getRequest(),
+ inner.getStatusCode(),
+ inner.getHeaders(),
+ new DataManagerImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ public void deleteByResourceGroup(String resourceGroupName, String dataManagerName) {
+ this.serviceClient().delete(resourceGroupName, dataManagerName);
+ }
+
+ public void delete(String resourceGroupName, String dataManagerName, Context context) {
+ this.serviceClient().delete(resourceGroupName, dataManagerName, context);
+ }
+
+ public DataManager getById(String id) {
+ String resourceGroupName = Utils.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 dataManagerName = Utils.getValueFromIdByName(id, "dataManagers");
+ if (dataManagerName == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'dataManagers'.", id)));
+ }
+ return this.getByResourceGroupWithResponse(resourceGroupName, dataManagerName, Context.NONE).getValue();
+ }
+
+ public Response getByIdWithResponse(String id, Context context) {
+ String resourceGroupName = Utils.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 dataManagerName = Utils.getValueFromIdByName(id, "dataManagers");
+ if (dataManagerName == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'dataManagers'.", id)));
+ }
+ return this.getByResourceGroupWithResponse(resourceGroupName, dataManagerName, context);
+ }
+
+ public void deleteById(String id) {
+ String resourceGroupName = Utils.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 dataManagerName = Utils.getValueFromIdByName(id, "dataManagers");
+ if (dataManagerName == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'dataManagers'.", id)));
+ }
+ this.delete(resourceGroupName, dataManagerName, Context.NONE);
+ }
+
+ public void deleteByIdWithResponse(String id, Context context) {
+ String resourceGroupName = Utils.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 dataManagerName = Utils.getValueFromIdByName(id, "dataManagers");
+ if (dataManagerName == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'dataManagers'.", id)));
+ }
+ this.delete(resourceGroupName, dataManagerName, context);
+ }
+
+ private DataManagersClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.hybriddatamanager.HybridDataManager manager() {
+ return this.serviceManager;
+ }
+
+ public DataManagerImpl define(String name) {
+ return new DataManagerImpl(name, this.manager());
+ }
+}
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/DataServiceImpl.java b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/DataServiceImpl.java
new file mode 100644
index 000000000000..10f06b5de4f3
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/DataServiceImpl.java
@@ -0,0 +1,65 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybriddatamanager.implementation;
+
+import com.azure.resourcemanager.hybriddatamanager.fluent.models.DataServiceInner;
+import com.azure.resourcemanager.hybriddatamanager.models.DataService;
+import com.azure.resourcemanager.hybriddatamanager.models.State;
+import java.util.Collections;
+import java.util.List;
+
+public final class DataServiceImpl implements DataService {
+ private DataServiceInner innerObject;
+
+ private final com.azure.resourcemanager.hybriddatamanager.HybridDataManager serviceManager;
+
+ DataServiceImpl(
+ DataServiceInner innerObject, com.azure.resourcemanager.hybriddatamanager.HybridDataManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public State state() {
+ return this.innerModel().state();
+ }
+
+ public List supportedDataSinkTypes() {
+ List inner = this.innerModel().supportedDataSinkTypes();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public List supportedDataSourceTypes() {
+ List inner = this.innerModel().supportedDataSourceTypes();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public DataServiceInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.hybriddatamanager.HybridDataManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/DataServicesClientImpl.java b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/DataServicesClientImpl.java
new file mode 100644
index 000000000000..8c637075e770
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/DataServicesClientImpl.java
@@ -0,0 +1,534 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybriddatamanager.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.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.hybriddatamanager.fluent.DataServicesClient;
+import com.azure.resourcemanager.hybriddatamanager.fluent.models.DataServiceInner;
+import com.azure.resourcemanager.hybriddatamanager.models.DataServiceList;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in DataServicesClient. */
+public final class DataServicesClientImpl implements DataServicesClient {
+ private final ClientLogger logger = new ClientLogger(DataServicesClientImpl.class);
+
+ /** The proxy service used to perform REST calls. */
+ private final DataServicesService service;
+
+ /** The service client containing this operation class. */
+ private final HybridDataManagementClientImpl client;
+
+ /**
+ * Initializes an instance of DataServicesClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ DataServicesClientImpl(HybridDataManagementClientImpl client) {
+ this.service =
+ RestProxy.create(DataServicesService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for HybridDataManagementClientDataServices to be used by the proxy
+ * service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "HybridDataManagement")
+ private interface DataServicesService {
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData"
+ + "/dataManagers/{dataManagerName}/dataServices")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByDataManager(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("dataManagerName") String dataManagerName,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData"
+ + "/dataManagers/{dataManagerName}/dataServices/{dataServiceName}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(
+ @HostParam("$host") String endpoint,
+ @PathParam("dataServiceName") String dataServiceName,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("dataManagerName") String dataManagerName,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByDataManagerNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * This method gets all the data services.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 data Service Collection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByDataManagerSinglePageAsync(
+ String resourceGroupName, String dataManagerName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (dataManagerName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter dataManagerName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .listByDataManager(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ dataManagerName,
+ 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()));
+ }
+
+ /**
+ * This method gets all the data services.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 data Service Collection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByDataManagerSinglePageAsync(
+ String resourceGroupName, String dataManagerName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (dataManagerName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter dataManagerName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByDataManager(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ dataManagerName,
+ this.client.getApiVersion(),
+ accept,
+ context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * This method gets all the data services.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 data Service Collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByDataManagerAsync(String resourceGroupName, String dataManagerName) {
+ return new PagedFlux<>(
+ () -> listByDataManagerSinglePageAsync(resourceGroupName, dataManagerName),
+ nextLink -> listByDataManagerNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * This method gets all the data services.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 data Service Collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByDataManagerAsync(
+ String resourceGroupName, String dataManagerName, Context context) {
+ return new PagedFlux<>(
+ () -> listByDataManagerSinglePageAsync(resourceGroupName, dataManagerName, context),
+ nextLink -> listByDataManagerNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * This method gets all the data services.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 data Service Collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByDataManager(String resourceGroupName, String dataManagerName) {
+ return new PagedIterable<>(listByDataManagerAsync(resourceGroupName, dataManagerName));
+ }
+
+ /**
+ * This method gets all the data services.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 data Service Collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByDataManager(
+ String resourceGroupName, String dataManagerName, Context context) {
+ return new PagedIterable<>(listByDataManagerAsync(resourceGroupName, dataManagerName, context));
+ }
+
+ /**
+ * Gets the data service that matches the data service name given.
+ *
+ * @param dataServiceName The name of the data service that is being queried.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 data service that matches the data service name given.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(
+ String dataServiceName, String resourceGroupName, String dataManagerName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (dataServiceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter dataServiceName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (dataManagerName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter dataManagerName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .get(
+ this.client.getEndpoint(),
+ dataServiceName,
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ dataManagerName,
+ this.client.getApiVersion(),
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Gets the data service that matches the data service name given.
+ *
+ * @param dataServiceName The name of the data service that is being queried.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 data service that matches the data service name given.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(
+ String dataServiceName, String resourceGroupName, String dataManagerName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (dataServiceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter dataServiceName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (dataManagerName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter dataManagerName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .get(
+ this.client.getEndpoint(),
+ dataServiceName,
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ dataManagerName,
+ this.client.getApiVersion(),
+ accept,
+ context);
+ }
+
+ /**
+ * Gets the data service that matches the data service name given.
+ *
+ * @param dataServiceName The name of the data service that is being queried.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 data service that matches the data service name given.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getAsync(String dataServiceName, String resourceGroupName, String dataManagerName) {
+ return getWithResponseAsync(dataServiceName, resourceGroupName, dataManagerName)
+ .flatMap(
+ (Response res) -> {
+ if (res.getValue() != null) {
+ return Mono.just(res.getValue());
+ } else {
+ return Mono.empty();
+ }
+ });
+ }
+
+ /**
+ * Gets the data service that matches the data service name given.
+ *
+ * @param dataServiceName The name of the data service that is being queried.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 data service that matches the data service name given.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public DataServiceInner get(String dataServiceName, String resourceGroupName, String dataManagerName) {
+ return getAsync(dataServiceName, resourceGroupName, dataManagerName).block();
+ }
+
+ /**
+ * Gets the data service that matches the data service name given.
+ *
+ * @param dataServiceName The name of the data service that is being queried.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 data service that matches the data service name given.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getWithResponse(
+ String dataServiceName, String resourceGroupName, String dataManagerName, Context context) {
+ return getWithResponseAsync(dataServiceName, resourceGroupName, dataManagerName, context).block();
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The nextLink parameter.
+ * @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 data Service Collection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByDataManagerNextSinglePageAsync(String nextLink) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listByDataManagerNext(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 nextLink parameter.
+ * @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 data Service Collection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByDataManagerNextSinglePageAsync(
+ String nextLink, Context context) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByDataManagerNext(nextLink, this.client.getEndpoint(), accept, context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+}
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/DataServicesImpl.java b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/DataServicesImpl.java
new file mode 100644
index 000000000000..26b9767c59a4
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/DataServicesImpl.java
@@ -0,0 +1,75 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybriddatamanager.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.hybriddatamanager.fluent.DataServicesClient;
+import com.azure.resourcemanager.hybriddatamanager.fluent.models.DataServiceInner;
+import com.azure.resourcemanager.hybriddatamanager.models.DataService;
+import com.azure.resourcemanager.hybriddatamanager.models.DataServices;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
+public final class DataServicesImpl implements DataServices {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(DataServicesImpl.class);
+
+ private final DataServicesClient innerClient;
+
+ private final com.azure.resourcemanager.hybriddatamanager.HybridDataManager serviceManager;
+
+ public DataServicesImpl(
+ DataServicesClient innerClient, com.azure.resourcemanager.hybriddatamanager.HybridDataManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public PagedIterable listByDataManager(String resourceGroupName, String dataManagerName) {
+ PagedIterable inner =
+ this.serviceClient().listByDataManager(resourceGroupName, dataManagerName);
+ return Utils.mapPage(inner, inner1 -> new DataServiceImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable listByDataManager(
+ String resourceGroupName, String dataManagerName, Context context) {
+ PagedIterable inner =
+ this.serviceClient().listByDataManager(resourceGroupName, dataManagerName, context);
+ return Utils.mapPage(inner, inner1 -> new DataServiceImpl(inner1, this.manager()));
+ }
+
+ public DataService get(String dataServiceName, String resourceGroupName, String dataManagerName) {
+ DataServiceInner inner = this.serviceClient().get(dataServiceName, resourceGroupName, dataManagerName);
+ if (inner != null) {
+ return new DataServiceImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public Response getWithResponse(
+ String dataServiceName, String resourceGroupName, String dataManagerName, Context context) {
+ Response inner =
+ this.serviceClient().getWithResponse(dataServiceName, resourceGroupName, dataManagerName, context);
+ if (inner != null) {
+ return new SimpleResponse<>(
+ inner.getRequest(),
+ inner.getStatusCode(),
+ inner.getHeaders(),
+ new DataServiceImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ private DataServicesClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.hybriddatamanager.HybridDataManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/DataStoreImpl.java b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/DataStoreImpl.java
new file mode 100644
index 000000000000..84666b30eb47
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/DataStoreImpl.java
@@ -0,0 +1,176 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybriddatamanager.implementation;
+
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.hybriddatamanager.fluent.models.DataStoreInner;
+import com.azure.resourcemanager.hybriddatamanager.models.CustomerSecret;
+import com.azure.resourcemanager.hybriddatamanager.models.DataStore;
+import com.azure.resourcemanager.hybriddatamanager.models.State;
+import java.util.Collections;
+import java.util.List;
+
+public final class DataStoreImpl implements DataStore, DataStore.Definition, DataStore.Update {
+ private DataStoreInner innerObject;
+
+ private final com.azure.resourcemanager.hybriddatamanager.HybridDataManager serviceManager;
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public String repositoryId() {
+ return this.innerModel().repositoryId();
+ }
+
+ public State state() {
+ return this.innerModel().state();
+ }
+
+ public Object extendedProperties() {
+ return this.innerModel().extendedProperties();
+ }
+
+ public String dataStoreTypeId() {
+ return this.innerModel().dataStoreTypeId();
+ }
+
+ public List customerSecrets() {
+ List inner = this.innerModel().customerSecrets();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public DataStoreInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.hybriddatamanager.HybridDataManager manager() {
+ return this.serviceManager;
+ }
+
+ private String dataStoreName;
+
+ private String resourceGroupName;
+
+ private String dataManagerName;
+
+ public DataStoreImpl withExistingDataManager(String resourceGroupName, String dataManagerName) {
+ this.resourceGroupName = resourceGroupName;
+ this.dataManagerName = dataManagerName;
+ return this;
+ }
+
+ public DataStore create() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getDataStores()
+ .createOrUpdate(dataStoreName, resourceGroupName, dataManagerName, this.innerModel(), Context.NONE);
+ return this;
+ }
+
+ public DataStore create(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getDataStores()
+ .createOrUpdate(dataStoreName, resourceGroupName, dataManagerName, this.innerModel(), context);
+ return this;
+ }
+
+ DataStoreImpl(String name, com.azure.resourcemanager.hybriddatamanager.HybridDataManager serviceManager) {
+ this.innerObject = new DataStoreInner();
+ this.serviceManager = serviceManager;
+ this.dataStoreName = name;
+ }
+
+ public DataStoreImpl update() {
+ return this;
+ }
+
+ public DataStore apply() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getDataStores()
+ .createOrUpdate(dataStoreName, resourceGroupName, dataManagerName, this.innerModel(), Context.NONE);
+ return this;
+ }
+
+ public DataStore apply(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getDataStores()
+ .createOrUpdate(dataStoreName, resourceGroupName, dataManagerName, this.innerModel(), context);
+ return this;
+ }
+
+ DataStoreImpl(
+ DataStoreInner innerObject, com.azure.resourcemanager.hybriddatamanager.HybridDataManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ this.dataStoreName = Utils.getValueFromIdByName(innerObject.id(), "dataStores");
+ this.resourceGroupName = Utils.getValueFromIdByName(innerObject.id(), "resourceGroups");
+ this.dataManagerName = Utils.getValueFromIdByName(innerObject.id(), "dataManagers");
+ }
+
+ public DataStore refresh() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getDataStores()
+ .getWithResponse(dataStoreName, resourceGroupName, dataManagerName, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public DataStore refresh(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getDataStores()
+ .getWithResponse(dataStoreName, resourceGroupName, dataManagerName, context)
+ .getValue();
+ return this;
+ }
+
+ public DataStoreImpl withState(State state) {
+ this.innerModel().withState(state);
+ return this;
+ }
+
+ public DataStoreImpl withDataStoreTypeId(String dataStoreTypeId) {
+ this.innerModel().withDataStoreTypeId(dataStoreTypeId);
+ return this;
+ }
+
+ public DataStoreImpl withRepositoryId(String repositoryId) {
+ this.innerModel().withRepositoryId(repositoryId);
+ return this;
+ }
+
+ public DataStoreImpl withExtendedProperties(Object extendedProperties) {
+ this.innerModel().withExtendedProperties(extendedProperties);
+ return this;
+ }
+
+ public DataStoreImpl withCustomerSecrets(List customerSecrets) {
+ this.innerModel().withCustomerSecrets(customerSecrets);
+ return this;
+ }
+}
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/DataStoreTypeImpl.java b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/DataStoreTypeImpl.java
new file mode 100644
index 000000000000..b56e8c55e4e5
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/DataStoreTypeImpl.java
@@ -0,0 +1,69 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybriddatamanager.implementation;
+
+import com.azure.resourcemanager.hybriddatamanager.fluent.models.DataStoreTypeInner;
+import com.azure.resourcemanager.hybriddatamanager.models.DataStoreType;
+import com.azure.resourcemanager.hybriddatamanager.models.State;
+import java.util.Collections;
+import java.util.List;
+
+public final class DataStoreTypeImpl implements DataStoreType {
+ private DataStoreTypeInner innerObject;
+
+ private final com.azure.resourcemanager.hybriddatamanager.HybridDataManager serviceManager;
+
+ DataStoreTypeImpl(
+ DataStoreTypeInner innerObject, com.azure.resourcemanager.hybriddatamanager.HybridDataManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public String repositoryType() {
+ return this.innerModel().repositoryType();
+ }
+
+ public State state() {
+ return this.innerModel().state();
+ }
+
+ public List supportedDataServicesAsSink() {
+ List inner = this.innerModel().supportedDataServicesAsSink();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public List supportedDataServicesAsSource() {
+ List inner = this.innerModel().supportedDataServicesAsSource();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public DataStoreTypeInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.hybriddatamanager.HybridDataManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/DataStoreTypesClientImpl.java b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/DataStoreTypesClientImpl.java
new file mode 100644
index 000000000000..2ebbe255d40d
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/DataStoreTypesClientImpl.java
@@ -0,0 +1,535 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybriddatamanager.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.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.hybriddatamanager.fluent.DataStoreTypesClient;
+import com.azure.resourcemanager.hybriddatamanager.fluent.models.DataStoreTypeInner;
+import com.azure.resourcemanager.hybriddatamanager.models.DataStoreTypeList;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in DataStoreTypesClient. */
+public final class DataStoreTypesClientImpl implements DataStoreTypesClient {
+ private final ClientLogger logger = new ClientLogger(DataStoreTypesClientImpl.class);
+
+ /** The proxy service used to perform REST calls. */
+ private final DataStoreTypesService service;
+
+ /** The service client containing this operation class. */
+ private final HybridDataManagementClientImpl client;
+
+ /**
+ * Initializes an instance of DataStoreTypesClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ DataStoreTypesClientImpl(HybridDataManagementClientImpl client) {
+ this.service =
+ RestProxy.create(DataStoreTypesService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for HybridDataManagementClientDataStoreTypes to be used by the proxy
+ * service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "HybridDataManagement")
+ private interface DataStoreTypesService {
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData"
+ + "/dataManagers/{dataManagerName}/dataStoreTypes")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByDataManager(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("dataManagerName") String dataManagerName,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData"
+ + "/dataManagers/{dataManagerName}/dataStoreTypes/{dataStoreTypeName}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(
+ @HostParam("$host") String endpoint,
+ @PathParam("dataStoreTypeName") String dataStoreTypeName,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("dataManagerName") String dataManagerName,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByDataManagerNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Gets all the data store/repository types that the resource supports.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 all the data store/repository types that the resource supports.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByDataManagerSinglePageAsync(
+ String resourceGroupName, String dataManagerName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (dataManagerName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter dataManagerName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .listByDataManager(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ dataManagerName,
+ 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()));
+ }
+
+ /**
+ * Gets all the data store/repository types that the resource supports.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 all the data store/repository types that the resource supports.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByDataManagerSinglePageAsync(
+ String resourceGroupName, String dataManagerName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (dataManagerName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter dataManagerName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByDataManager(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ dataManagerName,
+ this.client.getApiVersion(),
+ accept,
+ context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * Gets all the data store/repository types that the resource supports.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 all the data store/repository types that the resource supports.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByDataManagerAsync(String resourceGroupName, String dataManagerName) {
+ return new PagedFlux<>(
+ () -> listByDataManagerSinglePageAsync(resourceGroupName, dataManagerName),
+ nextLink -> listByDataManagerNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * Gets all the data store/repository types that the resource supports.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 all the data store/repository types that the resource supports.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByDataManagerAsync(
+ String resourceGroupName, String dataManagerName, Context context) {
+ return new PagedFlux<>(
+ () -> listByDataManagerSinglePageAsync(resourceGroupName, dataManagerName, context),
+ nextLink -> listByDataManagerNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * Gets all the data store/repository types that the resource supports.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 all the data store/repository types that the resource supports.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByDataManager(String resourceGroupName, String dataManagerName) {
+ return new PagedIterable<>(listByDataManagerAsync(resourceGroupName, dataManagerName));
+ }
+
+ /**
+ * Gets all the data store/repository types that the resource supports.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 all the data store/repository types that the resource supports.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByDataManager(
+ String resourceGroupName, String dataManagerName, Context context) {
+ return new PagedIterable<>(listByDataManagerAsync(resourceGroupName, dataManagerName, context));
+ }
+
+ /**
+ * Gets the data store/repository type given its name.
+ *
+ * @param dataStoreTypeName The data store/repository type name for which details are needed.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 data store/repository type given its name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(
+ String dataStoreTypeName, String resourceGroupName, String dataManagerName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (dataStoreTypeName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter dataStoreTypeName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (dataManagerName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter dataManagerName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .get(
+ this.client.getEndpoint(),
+ dataStoreTypeName,
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ dataManagerName,
+ this.client.getApiVersion(),
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Gets the data store/repository type given its name.
+ *
+ * @param dataStoreTypeName The data store/repository type name for which details are needed.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 data store/repository type given its name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(
+ String dataStoreTypeName, String resourceGroupName, String dataManagerName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (dataStoreTypeName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter dataStoreTypeName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (dataManagerName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter dataManagerName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .get(
+ this.client.getEndpoint(),
+ dataStoreTypeName,
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ dataManagerName,
+ this.client.getApiVersion(),
+ accept,
+ context);
+ }
+
+ /**
+ * Gets the data store/repository type given its name.
+ *
+ * @param dataStoreTypeName The data store/repository type name for which details are needed.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 data store/repository type given its name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getAsync(
+ String dataStoreTypeName, String resourceGroupName, String dataManagerName) {
+ return getWithResponseAsync(dataStoreTypeName, resourceGroupName, dataManagerName)
+ .flatMap(
+ (Response res) -> {
+ if (res.getValue() != null) {
+ return Mono.just(res.getValue());
+ } else {
+ return Mono.empty();
+ }
+ });
+ }
+
+ /**
+ * Gets the data store/repository type given its name.
+ *
+ * @param dataStoreTypeName The data store/repository type name for which details are needed.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 data store/repository type given its name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public DataStoreTypeInner get(String dataStoreTypeName, String resourceGroupName, String dataManagerName) {
+ return getAsync(dataStoreTypeName, resourceGroupName, dataManagerName).block();
+ }
+
+ /**
+ * Gets the data store/repository type given its name.
+ *
+ * @param dataStoreTypeName The data store/repository type name for which details are needed.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 data store/repository type given its name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getWithResponse(
+ String dataStoreTypeName, String resourceGroupName, String dataManagerName, Context context) {
+ return getWithResponseAsync(dataStoreTypeName, resourceGroupName, dataManagerName, context).block();
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The nextLink parameter.
+ * @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 data Store Type Collection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByDataManagerNextSinglePageAsync(String nextLink) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listByDataManagerNext(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 nextLink parameter.
+ * @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 data Store Type Collection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByDataManagerNextSinglePageAsync(
+ String nextLink, Context context) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByDataManagerNext(nextLink, this.client.getEndpoint(), accept, context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+}
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/DataStoreTypesImpl.java b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/DataStoreTypesImpl.java
new file mode 100644
index 000000000000..8237b1b2c1e8
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/DataStoreTypesImpl.java
@@ -0,0 +1,76 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybriddatamanager.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.hybriddatamanager.fluent.DataStoreTypesClient;
+import com.azure.resourcemanager.hybriddatamanager.fluent.models.DataStoreTypeInner;
+import com.azure.resourcemanager.hybriddatamanager.models.DataStoreType;
+import com.azure.resourcemanager.hybriddatamanager.models.DataStoreTypes;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
+public final class DataStoreTypesImpl implements DataStoreTypes {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(DataStoreTypesImpl.class);
+
+ private final DataStoreTypesClient innerClient;
+
+ private final com.azure.resourcemanager.hybriddatamanager.HybridDataManager serviceManager;
+
+ public DataStoreTypesImpl(
+ DataStoreTypesClient innerClient,
+ com.azure.resourcemanager.hybriddatamanager.HybridDataManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public PagedIterable listByDataManager(String resourceGroupName, String dataManagerName) {
+ PagedIterable inner =
+ this.serviceClient().listByDataManager(resourceGroupName, dataManagerName);
+ return Utils.mapPage(inner, inner1 -> new DataStoreTypeImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable listByDataManager(
+ String resourceGroupName, String dataManagerName, Context context) {
+ PagedIterable inner =
+ this.serviceClient().listByDataManager(resourceGroupName, dataManagerName, context);
+ return Utils.mapPage(inner, inner1 -> new DataStoreTypeImpl(inner1, this.manager()));
+ }
+
+ public DataStoreType get(String dataStoreTypeName, String resourceGroupName, String dataManagerName) {
+ DataStoreTypeInner inner = this.serviceClient().get(dataStoreTypeName, resourceGroupName, dataManagerName);
+ if (inner != null) {
+ return new DataStoreTypeImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public Response getWithResponse(
+ String dataStoreTypeName, String resourceGroupName, String dataManagerName, Context context) {
+ Response inner =
+ this.serviceClient().getWithResponse(dataStoreTypeName, resourceGroupName, dataManagerName, context);
+ if (inner != null) {
+ return new SimpleResponse<>(
+ inner.getRequest(),
+ inner.getStatusCode(),
+ inner.getHeaders(),
+ new DataStoreTypeImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ private DataStoreTypesClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.hybriddatamanager.HybridDataManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/DataStoresClientImpl.java b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/DataStoresClientImpl.java
new file mode 100644
index 000000000000..5aca8797f2ff
--- /dev/null
+++ b/sdk/hybriddatamanager/azure-resourcemanager-hybriddatamanager/src/main/java/com/azure/resourcemanager/hybriddatamanager/implementation/DataStoresClientImpl.java
@@ -0,0 +1,1174 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybriddatamanager.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.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.hybriddatamanager.fluent.DataStoresClient;
+import com.azure.resourcemanager.hybriddatamanager.fluent.models.DataStoreInner;
+import com.azure.resourcemanager.hybriddatamanager.models.DataStoreList;
+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 DataStoresClient. */
+public final class DataStoresClientImpl implements DataStoresClient {
+ private final ClientLogger logger = new ClientLogger(DataStoresClientImpl.class);
+
+ /** The proxy service used to perform REST calls. */
+ private final DataStoresService service;
+
+ /** The service client containing this operation class. */
+ private final HybridDataManagementClientImpl client;
+
+ /**
+ * Initializes an instance of DataStoresClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ DataStoresClientImpl(HybridDataManagementClientImpl client) {
+ this.service =
+ RestProxy.create(DataStoresService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for HybridDataManagementClientDataStores to be used by the proxy service
+ * to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "HybridDataManagement")
+ private interface DataStoresService {
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData"
+ + "/dataManagers/{dataManagerName}/dataStores")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByDataManager(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("dataManagerName") String dataManagerName,
+ @QueryParam("api-version") String apiVersion,
+ @QueryParam("$filter") String filter,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData"
+ + "/dataManagers/{dataManagerName}/dataStores/{dataStoreName}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(
+ @HostParam("$host") String endpoint,
+ @PathParam("dataStoreName") String dataStoreName,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("dataManagerName") String dataManagerName,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Put(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData"
+ + "/dataManagers/{dataManagerName}/dataStores/{dataStoreName}")
+ @ExpectedResponses({200, 202})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> createOrUpdate(
+ @HostParam("$host") String endpoint,
+ @PathParam("dataStoreName") String dataStoreName,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("dataManagerName") String dataManagerName,
+ @QueryParam("api-version") String apiVersion,
+ @BodyParam("application/json") DataStoreInner dataStore,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Accept: application/json;q=0.9", "Content-Type: application/json"})
+ @Delete(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridData"
+ + "/dataManagers/{dataManagerName}/dataStores/{dataStoreName}")
+ @ExpectedResponses({202, 204})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> delete(
+ @HostParam("$host") String endpoint,
+ @PathParam("dataStoreName") String dataStoreName,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("dataManagerName") String dataManagerName,
+ @QueryParam("api-version") String apiVersion,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByDataManagerNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Gets all the data stores/repositories in the given resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param filter OData Filter options.
+ * @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 all the data stores/repositories in the given resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByDataManagerSinglePageAsync(
+ String resourceGroupName, String dataManagerName, String filter) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (dataManagerName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter dataManagerName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .listByDataManager(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ dataManagerName,
+ this.client.getApiVersion(),
+ filter,
+ 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()));
+ }
+
+ /**
+ * Gets all the data stores/repositories in the given resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param filter OData Filter options.
+ * @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 all the data stores/repositories in the given resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByDataManagerSinglePageAsync(
+ String resourceGroupName, String dataManagerName, String filter, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (dataManagerName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter dataManagerName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByDataManager(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ dataManagerName,
+ this.client.getApiVersion(),
+ filter,
+ accept,
+ context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * Gets all the data stores/repositories in the given resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param filter OData Filter options.
+ * @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 all the data stores/repositories in the given resource.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByDataManagerAsync(
+ String resourceGroupName, String dataManagerName, String filter) {
+ return new PagedFlux<>(
+ () -> listByDataManagerSinglePageAsync(resourceGroupName, dataManagerName, filter),
+ nextLink -> listByDataManagerNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * Gets all the data stores/repositories in the given resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 all the data stores/repositories in the given resource.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByDataManagerAsync(String resourceGroupName, String dataManagerName) {
+ final String filter = null;
+ return new PagedFlux<>(
+ () -> listByDataManagerSinglePageAsync(resourceGroupName, dataManagerName, filter),
+ nextLink -> listByDataManagerNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * Gets all the data stores/repositories in the given resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param filter OData Filter options.
+ * @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 all the data stores/repositories in the given resource.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByDataManagerAsync(
+ String resourceGroupName, String dataManagerName, String filter, Context context) {
+ return new PagedFlux<>(
+ () -> listByDataManagerSinglePageAsync(resourceGroupName, dataManagerName, filter, context),
+ nextLink -> listByDataManagerNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * Gets all the data stores/repositories in the given resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 all the data stores/repositories in the given resource.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByDataManager(String resourceGroupName, String dataManagerName) {
+ final String filter = null;
+ return new PagedIterable<>(listByDataManagerAsync(resourceGroupName, dataManagerName, filter));
+ }
+
+ /**
+ * Gets all the data stores/repositories in the given resource.
+ *
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param filter OData Filter options.
+ * @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 all the data stores/repositories in the given resource.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByDataManager(
+ String resourceGroupName, String dataManagerName, String filter, Context context) {
+ return new PagedIterable<>(listByDataManagerAsync(resourceGroupName, dataManagerName, filter, context));
+ }
+
+ /**
+ * This method gets the data store/repository by name.
+ *
+ * @param dataStoreName The data store/repository name queried.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 data store.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(
+ String dataStoreName, String resourceGroupName, String dataManagerName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (dataStoreName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter dataStoreName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (dataManagerName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter dataManagerName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .get(
+ this.client.getEndpoint(),
+ dataStoreName,
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ dataManagerName,
+ this.client.getApiVersion(),
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * This method gets the data store/repository by name.
+ *
+ * @param dataStoreName The data store/repository name queried.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 data store.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(
+ String dataStoreName, String resourceGroupName, String dataManagerName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (dataStoreName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter dataStoreName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (dataManagerName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter dataManagerName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .get(
+ this.client.getEndpoint(),
+ dataStoreName,
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ dataManagerName,
+ this.client.getApiVersion(),
+ accept,
+ context);
+ }
+
+ /**
+ * This method gets the data store/repository by name.
+ *
+ * @param dataStoreName The data store/repository name queried.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 data store.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getAsync(String dataStoreName, String resourceGroupName, String dataManagerName) {
+ return getWithResponseAsync(dataStoreName, resourceGroupName, dataManagerName)
+ .flatMap(
+ (Response res) -> {
+ if (res.getValue() != null) {
+ return Mono.just(res.getValue());
+ } else {
+ return Mono.empty();
+ }
+ });
+ }
+
+ /**
+ * This method gets the data store/repository by name.
+ *
+ * @param dataStoreName The data store/repository name queried.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 data store.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public DataStoreInner get(String dataStoreName, String resourceGroupName, String dataManagerName) {
+ return getAsync(dataStoreName, resourceGroupName, dataManagerName).block();
+ }
+
+ /**
+ * This method gets the data store/repository by name.
+ *
+ * @param dataStoreName The data store/repository name queried.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 data store.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getWithResponse(
+ String dataStoreName, String resourceGroupName, String dataManagerName, Context context) {
+ return getWithResponseAsync(dataStoreName, resourceGroupName, dataManagerName, context).block();
+ }
+
+ /**
+ * Creates or updates the data store/repository in the data manager.
+ *
+ * @param dataStoreName The data store/repository name to be created or updated.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataStore The data store/repository object to be created or 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 data store.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createOrUpdateWithResponseAsync(
+ String dataStoreName, String resourceGroupName, String dataManagerName, DataStoreInner dataStore) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (dataStoreName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter dataStoreName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (dataManagerName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter dataManagerName is required and cannot be null."));
+ }
+ if (dataStore == null) {
+ return Mono.error(new IllegalArgumentException("Parameter dataStore is required and cannot be null."));
+ } else {
+ dataStore.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .createOrUpdate(
+ this.client.getEndpoint(),
+ dataStoreName,
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ dataManagerName,
+ this.client.getApiVersion(),
+ dataStore,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Creates or updates the data store/repository in the data manager.
+ *
+ * @param dataStoreName The data store/repository name to be created or updated.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataStore The data store/repository object to be created or 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 data store.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createOrUpdateWithResponseAsync(
+ String dataStoreName,
+ String resourceGroupName,
+ String dataManagerName,
+ DataStoreInner dataStore,
+ Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (dataStoreName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter dataStoreName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (dataManagerName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter dataManagerName is required and cannot be null."));
+ }
+ if (dataStore == null) {
+ return Mono.error(new IllegalArgumentException("Parameter dataStore is required and cannot be null."));
+ } else {
+ dataStore.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .createOrUpdate(
+ this.client.getEndpoint(),
+ dataStoreName,
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ dataManagerName,
+ this.client.getApiVersion(),
+ dataStore,
+ accept,
+ context);
+ }
+
+ /**
+ * Creates or updates the data store/repository in the data manager.
+ *
+ * @param dataStoreName The data store/repository name to be created or updated.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataStore The data store/repository object to be created or 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 data store.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PollerFlux, DataStoreInner> beginCreateOrUpdateAsync(
+ String dataStoreName, String resourceGroupName, String dataManagerName, DataStoreInner dataStore) {
+ Mono>> mono =
+ createOrUpdateWithResponseAsync(dataStoreName, resourceGroupName, dataManagerName, dataStore);
+ return this
+ .client
+ .getLroResult(
+ mono, this.client.getHttpPipeline(), DataStoreInner.class, DataStoreInner.class, Context.NONE);
+ }
+
+ /**
+ * Creates or updates the data store/repository in the data manager.
+ *
+ * @param dataStoreName The data store/repository name to be created or updated.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataStore The data store/repository object to be created or 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 data store.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PollerFlux, DataStoreInner> beginCreateOrUpdateAsync(
+ String dataStoreName,
+ String resourceGroupName,
+ String dataManagerName,
+ DataStoreInner dataStore,
+ Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono =
+ createOrUpdateWithResponseAsync(dataStoreName, resourceGroupName, dataManagerName, dataStore, context);
+ return this
+ .client
+ .getLroResult(
+ mono, this.client.getHttpPipeline(), DataStoreInner.class, DataStoreInner.class, context);
+ }
+
+ /**
+ * Creates or updates the data store/repository in the data manager.
+ *
+ * @param dataStoreName The data store/repository name to be created or updated.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataStore The data store/repository object to be created or 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 data store.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public SyncPoller, DataStoreInner> beginCreateOrUpdate(
+ String dataStoreName, String resourceGroupName, String dataManagerName, DataStoreInner dataStore) {
+ return beginCreateOrUpdateAsync(dataStoreName, resourceGroupName, dataManagerName, dataStore).getSyncPoller();
+ }
+
+ /**
+ * Creates or updates the data store/repository in the data manager.
+ *
+ * @param dataStoreName The data store/repository name to be created or updated.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataStore The data store/repository object to be created or 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 data store.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public SyncPoller, DataStoreInner> beginCreateOrUpdate(
+ String dataStoreName,
+ String resourceGroupName,
+ String dataManagerName,
+ DataStoreInner dataStore,
+ Context context) {
+ return beginCreateOrUpdateAsync(dataStoreName, resourceGroupName, dataManagerName, dataStore, context)
+ .getSyncPoller();
+ }
+
+ /**
+ * Creates or updates the data store/repository in the data manager.
+ *
+ * @param dataStoreName The data store/repository name to be created or updated.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataStore The data store/repository object to be created or 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 data store.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createOrUpdateAsync(
+ String dataStoreName, String resourceGroupName, String dataManagerName, DataStoreInner dataStore) {
+ return beginCreateOrUpdateAsync(dataStoreName, resourceGroupName, dataManagerName, dataStore)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Creates or updates the data store/repository in the data manager.
+ *
+ * @param dataStoreName The data store/repository name to be created or updated.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataStore The data store/repository object to be created or 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 data store.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createOrUpdateAsync(
+ String dataStoreName,
+ String resourceGroupName,
+ String dataManagerName,
+ DataStoreInner dataStore,
+ Context context) {
+ return beginCreateOrUpdateAsync(dataStoreName, resourceGroupName, dataManagerName, dataStore, context)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Creates or updates the data store/repository in the data manager.
+ *
+ * @param dataStoreName The data store/repository name to be created or updated.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataStore The data store/repository object to be created or 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 data store.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public DataStoreInner createOrUpdate(
+ String dataStoreName, String resourceGroupName, String dataManagerName, DataStoreInner dataStore) {
+ return createOrUpdateAsync(dataStoreName, resourceGroupName, dataManagerName, dataStore).block();
+ }
+
+ /**
+ * Creates or updates the data store/repository in the data manager.
+ *
+ * @param dataStoreName The data store/repository name to be created or updated.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @param dataStore The data store/repository object to be created or 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 data store.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public DataStoreInner createOrUpdate(
+ String dataStoreName,
+ String resourceGroupName,
+ String dataManagerName,
+ DataStoreInner dataStore,
+ Context context) {
+ return createOrUpdateAsync(dataStoreName, resourceGroupName, dataManagerName, dataStore, context).block();
+ }
+
+ /**
+ * This method deletes the given data store/repository.
+ *
+ * @param dataStoreName The data store/repository name to be deleted.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> deleteWithResponseAsync(
+ String dataStoreName, String resourceGroupName, String dataManagerName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (dataStoreName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter dataStoreName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (dataManagerName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter dataManagerName is required and cannot be null."));
+ }
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .delete(
+ this.client.getEndpoint(),
+ dataStoreName,
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ dataManagerName,
+ this.client.getApiVersion(),
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * This method deletes the given data store/repository.
+ *
+ * @param dataStoreName The data store/repository name to be deleted.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> deleteWithResponseAsync(
+ String dataStoreName, String resourceGroupName, String dataManagerName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (dataStoreName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter dataStoreName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (dataManagerName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter dataManagerName is required and cannot be null."));
+ }
+ context = this.client.mergeContext(context);
+ return service
+ .delete(
+ this.client.getEndpoint(),
+ dataStoreName,
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ dataManagerName,
+ this.client.getApiVersion(),
+ context);
+ }
+
+ /**
+ * This method deletes the given data store/repository.
+ *
+ * @param dataStoreName The data store/repository name to be deleted.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PollerFlux, Void> beginDeleteAsync(
+ String dataStoreName, String resourceGroupName, String dataManagerName) {
+ Mono>> mono =
+ deleteWithResponseAsync(dataStoreName, resourceGroupName, dataManagerName);
+ return this
+ .client
+ .getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class, Context.NONE);
+ }
+
+ /**
+ * This method deletes the given data store/repository.
+ *
+ * @param dataStoreName The data store/repository name to be deleted.
+ * @param resourceGroupName The Resource Group Name.
+ * @param dataManagerName The name of the DataManager Resource within the specified resource group. DataManager
+ * names must be between 3 and 24 characters in length and use any alphanumeric and underscore only.
+ * @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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PollerFlux, Void> beginDeleteAsync(
+ String dataStoreName, String resourceGroupName, String dataManagerName, Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono =
+ deleteWithResponseAsync(dataStoreName, resourceGroupName, dataManagerName, context);
+ return this
+ .client
+ .