diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt
index 1a63bb33e140..3896d34e0fdb 100644
--- a/eng/versioning/version_client.txt
+++ b/eng/versioning/version_client.txt
@@ -302,6 +302,7 @@ com.azure.resourcemanager:azure-resourcemanager-maps;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-botservice;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-recoveryservicesbackup;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-deviceprovisioningservices;1.0.0;1.1.0-beta.1
+com.azure.resourcemanager:azure-resourcemanager-recoveryservicessiterecovery;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 8a459dd59a62..804821839d3d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -707,6 +707,7 @@
eng/code-quality-reports
eng/jacoco-test-coverage
sdk/advisor
+ sdk/agrifood
sdk/anomalydetector
sdk/apimanagement
sdk/appconfiguration
@@ -751,7 +752,6 @@
sdk/digitaltwins
sdk/eventgrid
sdk/eventhubs
- sdk/agrifood
sdk/formrecognizer
sdk/frontdoor
sdk/hanaonazure
@@ -793,6 +793,7 @@
sdk/quantum
sdk/recoveryservices
sdk/recoveryservicesbackup
+ sdk/recoveryservicessiterecovery
sdk/redisenterprise
sdk/relay
sdk/remoterendering
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/CHANGELOG.md b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/CHANGELOG.md
new file mode 100644
index 000000000000..fafb3cbc9af6
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/CHANGELOG.md
@@ -0,0 +1,5 @@
+# Release History
+
+## 1.0.0-beta.1 (2021-07-05)
+
+- Azure Resource Manager SiteRecovery client library for Java. This package contains Microsoft Azure SDK for SiteRecovery Management SDK. Package tag package-2021-04. 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/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/README.md b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/README.md
new file mode 100644
index 000000000000..744d0e6e7608
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/README.md
@@ -0,0 +1,101 @@
+# Azure Resource Manager SiteRecovery client library for Java
+
+Azure Resource Manager SiteRecovery client library for Java.
+
+This package contains Microsoft Azure SDK for SiteRecovery Management SDK. Package tag package-2021-04. 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-recoveryservicessiterecovery;current})
+```xml
+
+ com.azure.resourcemanager
+ azure-resourcemanager-recoveryservicessiterecovery
+ 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();
+SiteRecoveryManager manager = SiteRecoveryManager
+ .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/master/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/master/sdk/identity/azure-identity
+[azure_core_http_netty]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/core/azure-core-http-netty
+[authenticate]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/resourcemanager/docs/AUTH.md
+[design]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/resourcemanager/docs/DESIGN.md
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/pom.xml b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/pom.xml
new file mode 100644
index 000000000000..9dda68ca983a
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/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-recoveryservicessiterecovery
+ 1.0.0-beta.1
+ jar
+
+ Microsoft Azure SDK for SiteRecovery Management
+ This package contains Microsoft Azure SDK for SiteRecovery Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. Package tag package-2021-04.
+ 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/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/SiteRecoveryManager.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/SiteRecoveryManager.java
new file mode 100644
index 000000000000..fc237dac18e4
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/SiteRecoveryManager.java
@@ -0,0 +1,562 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery;
+
+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.recoveryservicessiterecovery.fluent.SiteRecoveryManagementClient;
+import com.azure.resourcemanager.recoveryservicessiterecovery.implementation.MigrationRecoveryPointsImpl;
+import com.azure.resourcemanager.recoveryservicessiterecovery.implementation.OperationsImpl;
+import com.azure.resourcemanager.recoveryservicessiterecovery.implementation.RecoveryPointsImpl;
+import com.azure.resourcemanager.recoveryservicessiterecovery.implementation.ReplicationAlertSettingsImpl;
+import com.azure.resourcemanager.recoveryservicessiterecovery.implementation.ReplicationEligibilityResultsOperationsImpl;
+import com.azure.resourcemanager.recoveryservicessiterecovery.implementation.ReplicationEventsImpl;
+import com.azure.resourcemanager.recoveryservicessiterecovery.implementation.ReplicationFabricsImpl;
+import com.azure.resourcemanager.recoveryservicessiterecovery.implementation.ReplicationJobsImpl;
+import com.azure.resourcemanager.recoveryservicessiterecovery.implementation.ReplicationLogicalNetworksImpl;
+import com.azure.resourcemanager.recoveryservicessiterecovery.implementation.ReplicationMigrationItemsImpl;
+import com.azure.resourcemanager.recoveryservicessiterecovery.implementation.ReplicationNetworkMappingsImpl;
+import com.azure.resourcemanager.recoveryservicessiterecovery.implementation.ReplicationNetworksImpl;
+import com.azure.resourcemanager.recoveryservicessiterecovery.implementation.ReplicationPoliciesImpl;
+import com.azure.resourcemanager.recoveryservicessiterecovery.implementation.ReplicationProtectableItemsImpl;
+import com.azure.resourcemanager.recoveryservicessiterecovery.implementation.ReplicationProtectedItemsImpl;
+import com.azure.resourcemanager.recoveryservicessiterecovery.implementation.ReplicationProtectionContainerMappingsImpl;
+import com.azure.resourcemanager.recoveryservicessiterecovery.implementation.ReplicationProtectionContainersImpl;
+import com.azure.resourcemanager.recoveryservicessiterecovery.implementation.ReplicationProtectionIntentsImpl;
+import com.azure.resourcemanager.recoveryservicessiterecovery.implementation.ReplicationRecoveryPlansImpl;
+import com.azure.resourcemanager.recoveryservicessiterecovery.implementation.ReplicationRecoveryServicesProvidersImpl;
+import com.azure.resourcemanager.recoveryservicessiterecovery.implementation.ReplicationStorageClassificationMappingsImpl;
+import com.azure.resourcemanager.recoveryservicessiterecovery.implementation.ReplicationStorageClassificationsImpl;
+import com.azure.resourcemanager.recoveryservicessiterecovery.implementation.ReplicationVaultHealthsImpl;
+import com.azure.resourcemanager.recoveryservicessiterecovery.implementation.ReplicationVaultSettingsImpl;
+import com.azure.resourcemanager.recoveryservicessiterecovery.implementation.ReplicationvCentersImpl;
+import com.azure.resourcemanager.recoveryservicessiterecovery.implementation.SiteRecoveryManagementClientBuilder;
+import com.azure.resourcemanager.recoveryservicessiterecovery.implementation.SupportedOperatingSystemsOperationsImpl;
+import com.azure.resourcemanager.recoveryservicessiterecovery.implementation.TargetComputeSizesImpl;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.MigrationRecoveryPoints;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.Operations;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RecoveryPoints;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ReplicationAlertSettings;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ReplicationEligibilityResultsOperations;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ReplicationEvents;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ReplicationFabrics;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ReplicationJobs;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ReplicationLogicalNetworks;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ReplicationMigrationItems;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ReplicationNetworkMappings;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ReplicationNetworks;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ReplicationPolicies;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ReplicationProtectableItems;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ReplicationProtectedItems;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ReplicationProtectionContainerMappings;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ReplicationProtectionContainers;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ReplicationProtectionIntents;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ReplicationRecoveryPlans;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ReplicationRecoveryServicesProviders;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ReplicationStorageClassificationMappings;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ReplicationStorageClassifications;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ReplicationVaultHealths;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ReplicationVaultSettings;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ReplicationvCenters;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.SupportedOperatingSystemsOperations;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.TargetComputeSizes;
+import java.time.Duration;
+import java.time.temporal.ChronoUnit;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+/** Entry point to SiteRecoveryManager. */
+public final class SiteRecoveryManager {
+ private Operations operations;
+
+ private ReplicationAlertSettings replicationAlertSettings;
+
+ private ReplicationEligibilityResultsOperations replicationEligibilityResultsOperations;
+
+ private ReplicationEvents replicationEvents;
+
+ private ReplicationFabrics replicationFabrics;
+
+ private ReplicationLogicalNetworks replicationLogicalNetworks;
+
+ private ReplicationNetworks replicationNetworks;
+
+ private ReplicationNetworkMappings replicationNetworkMappings;
+
+ private ReplicationProtectionContainers replicationProtectionContainers;
+
+ private ReplicationMigrationItems replicationMigrationItems;
+
+ private MigrationRecoveryPoints migrationRecoveryPoints;
+
+ private ReplicationProtectableItems replicationProtectableItems;
+
+ private ReplicationProtectedItems replicationProtectedItems;
+
+ private RecoveryPoints recoveryPoints;
+
+ private TargetComputeSizes targetComputeSizes;
+
+ private ReplicationProtectionContainerMappings replicationProtectionContainerMappings;
+
+ private ReplicationRecoveryServicesProviders replicationRecoveryServicesProviders;
+
+ private ReplicationStorageClassifications replicationStorageClassifications;
+
+ private ReplicationStorageClassificationMappings replicationStorageClassificationMappings;
+
+ private ReplicationvCenters replicationvCenters;
+
+ private ReplicationJobs replicationJobs;
+
+ private ReplicationPolicies replicationPolicies;
+
+ private ReplicationProtectionIntents replicationProtectionIntents;
+
+ private ReplicationRecoveryPlans replicationRecoveryPlans;
+
+ private SupportedOperatingSystemsOperations supportedOperatingSystemsOperations;
+
+ private ReplicationVaultHealths replicationVaultHealths;
+
+ private ReplicationVaultSettings replicationVaultSettings;
+
+ private final SiteRecoveryManagementClient clientObject;
+
+ private SiteRecoveryManager(HttpPipeline httpPipeline, AzureProfile profile, Duration defaultPollInterval) {
+ Objects.requireNonNull(httpPipeline, "'httpPipeline' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+ this.clientObject =
+ new SiteRecoveryManagementClientBuilder()
+ .pipeline(httpPipeline)
+ .endpoint(profile.getEnvironment().getResourceManagerEndpoint())
+ .subscriptionId(profile.getSubscriptionId())
+ .defaultPollInterval(defaultPollInterval)
+ .buildClient();
+ }
+
+ /**
+ * Creates an instance of SiteRecovery service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the SiteRecovery service API instance.
+ */
+ public static SiteRecoveryManager 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 SiteRecoveryManager with optional configuration.
+ *
+ * @return the Configurable instance allowing configurations.
+ */
+ public static Configurable configure() {
+ return new SiteRecoveryManager.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 SiteRecovery service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the SiteRecovery service API instance.
+ */
+ public SiteRecoveryManager 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.recoveryservicessiterecovery")
+ .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 SiteRecoveryManager(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 ReplicationAlertSettings. */
+ public ReplicationAlertSettings replicationAlertSettings() {
+ if (this.replicationAlertSettings == null) {
+ this.replicationAlertSettings =
+ new ReplicationAlertSettingsImpl(clientObject.getReplicationAlertSettings(), this);
+ }
+ return replicationAlertSettings;
+ }
+
+ /** @return Resource collection API of ReplicationEligibilityResultsOperations. */
+ public ReplicationEligibilityResultsOperations replicationEligibilityResultsOperations() {
+ if (this.replicationEligibilityResultsOperations == null) {
+ this.replicationEligibilityResultsOperations =
+ new ReplicationEligibilityResultsOperationsImpl(
+ clientObject.getReplicationEligibilityResultsOperations(), this);
+ }
+ return replicationEligibilityResultsOperations;
+ }
+
+ /** @return Resource collection API of ReplicationEvents. */
+ public ReplicationEvents replicationEvents() {
+ if (this.replicationEvents == null) {
+ this.replicationEvents = new ReplicationEventsImpl(clientObject.getReplicationEvents(), this);
+ }
+ return replicationEvents;
+ }
+
+ /** @return Resource collection API of ReplicationFabrics. */
+ public ReplicationFabrics replicationFabrics() {
+ if (this.replicationFabrics == null) {
+ this.replicationFabrics = new ReplicationFabricsImpl(clientObject.getReplicationFabrics(), this);
+ }
+ return replicationFabrics;
+ }
+
+ /** @return Resource collection API of ReplicationLogicalNetworks. */
+ public ReplicationLogicalNetworks replicationLogicalNetworks() {
+ if (this.replicationLogicalNetworks == null) {
+ this.replicationLogicalNetworks =
+ new ReplicationLogicalNetworksImpl(clientObject.getReplicationLogicalNetworks(), this);
+ }
+ return replicationLogicalNetworks;
+ }
+
+ /** @return Resource collection API of ReplicationNetworks. */
+ public ReplicationNetworks replicationNetworks() {
+ if (this.replicationNetworks == null) {
+ this.replicationNetworks = new ReplicationNetworksImpl(clientObject.getReplicationNetworks(), this);
+ }
+ return replicationNetworks;
+ }
+
+ /** @return Resource collection API of ReplicationNetworkMappings. */
+ public ReplicationNetworkMappings replicationNetworkMappings() {
+ if (this.replicationNetworkMappings == null) {
+ this.replicationNetworkMappings =
+ new ReplicationNetworkMappingsImpl(clientObject.getReplicationNetworkMappings(), this);
+ }
+ return replicationNetworkMappings;
+ }
+
+ /** @return Resource collection API of ReplicationProtectionContainers. */
+ public ReplicationProtectionContainers replicationProtectionContainers() {
+ if (this.replicationProtectionContainers == null) {
+ this.replicationProtectionContainers =
+ new ReplicationProtectionContainersImpl(clientObject.getReplicationProtectionContainers(), this);
+ }
+ return replicationProtectionContainers;
+ }
+
+ /** @return Resource collection API of ReplicationMigrationItems. */
+ public ReplicationMigrationItems replicationMigrationItems() {
+ if (this.replicationMigrationItems == null) {
+ this.replicationMigrationItems =
+ new ReplicationMigrationItemsImpl(clientObject.getReplicationMigrationItems(), this);
+ }
+ return replicationMigrationItems;
+ }
+
+ /** @return Resource collection API of MigrationRecoveryPoints. */
+ public MigrationRecoveryPoints migrationRecoveryPoints() {
+ if (this.migrationRecoveryPoints == null) {
+ this.migrationRecoveryPoints =
+ new MigrationRecoveryPointsImpl(clientObject.getMigrationRecoveryPoints(), this);
+ }
+ return migrationRecoveryPoints;
+ }
+
+ /** @return Resource collection API of ReplicationProtectableItems. */
+ public ReplicationProtectableItems replicationProtectableItems() {
+ if (this.replicationProtectableItems == null) {
+ this.replicationProtectableItems =
+ new ReplicationProtectableItemsImpl(clientObject.getReplicationProtectableItems(), this);
+ }
+ return replicationProtectableItems;
+ }
+
+ /** @return Resource collection API of ReplicationProtectedItems. */
+ public ReplicationProtectedItems replicationProtectedItems() {
+ if (this.replicationProtectedItems == null) {
+ this.replicationProtectedItems =
+ new ReplicationProtectedItemsImpl(clientObject.getReplicationProtectedItems(), this);
+ }
+ return replicationProtectedItems;
+ }
+
+ /** @return Resource collection API of RecoveryPoints. */
+ public RecoveryPoints recoveryPoints() {
+ if (this.recoveryPoints == null) {
+ this.recoveryPoints = new RecoveryPointsImpl(clientObject.getRecoveryPoints(), this);
+ }
+ return recoveryPoints;
+ }
+
+ /** @return Resource collection API of TargetComputeSizes. */
+ public TargetComputeSizes targetComputeSizes() {
+ if (this.targetComputeSizes == null) {
+ this.targetComputeSizes = new TargetComputeSizesImpl(clientObject.getTargetComputeSizes(), this);
+ }
+ return targetComputeSizes;
+ }
+
+ /** @return Resource collection API of ReplicationProtectionContainerMappings. */
+ public ReplicationProtectionContainerMappings replicationProtectionContainerMappings() {
+ if (this.replicationProtectionContainerMappings == null) {
+ this.replicationProtectionContainerMappings =
+ new ReplicationProtectionContainerMappingsImpl(
+ clientObject.getReplicationProtectionContainerMappings(), this);
+ }
+ return replicationProtectionContainerMappings;
+ }
+
+ /** @return Resource collection API of ReplicationRecoveryServicesProviders. */
+ public ReplicationRecoveryServicesProviders replicationRecoveryServicesProviders() {
+ if (this.replicationRecoveryServicesProviders == null) {
+ this.replicationRecoveryServicesProviders =
+ new ReplicationRecoveryServicesProvidersImpl(
+ clientObject.getReplicationRecoveryServicesProviders(), this);
+ }
+ return replicationRecoveryServicesProviders;
+ }
+
+ /** @return Resource collection API of ReplicationStorageClassifications. */
+ public ReplicationStorageClassifications replicationStorageClassifications() {
+ if (this.replicationStorageClassifications == null) {
+ this.replicationStorageClassifications =
+ new ReplicationStorageClassificationsImpl(clientObject.getReplicationStorageClassifications(), this);
+ }
+ return replicationStorageClassifications;
+ }
+
+ /** @return Resource collection API of ReplicationStorageClassificationMappings. */
+ public ReplicationStorageClassificationMappings replicationStorageClassificationMappings() {
+ if (this.replicationStorageClassificationMappings == null) {
+ this.replicationStorageClassificationMappings =
+ new ReplicationStorageClassificationMappingsImpl(
+ clientObject.getReplicationStorageClassificationMappings(), this);
+ }
+ return replicationStorageClassificationMappings;
+ }
+
+ /** @return Resource collection API of ReplicationvCenters. */
+ public ReplicationvCenters replicationvCenters() {
+ if (this.replicationvCenters == null) {
+ this.replicationvCenters = new ReplicationvCentersImpl(clientObject.getReplicationvCenters(), this);
+ }
+ return replicationvCenters;
+ }
+
+ /** @return Resource collection API of ReplicationJobs. */
+ public ReplicationJobs replicationJobs() {
+ if (this.replicationJobs == null) {
+ this.replicationJobs = new ReplicationJobsImpl(clientObject.getReplicationJobs(), this);
+ }
+ return replicationJobs;
+ }
+
+ /** @return Resource collection API of ReplicationPolicies. */
+ public ReplicationPolicies replicationPolicies() {
+ if (this.replicationPolicies == null) {
+ this.replicationPolicies = new ReplicationPoliciesImpl(clientObject.getReplicationPolicies(), this);
+ }
+ return replicationPolicies;
+ }
+
+ /** @return Resource collection API of ReplicationProtectionIntents. */
+ public ReplicationProtectionIntents replicationProtectionIntents() {
+ if (this.replicationProtectionIntents == null) {
+ this.replicationProtectionIntents =
+ new ReplicationProtectionIntentsImpl(clientObject.getReplicationProtectionIntents(), this);
+ }
+ return replicationProtectionIntents;
+ }
+
+ /** @return Resource collection API of ReplicationRecoveryPlans. */
+ public ReplicationRecoveryPlans replicationRecoveryPlans() {
+ if (this.replicationRecoveryPlans == null) {
+ this.replicationRecoveryPlans =
+ new ReplicationRecoveryPlansImpl(clientObject.getReplicationRecoveryPlans(), this);
+ }
+ return replicationRecoveryPlans;
+ }
+
+ /** @return Resource collection API of SupportedOperatingSystemsOperations. */
+ public SupportedOperatingSystemsOperations supportedOperatingSystemsOperations() {
+ if (this.supportedOperatingSystemsOperations == null) {
+ this.supportedOperatingSystemsOperations =
+ new SupportedOperatingSystemsOperationsImpl(
+ clientObject.getSupportedOperatingSystemsOperations(), this);
+ }
+ return supportedOperatingSystemsOperations;
+ }
+
+ /** @return Resource collection API of ReplicationVaultHealths. */
+ public ReplicationVaultHealths replicationVaultHealths() {
+ if (this.replicationVaultHealths == null) {
+ this.replicationVaultHealths =
+ new ReplicationVaultHealthsImpl(clientObject.getReplicationVaultHealths(), this);
+ }
+ return replicationVaultHealths;
+ }
+
+ /** @return Resource collection API of ReplicationVaultSettings. */
+ public ReplicationVaultSettings replicationVaultSettings() {
+ if (this.replicationVaultSettings == null) {
+ this.replicationVaultSettings =
+ new ReplicationVaultSettingsImpl(clientObject.getReplicationVaultSettings(), this);
+ }
+ return replicationVaultSettings;
+ }
+
+ /**
+ * @return Wrapped service client SiteRecoveryManagementClient providing direct access to the underlying
+ * auto-generated API implementation, based on Azure REST API.
+ */
+ public SiteRecoveryManagementClient serviceClient() {
+ return this.clientObject;
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/MigrationRecoveryPointsClient.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/MigrationRecoveryPointsClient.java
new file mode 100644
index 000000000000..cee8501bd2de
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/MigrationRecoveryPointsClient.java
@@ -0,0 +1,107 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.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.recoveryservicessiterecovery.fluent.models.MigrationRecoveryPointInner;
+
+/** An instance of this class provides access to all the operations defined in MigrationRecoveryPointsClient. */
+public interface MigrationRecoveryPointsClient {
+ /**
+ * Gets the recovery points for a migration item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric unique name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the recovery points for a migration item.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByReplicationMigrationItems(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName);
+
+ /**
+ * Gets the recovery points for a migration item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric unique name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the recovery points for a migration item.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByReplicationMigrationItems(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ Context context);
+
+ /**
+ * Gets a recovery point for a migration item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric unique name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param migrationRecoveryPointName The migration recovery point 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 a recovery point for a migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MigrationRecoveryPointInner get(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ String migrationRecoveryPointName);
+
+ /**
+ * Gets a recovery point for a migration item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric unique name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param migrationRecoveryPointName The migration recovery point 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 a recovery point for a migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ String migrationRecoveryPointName,
+ Context context);
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/OperationsClient.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/OperationsClient.java
new file mode 100644
index 000000000000..1fb894cbc6fc
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/OperationsClient.java
@@ -0,0 +1,39 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.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.recoveryservicessiterecovery.fluent.models.OperationsDiscoveryInner;
+
+/** An instance of this class provides access to all the operations defined in OperationsClient. */
+public interface OperationsClient {
+ /**
+ * Operation to return the list of available operations.
+ *
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return collection of ClientDiscovery details.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Operation to return the list of available operations.
+ *
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return collection of ClientDiscovery details.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/RecoveryPointsClient.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/RecoveryPointsClient.java
new file mode 100644
index 000000000000..a9e5a156a7a0
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/RecoveryPointsClient.java
@@ -0,0 +1,107 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.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.recoveryservicessiterecovery.fluent.models.RecoveryPointInner;
+
+/** An instance of this class provides access to all the operations defined in RecoveryPointsClient. */
+public interface RecoveryPointsClient {
+ /**
+ * Lists the available recovery points for a replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName The fabric name.
+ * @param protectionContainerName The protection container name.
+ * @param replicatedProtectedItemName The replication protected item 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 collection of recovery point details.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByReplicationProtectedItems(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName);
+
+ /**
+ * Lists the available recovery points for a replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName The fabric name.
+ * @param protectionContainerName The protection container name.
+ * @param replicatedProtectedItemName The replication protected item 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 collection of recovery point details.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByReplicationProtectedItems(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ Context context);
+
+ /**
+ * Get the details of specified recovery point.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName The fabric name.
+ * @param protectionContainerName The protection container name.
+ * @param replicatedProtectedItemName The replication protected item name.
+ * @param recoveryPointName The recovery point name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of specified recovery point.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RecoveryPointInner get(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ String recoveryPointName);
+
+ /**
+ * Get the details of specified recovery point.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName The fabric name.
+ * @param protectionContainerName The protection container name.
+ * @param replicatedProtectedItemName The replication protected item name.
+ * @param recoveryPointName The recovery point name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of specified recovery point.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ String recoveryPointName,
+ Context context);
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationAlertSettingsClient.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationAlertSettingsClient.java
new file mode 100644
index 000000000000..94aff6175764
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationAlertSettingsClient.java
@@ -0,0 +1,110 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.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.recoveryservicessiterecovery.fluent.models.AlertInner;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ConfigureAlertRequest;
+
+/** An instance of this class provides access to all the operations defined in ReplicationAlertSettingsClient. */
+public interface ReplicationAlertSettingsClient {
+ /**
+ * Gets the list of email notification(alert) configurations for the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of email notification(alert) configurations for the vault.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceName, String resourceGroupName);
+
+ /**
+ * Gets the list of email notification(alert) configurations for the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of email notification(alert) configurations for the vault.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceName, String resourceGroupName, Context context);
+
+ /**
+ * Gets the details of the specified email notification(alert) configuration.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param alertSettingName The name of the email notification configuration.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of the specified email notification(alert) configuration.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AlertInner get(String resourceName, String resourceGroupName, String alertSettingName);
+
+ /**
+ * Gets the details of the specified email notification(alert) configuration.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param alertSettingName The name of the email notification configuration.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of the specified email notification(alert) configuration.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceName, String resourceGroupName, String alertSettingName, Context context);
+
+ /**
+ * Create or update an email notification(alert) configuration.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param alertSettingName The name of the email notification(alert) configuration.
+ * @param request The input to configure the email notification(alert).
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return implements the Alert class.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AlertInner create(
+ String resourceName, String resourceGroupName, String alertSettingName, ConfigureAlertRequest request);
+
+ /**
+ * Create or update an email notification(alert) configuration.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param alertSettingName The name of the email notification(alert) configuration.
+ * @param request The input to configure the email notification(alert).
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return implements the Alert class.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createWithResponse(
+ String resourceName,
+ String resourceGroupName,
+ String alertSettingName,
+ ConfigureAlertRequest request,
+ Context context);
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationEligibilityResultsOperationsClient.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationEligibilityResultsOperationsClient.java
new file mode 100644
index 000000000000..405885374fc1
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationEligibilityResultsOperationsClient.java
@@ -0,0 +1,74 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models.ReplicationEligibilityResultsCollectionInner;
+import com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models.ReplicationEligibilityResultsInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * ReplicationEligibilityResultsOperationsClient.
+ */
+public interface ReplicationEligibilityResultsOperationsClient {
+ /**
+ * Validates whether a given VM can be protected or not in which case returns list of errors.
+ *
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param virtualMachineName Virtual Machine 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 replication eligibility results collection response model.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationEligibilityResultsCollectionInner list(String resourceGroupName, String virtualMachineName);
+
+ /**
+ * Validates whether a given VM can be protected or not in which case returns list of errors.
+ *
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param virtualMachineName Virtual Machine 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 replication eligibility results collection response model.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listWithResponse(
+ String resourceGroupName, String virtualMachineName, Context context);
+
+ /**
+ * Validates whether a given VM can be protected or not in which case returns list of errors.
+ *
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param virtualMachineName Virtual Machine 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 replication eligibility results response model.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationEligibilityResultsInner get(String resourceGroupName, String virtualMachineName);
+
+ /**
+ * Validates whether a given VM can be protected or not in which case returns list of errors.
+ *
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param virtualMachineName Virtual Machine 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 replication eligibility results response model.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String virtualMachineName, Context context);
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationEventsClient.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationEventsClient.java
new file mode 100644
index 000000000000..4ee1853f91f7
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationEventsClient.java
@@ -0,0 +1,73 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.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.recoveryservicessiterecovery.fluent.models.EventInner;
+
+/** An instance of this class provides access to all the operations defined in ReplicationEventsClient. */
+public interface ReplicationEventsClient {
+ /**
+ * Gets the list of Azure Site Recovery events for the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of Azure Site Recovery events for the vault.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceName, String resourceGroupName);
+
+ /**
+ * Gets the list of Azure Site Recovery events for the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @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 the list of Azure Site Recovery events for the vault.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceName, String resourceGroupName, String filter, Context context);
+
+ /**
+ * The operation to get the details of an Azure Site recovery event.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param eventName The name of the Azure Site Recovery event.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return implements the Event class.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EventInner get(String resourceName, String resourceGroupName, String eventName);
+
+ /**
+ * The operation to get the details of an Azure Site recovery event.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param eventName The name of the Azure Site Recovery event.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return implements the Event class.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceName, String resourceGroupName, String eventName, Context context);
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationFabricsClient.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationFabricsClient.java
new file mode 100644
index 000000000000..e045dabbc83d
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationFabricsClient.java
@@ -0,0 +1,529 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.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.recoveryservicessiterecovery.fluent.models.FabricInner;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.FabricCreationInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.FailoverProcessServerRequest;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RenewCertificateInput;
+
+/** An instance of this class provides access to all the operations defined in ReplicationFabricsClient. */
+public interface ReplicationFabricsClient {
+ /**
+ * Gets a list of the Azure Site Recovery fabrics in the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of the Azure Site Recovery fabrics in the vault.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceName, String resourceGroupName);
+
+ /**
+ * Gets a list of the Azure Site Recovery fabrics in the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of the Azure Site Recovery fabrics in the vault.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceName, String resourceGroupName, Context context);
+
+ /**
+ * Gets the details of an Azure Site Recovery fabric.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of an Azure Site Recovery fabric.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FabricInner get(String resourceName, String resourceGroupName, String fabricName);
+
+ /**
+ * Gets the details of an Azure Site Recovery fabric.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @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 the details of an Azure Site Recovery fabric.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceName, String resourceGroupName, String fabricName, String filter, Context context);
+
+ /**
+ * The operation to create an Azure Site Recovery fabric (for e.g. Hyper-V site).
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Name of the ASR fabric.
+ * @param input Fabric creation input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return fabric definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, FabricInner> beginCreate(
+ String resourceName, String resourceGroupName, String fabricName, FabricCreationInput input);
+
+ /**
+ * The operation to create an Azure Site Recovery fabric (for e.g. Hyper-V site).
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Name of the ASR fabric.
+ * @param input Fabric creation input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return fabric definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, FabricInner> beginCreate(
+ String resourceName, String resourceGroupName, String fabricName, FabricCreationInput input, Context context);
+
+ /**
+ * The operation to create an Azure Site Recovery fabric (for e.g. Hyper-V site).
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Name of the ASR fabric.
+ * @param input Fabric creation input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return fabric definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FabricInner create(String resourceName, String resourceGroupName, String fabricName, FabricCreationInput input);
+
+ /**
+ * The operation to create an Azure Site Recovery fabric (for e.g. Hyper-V site).
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Name of the ASR fabric.
+ * @param input Fabric creation input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return fabric definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FabricInner create(
+ String resourceName, String resourceGroupName, String fabricName, FabricCreationInput input, Context context);
+
+ /**
+ * The operation to purge(force delete) an Azure Site Recovery fabric.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName ASR fabric to purge.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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> beginPurge(String resourceName, String resourceGroupName, String fabricName);
+
+ /**
+ * The operation to purge(force delete) an Azure Site Recovery fabric.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName ASR fabric to purge.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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> beginPurge(
+ String resourceName, String resourceGroupName, String fabricName, Context context);
+
+ /**
+ * The operation to purge(force delete) an Azure Site Recovery fabric.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName ASR fabric to purge.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 purge(String resourceName, String resourceGroupName, String fabricName);
+
+ /**
+ * The operation to purge(force delete) an Azure Site Recovery fabric.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName ASR fabric to purge.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 purge(String resourceName, String resourceGroupName, String fabricName, Context context);
+
+ /**
+ * The operation to perform a consistency check on the fabric.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric 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 fabric definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, FabricInner> beginCheckConsistency(
+ String resourceName, String resourceGroupName, String fabricName);
+
+ /**
+ * The operation to perform a consistency check on the fabric.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric 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 fabric definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, FabricInner> beginCheckConsistency(
+ String resourceName, String resourceGroupName, String fabricName, Context context);
+
+ /**
+ * The operation to perform a consistency check on the fabric.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric 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 fabric definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FabricInner checkConsistency(String resourceName, String resourceGroupName, String fabricName);
+
+ /**
+ * The operation to perform a consistency check on the fabric.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric 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 fabric definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FabricInner checkConsistency(String resourceName, String resourceGroupName, String fabricName, Context context);
+
+ /**
+ * The operation to migrate an Azure Site Recovery fabric to AAD.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName ASR fabric to migrate.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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> beginMigrateToAad(
+ String resourceName, String resourceGroupName, String fabricName);
+
+ /**
+ * The operation to migrate an Azure Site Recovery fabric to AAD.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName ASR fabric to migrate.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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> beginMigrateToAad(
+ String resourceName, String resourceGroupName, String fabricName, Context context);
+
+ /**
+ * The operation to migrate an Azure Site Recovery fabric to AAD.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName ASR fabric to migrate.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 migrateToAad(String resourceName, String resourceGroupName, String fabricName);
+
+ /**
+ * The operation to migrate an Azure Site Recovery fabric to AAD.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName ASR fabric to migrate.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 migrateToAad(String resourceName, String resourceGroupName, String fabricName, Context context);
+
+ /**
+ * The operation to move replications from a process server to another process server.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName The name of the fabric containing the process server.
+ * @param failoverProcessServerRequest The input to the failover process server operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return fabric definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, FabricInner> beginReassociateGateway(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ FailoverProcessServerRequest failoverProcessServerRequest);
+
+ /**
+ * The operation to move replications from a process server to another process server.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName The name of the fabric containing the process server.
+ * @param failoverProcessServerRequest The input to the failover process server operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return fabric definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, FabricInner> beginReassociateGateway(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ FailoverProcessServerRequest failoverProcessServerRequest,
+ Context context);
+
+ /**
+ * The operation to move replications from a process server to another process server.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName The name of the fabric containing the process server.
+ * @param failoverProcessServerRequest The input to the failover process server operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return fabric definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FabricInner reassociateGateway(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ FailoverProcessServerRequest failoverProcessServerRequest);
+
+ /**
+ * The operation to move replications from a process server to another process server.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName The name of the fabric containing the process server.
+ * @param failoverProcessServerRequest The input to the failover process server operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return fabric definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FabricInner reassociateGateway(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ FailoverProcessServerRequest failoverProcessServerRequest,
+ Context context);
+
+ /**
+ * The operation to delete or remove an Azure Site Recovery fabric.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName ASR fabric to delete.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 resourceName, String resourceGroupName, String fabricName);
+
+ /**
+ * The operation to delete or remove an Azure Site Recovery fabric.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName ASR fabric to delete.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 resourceName, String resourceGroupName, String fabricName, Context context);
+
+ /**
+ * The operation to delete or remove an Azure Site Recovery fabric.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName ASR fabric to delete.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 resourceName, String resourceGroupName, String fabricName);
+
+ /**
+ * The operation to delete or remove an Azure Site Recovery fabric.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName ASR fabric to delete.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 resourceName, String resourceGroupName, String fabricName, Context context);
+
+ /**
+ * Renews the connection certificate for the ASR replication fabric.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName fabric name to renew certs for.
+ * @param renewCertificate Renew certificate input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return fabric definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, FabricInner> beginRenewCertificate(
+ String resourceName, String resourceGroupName, String fabricName, RenewCertificateInput renewCertificate);
+
+ /**
+ * Renews the connection certificate for the ASR replication fabric.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName fabric name to renew certs for.
+ * @param renewCertificate Renew certificate input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return fabric definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, FabricInner> beginRenewCertificate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ RenewCertificateInput renewCertificate,
+ Context context);
+
+ /**
+ * Renews the connection certificate for the ASR replication fabric.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName fabric name to renew certs for.
+ * @param renewCertificate Renew certificate input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return fabric definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FabricInner renewCertificate(
+ String resourceName, String resourceGroupName, String fabricName, RenewCertificateInput renewCertificate);
+
+ /**
+ * Renews the connection certificate for the ASR replication fabric.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName fabric name to renew certs for.
+ * @param renewCertificate Renew certificate input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return fabric definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FabricInner renewCertificate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ RenewCertificateInput renewCertificate,
+ Context context);
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationJobsClient.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationJobsClient.java
new file mode 100644
index 000000000000..4ade3c3481c0
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationJobsClient.java
@@ -0,0 +1,330 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.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.recoveryservicessiterecovery.fluent.models.JobInner;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.JobQueryParameter;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ResumeJobParams;
+
+/** An instance of this class provides access to all the operations defined in ReplicationJobsClient. */
+public interface ReplicationJobsClient {
+ /**
+ * Gets the list of Azure Site Recovery Jobs for the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of Azure Site Recovery Jobs for the vault.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceName, String resourceGroupName);
+
+ /**
+ * Gets the list of Azure Site Recovery Jobs for the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @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 the list of Azure Site Recovery Jobs for the vault.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceName, String resourceGroupName, String filter, Context context);
+
+ /**
+ * Get the details of an Azure Site Recovery job.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param jobName Job identifier.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of an Azure Site Recovery job.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobInner get(String resourceName, String resourceGroupName, String jobName);
+
+ /**
+ * Get the details of an Azure Site Recovery job.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param jobName Job identifier.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of an Azure Site Recovery job.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceName, String resourceGroupName, String jobName, Context context);
+
+ /**
+ * The operation to cancel an Azure Site Recovery job.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param jobName Job identifier.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, JobInner> beginCancel(
+ String resourceName, String resourceGroupName, String jobName);
+
+ /**
+ * The operation to cancel an Azure Site Recovery job.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param jobName Job identifier.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, JobInner> beginCancel(
+ String resourceName, String resourceGroupName, String jobName, Context context);
+
+ /**
+ * The operation to cancel an Azure Site Recovery job.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param jobName Job identifier.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobInner cancel(String resourceName, String resourceGroupName, String jobName);
+
+ /**
+ * The operation to cancel an Azure Site Recovery job.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param jobName Job identifier.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobInner cancel(String resourceName, String resourceGroupName, String jobName, Context context);
+
+ /**
+ * The operation to restart an Azure Site Recovery job.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param jobName Job identifier.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, JobInner> beginRestart(
+ String resourceName, String resourceGroupName, String jobName);
+
+ /**
+ * The operation to restart an Azure Site Recovery job.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param jobName Job identifier.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, JobInner> beginRestart(
+ String resourceName, String resourceGroupName, String jobName, Context context);
+
+ /**
+ * The operation to restart an Azure Site Recovery job.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param jobName Job identifier.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobInner restart(String resourceName, String resourceGroupName, String jobName);
+
+ /**
+ * The operation to restart an Azure Site Recovery job.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param jobName Job identifier.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobInner restart(String resourceName, String resourceGroupName, String jobName, Context context);
+
+ /**
+ * The operation to resume an Azure Site Recovery job.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param jobName Job identifier.
+ * @param resumeJobParams Resume rob comments.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, JobInner> beginResume(
+ String resourceName, String resourceGroupName, String jobName, ResumeJobParams resumeJobParams);
+
+ /**
+ * The operation to resume an Azure Site Recovery job.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param jobName Job identifier.
+ * @param resumeJobParams Resume rob comments.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, JobInner> beginResume(
+ String resourceName,
+ String resourceGroupName,
+ String jobName,
+ ResumeJobParams resumeJobParams,
+ Context context);
+
+ /**
+ * The operation to resume an Azure Site Recovery job.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param jobName Job identifier.
+ * @param resumeJobParams Resume rob comments.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobInner resume(String resourceName, String resourceGroupName, String jobName, ResumeJobParams resumeJobParams);
+
+ /**
+ * The operation to resume an Azure Site Recovery job.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param jobName Job identifier.
+ * @param resumeJobParams Resume rob comments.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobInner resume(
+ String resourceName,
+ String resourceGroupName,
+ String jobName,
+ ResumeJobParams resumeJobParams,
+ Context context);
+
+ /**
+ * The operation to export the details of the Azure Site Recovery jobs of the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param jobQueryParameter job query filter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, JobInner> beginExport(
+ String resourceName, String resourceGroupName, JobQueryParameter jobQueryParameter);
+
+ /**
+ * The operation to export the details of the Azure Site Recovery jobs of the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param jobQueryParameter job query filter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, JobInner> beginExport(
+ String resourceName, String resourceGroupName, JobQueryParameter jobQueryParameter, Context context);
+
+ /**
+ * The operation to export the details of the Azure Site Recovery jobs of the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param jobQueryParameter job query filter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobInner export(String resourceName, String resourceGroupName, JobQueryParameter jobQueryParameter);
+
+ /**
+ * The operation to export the details of the Azure Site Recovery jobs of the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param jobQueryParameter job query filter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobInner export(
+ String resourceName, String resourceGroupName, JobQueryParameter jobQueryParameter, Context context);
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationLogicalNetworksClient.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationLogicalNetworksClient.java
new file mode 100644
index 000000000000..c3d672254a40
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationLogicalNetworksClient.java
@@ -0,0 +1,79 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.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.recoveryservicessiterecovery.fluent.models.LogicalNetworkInner;
+
+/** An instance of this class provides access to all the operations defined in ReplicationLogicalNetworksClient. */
+public interface ReplicationLogicalNetworksClient {
+ /**
+ * Lists all the logical networks of the Azure Site Recovery fabric.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Server Id.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of logical networks.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByReplicationFabrics(
+ String resourceName, String resourceGroupName, String fabricName);
+
+ /**
+ * Lists all the logical networks of the Azure Site Recovery fabric.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Server Id.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of logical networks.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByReplicationFabrics(
+ String resourceName, String resourceGroupName, String fabricName, Context context);
+
+ /**
+ * Gets the details of a logical network.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Server Id.
+ * @param logicalNetworkName Logical network name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of a logical network.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LogicalNetworkInner get(
+ String resourceName, String resourceGroupName, String fabricName, String logicalNetworkName);
+
+ /**
+ * Gets the details of a logical network.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Server Id.
+ * @param logicalNetworkName Logical network name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of a logical network.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceName, String resourceGroupName, String fabricName, String logicalNetworkName, Context context);
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationMigrationItemsClient.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationMigrationItemsClient.java
new file mode 100644
index 000000000000..b40dabeeb223
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationMigrationItemsClient.java
@@ -0,0 +1,836 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.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.recoveryservicessiterecovery.fluent.models.MigrationItemInner;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.EnableMigrationInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.MigrateInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ResyncInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.TestMigrateCleanupInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.TestMigrateInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.UpdateMigrationItemInput;
+
+/** An instance of this class provides access to all the operations defined in ReplicationMigrationItemsClient. */
+public interface ReplicationMigrationItemsClient {
+ /**
+ * Gets the list of ASR migration items in the protection container.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of ASR migration items in the protection container.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByReplicationProtectionContainers(
+ String resourceName, String resourceGroupName, String fabricName, String protectionContainerName);
+
+ /**
+ * Gets the list of ASR migration items in the protection container.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param skipToken The pagination token.
+ * @param takeToken The page size.
+ * @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 the list of ASR migration items in the protection container.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByReplicationProtectionContainers(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String skipToken,
+ String takeToken,
+ String filter,
+ Context context);
+
+ /**
+ * Gets the details of a migration item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric unique name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of a migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MigrationItemInner get(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName);
+
+ /**
+ * Gets the details of a migration item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric unique name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of a migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ Context context);
+
+ /**
+ * The operation to create an ASR migration item (enable migration).
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param input Enable migration input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, MigrationItemInner> beginCreate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ EnableMigrationInput input);
+
+ /**
+ * The operation to create an ASR migration item (enable migration).
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param input Enable migration input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, MigrationItemInner> beginCreate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ EnableMigrationInput input,
+ Context context);
+
+ /**
+ * The operation to create an ASR migration item (enable migration).
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param input Enable migration input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MigrationItemInner create(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ EnableMigrationInput input);
+
+ /**
+ * The operation to create an ASR migration item (enable migration).
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param input Enable migration input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MigrationItemInner create(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ EnableMigrationInput input,
+ Context context);
+
+ /**
+ * The operation to delete an ASR migration item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param deleteOption The delete option.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ String deleteOption);
+
+ /**
+ * The operation to delete an ASR migration item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param deleteOption The delete option.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ String deleteOption,
+ Context context);
+
+ /**
+ * The operation to delete an ASR migration item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param deleteOption The delete option.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ String deleteOption);
+
+ /**
+ * The operation to delete an ASR migration item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName);
+
+ /**
+ * The operation to delete an ASR migration item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param deleteOption The delete option.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ String deleteOption,
+ Context context);
+
+ /**
+ * The operation to update the recovery settings of an ASR migration item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param input Update migration item input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, MigrationItemInner> beginUpdate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ UpdateMigrationItemInput input);
+
+ /**
+ * The operation to update the recovery settings of an ASR migration item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param input Update migration item input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, MigrationItemInner> beginUpdate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ UpdateMigrationItemInput input,
+ Context context);
+
+ /**
+ * The operation to update the recovery settings of an ASR migration item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param input Update migration item input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MigrationItemInner update(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ UpdateMigrationItemInput input);
+
+ /**
+ * The operation to update the recovery settings of an ASR migration item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param input Update migration item input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MigrationItemInner update(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ UpdateMigrationItemInput input,
+ Context context);
+
+ /**
+ * The operation to initiate migration of the item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param migrateInput Migrate input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, MigrationItemInner> beginMigrate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ MigrateInput migrateInput);
+
+ /**
+ * The operation to initiate migration of the item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param migrateInput Migrate input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, MigrationItemInner> beginMigrate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ MigrateInput migrateInput,
+ Context context);
+
+ /**
+ * The operation to initiate migration of the item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param migrateInput Migrate input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MigrationItemInner migrate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ MigrateInput migrateInput);
+
+ /**
+ * The operation to initiate migration of the item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param migrateInput Migrate input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MigrationItemInner migrate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ MigrateInput migrateInput,
+ Context context);
+
+ /**
+ * The operation to resynchronize replication of an ASR migration item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param input Resync input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, MigrationItemInner> beginResync(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ ResyncInput input);
+
+ /**
+ * The operation to resynchronize replication of an ASR migration item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param input Resync input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, MigrationItemInner> beginResync(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ ResyncInput input,
+ Context context);
+
+ /**
+ * The operation to resynchronize replication of an ASR migration item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param input Resync input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MigrationItemInner resync(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ ResyncInput input);
+
+ /**
+ * The operation to resynchronize replication of an ASR migration item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param input Resync input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MigrationItemInner resync(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ ResyncInput input,
+ Context context);
+
+ /**
+ * The operation to initiate test migration of the item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param testMigrateInput Test migrate input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, MigrationItemInner> beginTestMigrate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ TestMigrateInput testMigrateInput);
+
+ /**
+ * The operation to initiate test migration of the item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param testMigrateInput Test migrate input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, MigrationItemInner> beginTestMigrate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ TestMigrateInput testMigrateInput,
+ Context context);
+
+ /**
+ * The operation to initiate test migration of the item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param testMigrateInput Test migrate input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MigrationItemInner testMigrate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ TestMigrateInput testMigrateInput);
+
+ /**
+ * The operation to initiate test migration of the item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param testMigrateInput Test migrate input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MigrationItemInner testMigrate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ TestMigrateInput testMigrateInput,
+ Context context);
+
+ /**
+ * The operation to initiate test migrate cleanup.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param testMigrateCleanupInput Test migrate cleanup input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, MigrationItemInner> beginTestMigrateCleanup(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ TestMigrateCleanupInput testMigrateCleanupInput);
+
+ /**
+ * The operation to initiate test migrate cleanup.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param testMigrateCleanupInput Test migrate cleanup input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, MigrationItemInner> beginTestMigrateCleanup(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ TestMigrateCleanupInput testMigrateCleanupInput,
+ Context context);
+
+ /**
+ * The operation to initiate test migrate cleanup.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param testMigrateCleanupInput Test migrate cleanup input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MigrationItemInner testMigrateCleanup(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ TestMigrateCleanupInput testMigrateCleanupInput);
+
+ /**
+ * The operation to initiate test migrate cleanup.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param testMigrateCleanupInput Test migrate cleanup input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MigrationItemInner testMigrateCleanup(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ TestMigrateCleanupInput testMigrateCleanupInput,
+ Context context);
+
+ /**
+ * Gets the list of migration items in the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of migration items in the vault.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceName, String resourceGroupName);
+
+ /**
+ * Gets the list of migration items in the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param skipToken The pagination token.
+ * @param takeToken The page size.
+ * @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 the list of migration items in the vault.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceName,
+ String resourceGroupName,
+ String skipToken,
+ String takeToken,
+ String filter,
+ Context context);
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationNetworkMappingsClient.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationNetworkMappingsClient.java
new file mode 100644
index 000000000000..305c9ca08a0b
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationNetworkMappingsClient.java
@@ -0,0 +1,401 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.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.recoveryservicessiterecovery.fluent.models.NetworkMappingInner;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.CreateNetworkMappingInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.UpdateNetworkMappingInput;
+
+/** An instance of this class provides access to all the operations defined in ReplicationNetworkMappingsClient. */
+public interface ReplicationNetworkMappingsClient {
+ /**
+ * Lists all ASR network mappings for the specified network.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Primary fabric name.
+ * @param networkName Primary network name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of network mappings.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByReplicationNetworks(
+ String resourceName, String resourceGroupName, String fabricName, String networkName);
+
+ /**
+ * Lists all ASR network mappings for the specified network.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Primary fabric name.
+ * @param networkName Primary network name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of network mappings.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByReplicationNetworks(
+ String resourceName, String resourceGroupName, String fabricName, String networkName, Context context);
+
+ /**
+ * Gets the details of an ASR network mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Primary fabric name.
+ * @param networkName Primary network name.
+ * @param networkMappingName Network mapping name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of an ASR network mapping.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ NetworkMappingInner get(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String networkName,
+ String networkMappingName);
+
+ /**
+ * Gets the details of an ASR network mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Primary fabric name.
+ * @param networkName Primary network name.
+ * @param networkMappingName Network mapping name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of an ASR network mapping.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String networkName,
+ String networkMappingName,
+ Context context);
+
+ /**
+ * The operation to create an ASR network mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Primary fabric name.
+ * @param networkName Primary network name.
+ * @param networkMappingName Network mapping name.
+ * @param input Create network mapping input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return network Mapping model.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, NetworkMappingInner> beginCreate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String networkName,
+ String networkMappingName,
+ CreateNetworkMappingInput input);
+
+ /**
+ * The operation to create an ASR network mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Primary fabric name.
+ * @param networkName Primary network name.
+ * @param networkMappingName Network mapping name.
+ * @param input Create network mapping input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return network Mapping model.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, NetworkMappingInner> beginCreate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String networkName,
+ String networkMappingName,
+ CreateNetworkMappingInput input,
+ Context context);
+
+ /**
+ * The operation to create an ASR network mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Primary fabric name.
+ * @param networkName Primary network name.
+ * @param networkMappingName Network mapping name.
+ * @param input Create network mapping input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return network Mapping model.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ NetworkMappingInner create(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String networkName,
+ String networkMappingName,
+ CreateNetworkMappingInput input);
+
+ /**
+ * The operation to create an ASR network mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Primary fabric name.
+ * @param networkName Primary network name.
+ * @param networkMappingName Network mapping name.
+ * @param input Create network mapping input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return network Mapping model.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ NetworkMappingInner create(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String networkName,
+ String networkMappingName,
+ CreateNetworkMappingInput input,
+ Context context);
+
+ /**
+ * The operation to delete a network mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Primary fabric name.
+ * @param networkName Primary network name.
+ * @param networkMappingName ARM Resource Name for network mapping.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String networkName,
+ String networkMappingName);
+
+ /**
+ * The operation to delete a network mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Primary fabric name.
+ * @param networkName Primary network name.
+ * @param networkMappingName ARM Resource Name for network mapping.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String networkName,
+ String networkMappingName,
+ Context context);
+
+ /**
+ * The operation to delete a network mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Primary fabric name.
+ * @param networkName Primary network name.
+ * @param networkMappingName ARM Resource Name for network mapping.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String networkName,
+ String networkMappingName);
+
+ /**
+ * The operation to delete a network mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Primary fabric name.
+ * @param networkName Primary network name.
+ * @param networkMappingName ARM Resource Name for network mapping.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String networkName,
+ String networkMappingName,
+ Context context);
+
+ /**
+ * The operation to update an ASR network mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Primary fabric name.
+ * @param networkName Primary network name.
+ * @param networkMappingName Network mapping name.
+ * @param input Update network mapping input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return network Mapping model.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, NetworkMappingInner> beginUpdate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String networkName,
+ String networkMappingName,
+ UpdateNetworkMappingInput input);
+
+ /**
+ * The operation to update an ASR network mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Primary fabric name.
+ * @param networkName Primary network name.
+ * @param networkMappingName Network mapping name.
+ * @param input Update network mapping input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return network Mapping model.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, NetworkMappingInner> beginUpdate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String networkName,
+ String networkMappingName,
+ UpdateNetworkMappingInput input,
+ Context context);
+
+ /**
+ * The operation to update an ASR network mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Primary fabric name.
+ * @param networkName Primary network name.
+ * @param networkMappingName Network mapping name.
+ * @param input Update network mapping input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return network Mapping model.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ NetworkMappingInner update(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String networkName,
+ String networkMappingName,
+ UpdateNetworkMappingInput input);
+
+ /**
+ * The operation to update an ASR network mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Primary fabric name.
+ * @param networkName Primary network name.
+ * @param networkMappingName Network mapping name.
+ * @param input Update network mapping input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return network Mapping model.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ NetworkMappingInner update(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String networkName,
+ String networkMappingName,
+ UpdateNetworkMappingInput input,
+ Context context);
+
+ /**
+ * Lists all ASR network mappings in the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of network mappings.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceName, String resourceGroupName);
+
+ /**
+ * Lists all ASR network mappings in the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of network mappings.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceName, String resourceGroupName, Context context);
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationNetworksClient.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationNetworksClient.java
new file mode 100644
index 000000000000..3b5e320ce6f4
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationNetworksClient.java
@@ -0,0 +1,105 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.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.recoveryservicessiterecovery.fluent.models.NetworkInner;
+
+/** An instance of this class provides access to all the operations defined in ReplicationNetworksClient. */
+public interface ReplicationNetworksClient {
+ /**
+ * Lists the networks available for a fabric.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of networks.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByReplicationFabrics(
+ String resourceName, String resourceGroupName, String fabricName);
+
+ /**
+ * Lists the networks available for a fabric.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of networks.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByReplicationFabrics(
+ String resourceName, String resourceGroupName, String fabricName, Context context);
+
+ /**
+ * Gets the details of a network.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Server Id.
+ * @param networkName Primary network name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of a network.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ NetworkInner get(String resourceName, String resourceGroupName, String fabricName, String networkName);
+
+ /**
+ * Gets the details of a network.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Server Id.
+ * @param networkName Primary network name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of a network.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceName, String resourceGroupName, String fabricName, String networkName, Context context);
+
+ /**
+ * Lists the networks available in a vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of networks.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceName, String resourceGroupName);
+
+ /**
+ * Lists the networks available in a vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of networks.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceName, String resourceGroupName, Context context);
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationPoliciesClient.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationPoliciesClient.java
new file mode 100644
index 000000000000..bd12cf31af41
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationPoliciesClient.java
@@ -0,0 +1,263 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.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.recoveryservicessiterecovery.fluent.models.PolicyInner;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.CreatePolicyInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.UpdatePolicyInput;
+
+/** An instance of this class provides access to all the operations defined in ReplicationPoliciesClient. */
+public interface ReplicationPoliciesClient {
+ /**
+ * Lists the replication policies for a vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protection Profile Collection details.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceName, String resourceGroupName);
+
+ /**
+ * Lists the replication policies for a vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protection Profile Collection details.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceName, String resourceGroupName, Context context);
+
+ /**
+ * Gets the details of a replication policy.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param policyName Replication policy name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of a replication policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PolicyInner get(String resourceName, String resourceGroupName, String policyName);
+
+ /**
+ * Gets the details of a replication policy.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param policyName Replication policy name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of a replication policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceName, String resourceGroupName, String policyName, Context context);
+
+ /**
+ * The operation to create a replication policy.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param policyName Replication policy name.
+ * @param input Create policy input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protection profile details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, PolicyInner> beginCreate(
+ String resourceName, String resourceGroupName, String policyName, CreatePolicyInput input);
+
+ /**
+ * The operation to create a replication policy.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param policyName Replication policy name.
+ * @param input Create policy input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protection profile details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, PolicyInner> beginCreate(
+ String resourceName, String resourceGroupName, String policyName, CreatePolicyInput input, Context context);
+
+ /**
+ * The operation to create a replication policy.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param policyName Replication policy name.
+ * @param input Create policy input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protection profile details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PolicyInner create(String resourceName, String resourceGroupName, String policyName, CreatePolicyInput input);
+
+ /**
+ * The operation to create a replication policy.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param policyName Replication policy name.
+ * @param input Create policy input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protection profile details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PolicyInner create(
+ String resourceName, String resourceGroupName, String policyName, CreatePolicyInput input, Context context);
+
+ /**
+ * The operation to delete a replication policy.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param policyName Replication policy name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceName, String resourceGroupName, String policyName);
+
+ /**
+ * The operation to delete a replication policy.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param policyName Replication policy name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceName, String resourceGroupName, String policyName, Context context);
+
+ /**
+ * The operation to delete a replication policy.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param policyName Replication policy name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceName, String resourceGroupName, String policyName);
+
+ /**
+ * The operation to delete a replication policy.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param policyName Replication policy name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceName, String resourceGroupName, String policyName, Context context);
+
+ /**
+ * The operation to update a replication policy.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param policyName Policy Id.
+ * @param input Update Policy Input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protection profile details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, PolicyInner> beginUpdate(
+ String resourceName, String resourceGroupName, String policyName, UpdatePolicyInput input);
+
+ /**
+ * The operation to update a replication policy.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param policyName Policy Id.
+ * @param input Update Policy Input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protection profile details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, PolicyInner> beginUpdate(
+ String resourceName, String resourceGroupName, String policyName, UpdatePolicyInput input, Context context);
+
+ /**
+ * The operation to update a replication policy.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param policyName Policy Id.
+ * @param input Update Policy Input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protection profile details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PolicyInner update(String resourceName, String resourceGroupName, String policyName, UpdatePolicyInput input);
+
+ /**
+ * The operation to update a replication policy.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param policyName Policy Id.
+ * @param input Update Policy Input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protection profile details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PolicyInner update(
+ String resourceName, String resourceGroupName, String policyName, UpdatePolicyInput input, Context context);
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationProtectableItemsClient.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationProtectableItemsClient.java
new file mode 100644
index 000000000000..49c2f879a308
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationProtectableItemsClient.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.recoveryservicessiterecovery.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.recoveryservicessiterecovery.fluent.models.ProtectableItemInner;
+
+/** An instance of this class provides access to all the operations defined in ReplicationProtectableItemsClient. */
+public interface ReplicationProtectableItemsClient {
+ /**
+ * Lists the protectable items in a protection container.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container 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 protectable item collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByReplicationProtectionContainers(
+ String resourceName, String resourceGroupName, String fabricName, String protectionContainerName);
+
+ /**
+ * Lists the protectable items in a protection container.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param filter OData filter options.
+ * @param take take OData query parameter.
+ * @param skipToken skipToken OData query parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protectable item collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByReplicationProtectionContainers(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String filter,
+ String take,
+ String skipToken,
+ Context context);
+
+ /**
+ * The operation to get the details of a protectable item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param protectableItemName Protectable item 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 replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProtectableItemInner get(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String protectableItemName);
+
+ /**
+ * The operation to get the details of a protectable item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param protectableItemName Protectable item 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 replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String protectableItemName,
+ Context context);
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationProtectedItemsClient.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationProtectedItemsClient.java
new file mode 100644
index 000000000000..75b3f58516a6
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationProtectedItemsClient.java
@@ -0,0 +1,1753 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.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.recoveryservicessiterecovery.fluent.models.ReplicationProtectedItemInner;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.AddDisksInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ApplyRecoveryPointInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.DisableProtectionInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.EnableProtectionInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.PlannedFailoverInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RemoveDisksInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ResolveHealthInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ReverseReplicationInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.TestFailoverCleanupInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.TestFailoverInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.UnplannedFailoverInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.UpdateMobilityServiceRequest;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.UpdateReplicationProtectedItemInput;
+
+/** An instance of this class provides access to all the operations defined in ReplicationProtectedItemsClient. */
+public interface ReplicationProtectedItemsClient {
+ /**
+ * Gets the list of ASR replication protected items in the protection container.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of ASR replication protected items in the protection container.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByReplicationProtectionContainers(
+ String resourceName, String resourceGroupName, String fabricName, String protectionContainerName);
+
+ /**
+ * Gets the list of ASR replication protected items in the protection container.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of ASR replication protected items in the protection container.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByReplicationProtectionContainers(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ Context context);
+
+ /**
+ * Gets the details of an ASR replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric unique name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of an ASR replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationProtectedItemInner get(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName);
+
+ /**
+ * Gets the details of an ASR replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric unique name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of an ASR replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ Context context);
+
+ /**
+ * The operation to create an ASR replication protected item (Enable replication).
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Name of the fabric.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName A name for the replication protected item.
+ * @param input Enable Protection Input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ReplicationProtectedItemInner> beginCreate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ EnableProtectionInput input);
+
+ /**
+ * The operation to create an ASR replication protected item (Enable replication).
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Name of the fabric.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName A name for the replication protected item.
+ * @param input Enable Protection Input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ReplicationProtectedItemInner> beginCreate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ EnableProtectionInput input,
+ Context context);
+
+ /**
+ * The operation to create an ASR replication protected item (Enable replication).
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Name of the fabric.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName A name for the replication protected item.
+ * @param input Enable Protection Input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationProtectedItemInner create(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ EnableProtectionInput input);
+
+ /**
+ * The operation to create an ASR replication protected item (Enable replication).
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Name of the fabric.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName A name for the replication protected item.
+ * @param input Enable Protection Input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationProtectedItemInner create(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ EnableProtectionInput input,
+ Context context);
+
+ /**
+ * The operation to delete or purge a replication protected item. This operation will force delete the replication
+ * protected item. Use the remove operation on replication protected item to perform a clean disable replication for
+ * the item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginPurge(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName);
+
+ /**
+ * The operation to delete or purge a replication protected item. This operation will force delete the replication
+ * protected item. Use the remove operation on replication protected item to perform a clean disable replication for
+ * the item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginPurge(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ Context context);
+
+ /**
+ * The operation to delete or purge a replication protected item. This operation will force delete the replication
+ * protected item. Use the remove operation on replication protected item to perform a clean disable replication for
+ * the item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void purge(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName);
+
+ /**
+ * The operation to delete or purge a replication protected item. This operation will force delete the replication
+ * protected item. Use the remove operation on replication protected item to perform a clean disable replication for
+ * the item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void purge(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ Context context);
+
+ /**
+ * The operation to update the recovery settings of an ASR replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param updateProtectionInput Update protection input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ReplicationProtectedItemInner> beginUpdate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ UpdateReplicationProtectedItemInput updateProtectionInput);
+
+ /**
+ * The operation to update the recovery settings of an ASR replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param updateProtectionInput Update protection input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ReplicationProtectedItemInner> beginUpdate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ UpdateReplicationProtectedItemInput updateProtectionInput,
+ Context context);
+
+ /**
+ * The operation to update the recovery settings of an ASR replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param updateProtectionInput Update protection input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationProtectedItemInner update(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ UpdateReplicationProtectedItemInput updateProtectionInput);
+
+ /**
+ * The operation to update the recovery settings of an ASR replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param updateProtectionInput Update protection input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationProtectedItemInner update(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ UpdateReplicationProtectedItemInput updateProtectionInput,
+ Context context);
+
+ /**
+ * Operation to add disks(s) to the replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param addDisksInput Add disks input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ReplicationProtectedItemInner> beginAddDisks(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ AddDisksInput addDisksInput);
+
+ /**
+ * Operation to add disks(s) to the replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param addDisksInput Add disks input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ReplicationProtectedItemInner> beginAddDisks(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ AddDisksInput addDisksInput,
+ Context context);
+
+ /**
+ * Operation to add disks(s) to the replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param addDisksInput Add disks input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationProtectedItemInner addDisks(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ AddDisksInput addDisksInput);
+
+ /**
+ * Operation to add disks(s) to the replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param addDisksInput Add disks input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationProtectedItemInner addDisks(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ AddDisksInput addDisksInput,
+ Context context);
+
+ /**
+ * The operation to change the recovery point of a failed over replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName The ARM fabric name.
+ * @param protectionContainerName The protection container name.
+ * @param replicatedProtectedItemName The replicated protected item name.
+ * @param applyRecoveryPointInput The ApplyRecoveryPointInput.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ReplicationProtectedItemInner> beginApplyRecoveryPoint(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ ApplyRecoveryPointInput applyRecoveryPointInput);
+
+ /**
+ * The operation to change the recovery point of a failed over replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName The ARM fabric name.
+ * @param protectionContainerName The protection container name.
+ * @param replicatedProtectedItemName The replicated protected item name.
+ * @param applyRecoveryPointInput The ApplyRecoveryPointInput.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ReplicationProtectedItemInner> beginApplyRecoveryPoint(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ ApplyRecoveryPointInput applyRecoveryPointInput,
+ Context context);
+
+ /**
+ * The operation to change the recovery point of a failed over replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName The ARM fabric name.
+ * @param protectionContainerName The protection container name.
+ * @param replicatedProtectedItemName The replicated protected item name.
+ * @param applyRecoveryPointInput The ApplyRecoveryPointInput.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationProtectedItemInner applyRecoveryPoint(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ ApplyRecoveryPointInput applyRecoveryPointInput);
+
+ /**
+ * The operation to change the recovery point of a failed over replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName The ARM fabric name.
+ * @param protectionContainerName The protection container name.
+ * @param replicatedProtectedItemName The replicated protected item name.
+ * @param applyRecoveryPointInput The ApplyRecoveryPointInput.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationProtectedItemInner applyRecoveryPoint(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ ApplyRecoveryPointInput applyRecoveryPointInput,
+ Context context);
+
+ /**
+ * Operation to cancel the failover of the replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item 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 replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ReplicationProtectedItemInner> beginFailoverCancel(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName);
+
+ /**
+ * Operation to cancel the failover of the replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item 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 replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ReplicationProtectedItemInner> beginFailoverCancel(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ Context context);
+
+ /**
+ * Operation to cancel the failover of the replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item 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 replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationProtectedItemInner failoverCancel(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName);
+
+ /**
+ * Operation to cancel the failover of the replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item 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 replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationProtectedItemInner failoverCancel(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ Context context);
+
+ /**
+ * Operation to commit the failover of the replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item 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 replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ReplicationProtectedItemInner> beginFailoverCommit(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName);
+
+ /**
+ * Operation to commit the failover of the replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item 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 replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ReplicationProtectedItemInner> beginFailoverCommit(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ Context context);
+
+ /**
+ * Operation to commit the failover of the replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item 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 replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationProtectedItemInner failoverCommit(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName);
+
+ /**
+ * Operation to commit the failover of the replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item 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 replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationProtectedItemInner failoverCommit(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ Context context);
+
+ /**
+ * Operation to initiate a planned failover of the replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param failoverInput Planned failover input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ReplicationProtectedItemInner> beginPlannedFailover(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ PlannedFailoverInput failoverInput);
+
+ /**
+ * Operation to initiate a planned failover of the replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param failoverInput Planned failover input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ReplicationProtectedItemInner> beginPlannedFailover(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ PlannedFailoverInput failoverInput,
+ Context context);
+
+ /**
+ * Operation to initiate a planned failover of the replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param failoverInput Planned failover input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationProtectedItemInner plannedFailover(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ PlannedFailoverInput failoverInput);
+
+ /**
+ * Operation to initiate a planned failover of the replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param failoverInput Planned failover input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationProtectedItemInner plannedFailover(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ PlannedFailoverInput failoverInput,
+ Context context);
+
+ /**
+ * The operation to disable replication on a replication protected item. This will also remove the item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param disableProtectionInput Disable protection input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ DisableProtectionInput disableProtectionInput);
+
+ /**
+ * The operation to disable replication on a replication protected item. This will also remove the item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param disableProtectionInput Disable protection input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ DisableProtectionInput disableProtectionInput,
+ Context context);
+
+ /**
+ * The operation to disable replication on a replication protected item. This will also remove the item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param disableProtectionInput Disable protection input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ DisableProtectionInput disableProtectionInput);
+
+ /**
+ * The operation to disable replication on a replication protected item. This will also remove the item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param disableProtectionInput Disable protection input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ DisableProtectionInput disableProtectionInput,
+ Context context);
+
+ /**
+ * Operation to remove disk(s) from the replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param removeDisksInput Remove disks input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ReplicationProtectedItemInner> beginRemoveDisks(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ RemoveDisksInput removeDisksInput);
+
+ /**
+ * Operation to remove disk(s) from the replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param removeDisksInput Remove disks input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ReplicationProtectedItemInner> beginRemoveDisks(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ RemoveDisksInput removeDisksInput,
+ Context context);
+
+ /**
+ * Operation to remove disk(s) from the replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param removeDisksInput Remove disks input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationProtectedItemInner removeDisks(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ RemoveDisksInput removeDisksInput);
+
+ /**
+ * Operation to remove disk(s) from the replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param removeDisksInput Remove disks input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationProtectedItemInner removeDisks(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ RemoveDisksInput removeDisksInput,
+ Context context);
+
+ /**
+ * The operation to start resynchronize/repair replication for a replication protected item requiring
+ * resynchronization.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName The name of the fabric.
+ * @param protectionContainerName The name of the container.
+ * @param replicatedProtectedItemName The name of the replication protected item.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ReplicationProtectedItemInner> beginRepairReplication(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName);
+
+ /**
+ * The operation to start resynchronize/repair replication for a replication protected item requiring
+ * resynchronization.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName The name of the fabric.
+ * @param protectionContainerName The name of the container.
+ * @param replicatedProtectedItemName The name of the replication protected item.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ReplicationProtectedItemInner> beginRepairReplication(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ Context context);
+
+ /**
+ * The operation to start resynchronize/repair replication for a replication protected item requiring
+ * resynchronization.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName The name of the fabric.
+ * @param protectionContainerName The name of the container.
+ * @param replicatedProtectedItemName The name of the replication protected item.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationProtectedItemInner repairReplication(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName);
+
+ /**
+ * The operation to start resynchronize/repair replication for a replication protected item requiring
+ * resynchronization.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName The name of the fabric.
+ * @param protectionContainerName The name of the container.
+ * @param replicatedProtectedItemName The name of the replication protected item.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationProtectedItemInner repairReplication(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ Context context);
+
+ /**
+ * Operation to reprotect or reverse replicate a failed over replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param reprotectInput Reverse replication input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ReplicationProtectedItemInner> beginReprotect(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ ReverseReplicationInput reprotectInput);
+
+ /**
+ * Operation to reprotect or reverse replicate a failed over replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param reprotectInput Reverse replication input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ReplicationProtectedItemInner> beginReprotect(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ ReverseReplicationInput reprotectInput,
+ Context context);
+
+ /**
+ * Operation to reprotect or reverse replicate a failed over replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param reprotectInput Reverse replication input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationProtectedItemInner reprotect(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ ReverseReplicationInput reprotectInput);
+
+ /**
+ * Operation to reprotect or reverse replicate a failed over replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param reprotectInput Reverse replication input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationProtectedItemInner reprotect(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ ReverseReplicationInput reprotectInput,
+ Context context);
+
+ /**
+ * Operation to resolve health issues of the replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param resolveHealthInput Health issue input object.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ReplicationProtectedItemInner> beginResolveHealthErrors(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ ResolveHealthInput resolveHealthInput);
+
+ /**
+ * Operation to resolve health issues of the replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param resolveHealthInput Health issue input object.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ReplicationProtectedItemInner> beginResolveHealthErrors(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ ResolveHealthInput resolveHealthInput,
+ Context context);
+
+ /**
+ * Operation to resolve health issues of the replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param resolveHealthInput Health issue input object.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationProtectedItemInner resolveHealthErrors(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ ResolveHealthInput resolveHealthInput);
+
+ /**
+ * Operation to resolve health issues of the replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param resolveHealthInput Health issue input object.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationProtectedItemInner resolveHealthErrors(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ ResolveHealthInput resolveHealthInput,
+ Context context);
+
+ /**
+ * Operation to perform a test failover of the replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param testfailoverInput Test failover input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ReplicationProtectedItemInner> beginTestFailover(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ TestFailoverInput testfailoverInput);
+
+ /**
+ * Operation to perform a test failover of the replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param testfailoverInput Test failover input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ReplicationProtectedItemInner> beginTestFailover(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ TestFailoverInput testfailoverInput,
+ Context context);
+
+ /**
+ * Operation to perform a test failover of the replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param testfailoverInput Test failover input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationProtectedItemInner testFailover(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ TestFailoverInput testfailoverInput);
+
+ /**
+ * Operation to perform a test failover of the replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param testfailoverInput Test failover input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationProtectedItemInner testFailover(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ TestFailoverInput testfailoverInput,
+ Context context);
+
+ /**
+ * Operation to clean up the test failover of a replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param cleanupInput Test failover cleanup input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ReplicationProtectedItemInner> beginTestFailoverCleanup(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ TestFailoverCleanupInput cleanupInput);
+
+ /**
+ * Operation to clean up the test failover of a replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param cleanupInput Test failover cleanup input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ReplicationProtectedItemInner> beginTestFailoverCleanup(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ TestFailoverCleanupInput cleanupInput,
+ Context context);
+
+ /**
+ * Operation to clean up the test failover of a replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param cleanupInput Test failover cleanup input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationProtectedItemInner testFailoverCleanup(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ TestFailoverCleanupInput cleanupInput);
+
+ /**
+ * Operation to clean up the test failover of a replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param cleanupInput Test failover cleanup input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationProtectedItemInner testFailoverCleanup(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ TestFailoverCleanupInput cleanupInput,
+ Context context);
+
+ /**
+ * Operation to initiate a failover of the replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param failoverInput Failover input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ReplicationProtectedItemInner> beginUnplannedFailover(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ UnplannedFailoverInput failoverInput);
+
+ /**
+ * Operation to initiate a failover of the replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param failoverInput Failover input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ReplicationProtectedItemInner> beginUnplannedFailover(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ UnplannedFailoverInput failoverInput,
+ Context context);
+
+ /**
+ * Operation to initiate a failover of the replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param failoverInput Failover input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationProtectedItemInner unplannedFailover(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ UnplannedFailoverInput failoverInput);
+
+ /**
+ * Operation to initiate a failover of the replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param replicatedProtectedItemName Replication protected item name.
+ * @param failoverInput Failover input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationProtectedItemInner unplannedFailover(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ UnplannedFailoverInput failoverInput,
+ Context context);
+
+ /**
+ * The operation to update(push update) the installed mobility service software on a replication protected item to
+ * the latest available version.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName The name of the fabric containing the protected item.
+ * @param protectionContainerName The name of the container containing the protected item.
+ * @param replicationProtectedItemName The name of the protected item on which the agent is to be updated.
+ * @param updateMobilityServiceRequest Request to update the mobility service on the protected item.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ReplicationProtectedItemInner> beginUpdateMobilityService(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicationProtectedItemName,
+ UpdateMobilityServiceRequest updateMobilityServiceRequest);
+
+ /**
+ * The operation to update(push update) the installed mobility service software on a replication protected item to
+ * the latest available version.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName The name of the fabric containing the protected item.
+ * @param protectionContainerName The name of the container containing the protected item.
+ * @param replicationProtectedItemName The name of the protected item on which the agent is to be updated.
+ * @param updateMobilityServiceRequest Request to update the mobility service on the protected item.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ReplicationProtectedItemInner> beginUpdateMobilityService(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicationProtectedItemName,
+ UpdateMobilityServiceRequest updateMobilityServiceRequest,
+ Context context);
+
+ /**
+ * The operation to update(push update) the installed mobility service software on a replication protected item to
+ * the latest available version.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName The name of the fabric containing the protected item.
+ * @param protectionContainerName The name of the container containing the protected item.
+ * @param replicationProtectedItemName The name of the protected item on which the agent is to be updated.
+ * @param updateMobilityServiceRequest Request to update the mobility service on the protected item.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationProtectedItemInner updateMobilityService(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicationProtectedItemName,
+ UpdateMobilityServiceRequest updateMobilityServiceRequest);
+
+ /**
+ * The operation to update(push update) the installed mobility service software on a replication protected item to
+ * the latest available version.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName The name of the fabric containing the protected item.
+ * @param protectionContainerName The name of the container containing the protected item.
+ * @param replicationProtectedItemName The name of the protected item on which the agent is to be updated.
+ * @param updateMobilityServiceRequest Request to update the mobility service on the protected item.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationProtectedItemInner updateMobilityService(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicationProtectedItemName,
+ UpdateMobilityServiceRequest updateMobilityServiceRequest,
+ Context context);
+
+ /**
+ * Gets the list of ASR replication protected items in the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of ASR replication protected items in the vault.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceName, String resourceGroupName);
+
+ /**
+ * Gets the list of ASR replication protected items in the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param skipToken The pagination token. Possible values: "FabricId" or "FabricId_CloudId" or null.
+ * @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 the list of ASR replication protected items in the vault.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceName, String resourceGroupName, String skipToken, String filter, Context context);
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationProtectionContainerMappingsClient.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationProtectionContainerMappingsClient.java
new file mode 100644
index 000000000000..cd2999cf4a39
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationProtectionContainerMappingsClient.java
@@ -0,0 +1,503 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.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.recoveryservicessiterecovery.fluent.models.ProtectionContainerMappingInner;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.CreateProtectionContainerMappingInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RemoveProtectionContainerMappingInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.UpdateProtectionContainerMappingInput;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * ReplicationProtectionContainerMappingsClient.
+ */
+public interface ReplicationProtectionContainerMappingsClient {
+ /**
+ * Lists the protection container mappings for a protection container.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container 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 protection container mapping collection class.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByReplicationProtectionContainers(
+ String resourceName, String resourceGroupName, String fabricName, String protectionContainerName);
+
+ /**
+ * Lists the protection container mappings for a protection container.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container 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 protection container mapping collection class.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByReplicationProtectionContainers(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ Context context);
+
+ /**
+ * Gets the details of a protection container mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param mappingName Protection Container mapping name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of a protection container mapping.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProtectionContainerMappingInner get(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String mappingName);
+
+ /**
+ * Gets the details of a protection container mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param mappingName Protection Container mapping name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of a protection container mapping.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String mappingName,
+ Context context);
+
+ /**
+ * The operation to create a protection container mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param mappingName Protection container mapping name.
+ * @param creationInput Mapping creation input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protection container mapping object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ProtectionContainerMappingInner> beginCreate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String mappingName,
+ CreateProtectionContainerMappingInput creationInput);
+
+ /**
+ * The operation to create a protection container mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param mappingName Protection container mapping name.
+ * @param creationInput Mapping creation input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protection container mapping object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ProtectionContainerMappingInner> beginCreate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String mappingName,
+ CreateProtectionContainerMappingInput creationInput,
+ Context context);
+
+ /**
+ * The operation to create a protection container mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param mappingName Protection container mapping name.
+ * @param creationInput Mapping creation input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protection container mapping object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProtectionContainerMappingInner create(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String mappingName,
+ CreateProtectionContainerMappingInput creationInput);
+
+ /**
+ * The operation to create a protection container mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param mappingName Protection container mapping name.
+ * @param creationInput Mapping creation input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protection container mapping object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProtectionContainerMappingInner create(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String mappingName,
+ CreateProtectionContainerMappingInput creationInput,
+ Context context);
+
+ /**
+ * The operation to purge(force delete) a protection container mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param mappingName Protection container mapping name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginPurge(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String mappingName);
+
+ /**
+ * The operation to purge(force delete) a protection container mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param mappingName Protection container mapping name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginPurge(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String mappingName,
+ Context context);
+
+ /**
+ * The operation to purge(force delete) a protection container mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param mappingName Protection container mapping name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void purge(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String mappingName);
+
+ /**
+ * The operation to purge(force delete) a protection container mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param mappingName Protection container mapping name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void purge(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String mappingName,
+ Context context);
+
+ /**
+ * The operation to update protection container mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param mappingName Protection container mapping name.
+ * @param updateInput Mapping update input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protection container mapping object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ProtectionContainerMappingInner> beginUpdate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String mappingName,
+ UpdateProtectionContainerMappingInput updateInput);
+
+ /**
+ * The operation to update protection container mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param mappingName Protection container mapping name.
+ * @param updateInput Mapping update input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protection container mapping object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ProtectionContainerMappingInner> beginUpdate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String mappingName,
+ UpdateProtectionContainerMappingInput updateInput,
+ Context context);
+
+ /**
+ * The operation to update protection container mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param mappingName Protection container mapping name.
+ * @param updateInput Mapping update input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protection container mapping object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProtectionContainerMappingInner update(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String mappingName,
+ UpdateProtectionContainerMappingInput updateInput);
+
+ /**
+ * The operation to update protection container mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param mappingName Protection container mapping name.
+ * @param updateInput Mapping update input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protection container mapping object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProtectionContainerMappingInner update(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String mappingName,
+ UpdateProtectionContainerMappingInput updateInput,
+ Context context);
+
+ /**
+ * The operation to delete or remove a protection container mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param mappingName Protection container mapping name.
+ * @param removalInput Removal input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String mappingName,
+ RemoveProtectionContainerMappingInput removalInput);
+
+ /**
+ * The operation to delete or remove a protection container mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param mappingName Protection container mapping name.
+ * @param removalInput Removal input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String mappingName,
+ RemoveProtectionContainerMappingInput removalInput,
+ Context context);
+
+ /**
+ * The operation to delete or remove a protection container mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param mappingName Protection container mapping name.
+ * @param removalInput Removal input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String mappingName,
+ RemoveProtectionContainerMappingInput removalInput);
+
+ /**
+ * The operation to delete or remove a protection container mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param mappingName Protection container mapping name.
+ * @param removalInput Removal input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String mappingName,
+ RemoveProtectionContainerMappingInput removalInput,
+ Context context);
+
+ /**
+ * Lists the protection container mappings in the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protection container mapping collection class.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceName, String resourceGroupName);
+
+ /**
+ * Lists the protection container mappings in the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protection container mapping collection class.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceName, String resourceGroupName, Context context);
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationProtectionContainersClient.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationProtectionContainersClient.java
new file mode 100644
index 000000000000..ee5c2f1a17c1
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationProtectionContainersClient.java
@@ -0,0 +1,450 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.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.recoveryservicessiterecovery.fluent.models.ProtectionContainerInner;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.CreateProtectionContainerInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.DiscoverProtectableItemRequest;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.SwitchProtectionInput;
+
+/** An instance of this class provides access to all the operations defined in ReplicationProtectionContainersClient. */
+public interface ReplicationProtectionContainersClient {
+ /**
+ * Lists the protection containers in the specified fabric.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric 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 protection Container collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByReplicationFabrics(
+ String resourceName, String resourceGroupName, String fabricName);
+
+ /**
+ * Lists the protection containers in the specified fabric.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric 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 protection Container collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByReplicationFabrics(
+ String resourceName, String resourceGroupName, String fabricName, Context context);
+
+ /**
+ * Gets the details of a protection container.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of a protection container.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProtectionContainerInner get(
+ String resourceName, String resourceGroupName, String fabricName, String protectionContainerName);
+
+ /**
+ * Gets the details of a protection container.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of a protection container.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ Context context);
+
+ /**
+ * Operation to create a protection container.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric ARM name.
+ * @param protectionContainerName Unique protection container ARM name.
+ * @param creationInput Creation input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protection container details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ProtectionContainerInner> beginCreate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ CreateProtectionContainerInput creationInput);
+
+ /**
+ * Operation to create a protection container.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric ARM name.
+ * @param protectionContainerName Unique protection container ARM name.
+ * @param creationInput Creation input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protection container details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ProtectionContainerInner> beginCreate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ CreateProtectionContainerInput creationInput,
+ Context context);
+
+ /**
+ * Operation to create a protection container.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric ARM name.
+ * @param protectionContainerName Unique protection container ARM name.
+ * @param creationInput Creation input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protection container details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProtectionContainerInner create(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ CreateProtectionContainerInput creationInput);
+
+ /**
+ * Operation to create a protection container.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric ARM name.
+ * @param protectionContainerName Unique protection container ARM name.
+ * @param creationInput Creation input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protection container details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProtectionContainerInner create(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ CreateProtectionContainerInput creationInput,
+ Context context);
+
+ /**
+ * The operation to a add a protectable item to a protection container(Add physical server).
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName The name of the fabric.
+ * @param protectionContainerName The name of the protection container.
+ * @param discoverProtectableItemRequest The request object to add a protectable item.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protection container details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ProtectionContainerInner> beginDiscoverProtectableItem(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ DiscoverProtectableItemRequest discoverProtectableItemRequest);
+
+ /**
+ * The operation to a add a protectable item to a protection container(Add physical server).
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName The name of the fabric.
+ * @param protectionContainerName The name of the protection container.
+ * @param discoverProtectableItemRequest The request object to add a protectable item.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protection container details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ProtectionContainerInner> beginDiscoverProtectableItem(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ DiscoverProtectableItemRequest discoverProtectableItemRequest,
+ Context context);
+
+ /**
+ * The operation to a add a protectable item to a protection container(Add physical server).
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName The name of the fabric.
+ * @param protectionContainerName The name of the protection container.
+ * @param discoverProtectableItemRequest The request object to add a protectable item.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protection container details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProtectionContainerInner discoverProtectableItem(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ DiscoverProtectableItemRequest discoverProtectableItemRequest);
+
+ /**
+ * The operation to a add a protectable item to a protection container(Add physical server).
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName The name of the fabric.
+ * @param protectionContainerName The name of the protection container.
+ * @param discoverProtectableItemRequest The request object to add a protectable item.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protection container details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProtectionContainerInner discoverProtectableItem(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ DiscoverProtectableItemRequest discoverProtectableItemRequest,
+ Context context);
+
+ /**
+ * Operation to remove a protection container.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric ARM name.
+ * @param protectionContainerName Unique protection container ARM name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceName, String resourceGroupName, String fabricName, String protectionContainerName);
+
+ /**
+ * Operation to remove a protection container.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric ARM name.
+ * @param protectionContainerName Unique protection container ARM name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ Context context);
+
+ /**
+ * Operation to remove a protection container.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric ARM name.
+ * @param protectionContainerName Unique protection container ARM name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceName, String resourceGroupName, String fabricName, String protectionContainerName);
+
+ /**
+ * Operation to remove a protection container.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric ARM name.
+ * @param protectionContainerName Unique protection container ARM name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ Context context);
+
+ /**
+ * Operation to switch protection from one container to another or one replication provider to another.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param switchInput Switch protection input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protection container details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ProtectionContainerInner> beginSwitchProtection(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ SwitchProtectionInput switchInput);
+
+ /**
+ * Operation to switch protection from one container to another or one replication provider to another.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param switchInput Switch protection input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protection container details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ProtectionContainerInner> beginSwitchProtection(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ SwitchProtectionInput switchInput,
+ Context context);
+
+ /**
+ * Operation to switch protection from one container to another or one replication provider to another.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param switchInput Switch protection input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protection container details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProtectionContainerInner switchProtection(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ SwitchProtectionInput switchInput);
+
+ /**
+ * Operation to switch protection from one container to another or one replication provider to another.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Unique fabric name.
+ * @param protectionContainerName Protection container name.
+ * @param switchInput Switch protection input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protection container details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProtectionContainerInner switchProtection(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ SwitchProtectionInput switchInput,
+ Context context);
+
+ /**
+ * Lists the protection containers in a vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protection Container collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceName, String resourceGroupName);
+
+ /**
+ * Lists the protection containers in a vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return protection Container collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceName, String resourceGroupName, Context context);
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationProtectionIntentsClient.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationProtectionIntentsClient.java
new file mode 100644
index 000000000000..ede7fa446a75
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationProtectionIntentsClient.java
@@ -0,0 +1,113 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.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.recoveryservicessiterecovery.fluent.models.ReplicationProtectionIntentInner;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.CreateProtectionIntentInput;
+
+/** An instance of this class provides access to all the operations defined in ReplicationProtectionIntentsClient. */
+public interface ReplicationProtectionIntentsClient {
+ /**
+ * Gets the list of ASR replication protection intent objects in the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of ASR replication protection intent objects in the vault.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceName, String resourceGroupName);
+
+ /**
+ * Gets the list of ASR replication protection intent objects in the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param skipToken The pagination token.
+ * @param takeToken The page size.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of ASR replication protection intent objects in the vault.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceName, String resourceGroupName, String skipToken, String takeToken, Context context);
+
+ /**
+ * Gets the details of an ASR replication protection intent.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param intentObjectName Replication protection intent name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of an ASR replication protection intent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationProtectionIntentInner get(String resourceName, String resourceGroupName, String intentObjectName);
+
+ /**
+ * Gets the details of an ASR replication protection intent.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param intentObjectName Replication protection intent name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of an ASR replication protection intent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceName, String resourceGroupName, String intentObjectName, Context context);
+
+ /**
+ * The operation to create an ASR replication protection intent item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param intentObjectName A name for the replication protection item.
+ * @param input Create Protection Intent Input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protection intent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReplicationProtectionIntentInner create(
+ String resourceName, String resourceGroupName, String intentObjectName, CreateProtectionIntentInput input);
+
+ /**
+ * The operation to create an ASR replication protection intent item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param intentObjectName A name for the replication protection item.
+ * @param input Create Protection Intent Input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return replication protection intent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createWithResponse(
+ String resourceName,
+ String resourceGroupName,
+ String intentObjectName,
+ CreateProtectionIntentInput input,
+ Context context);
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationRecoveryPlansClient.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationRecoveryPlansClient.java
new file mode 100644
index 000000000000..33e737ca7e4f
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationRecoveryPlansClient.java
@@ -0,0 +1,777 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.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.recoveryservicessiterecovery.fluent.models.RecoveryPlanInner;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.CreateRecoveryPlanInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RecoveryPlanPlannedFailoverInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RecoveryPlanTestFailoverCleanupInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RecoveryPlanTestFailoverInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RecoveryPlanUnplannedFailoverInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.UpdateRecoveryPlanInput;
+
+/** An instance of this class provides access to all the operations defined in ReplicationRecoveryPlansClient. */
+public interface ReplicationRecoveryPlansClient {
+ /**
+ * Lists the recovery plans in the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return recovery plan collection details.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceName, String resourceGroupName);
+
+ /**
+ * Lists the recovery plans in the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return recovery plan collection details.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceName, String resourceGroupName, Context context);
+
+ /**
+ * Gets the details of the recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Name of the recovery plan.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of the recovery plan.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RecoveryPlanInner get(String resourceName, String resourceGroupName, String recoveryPlanName);
+
+ /**
+ * Gets the details of the recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Name of the recovery plan.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of the recovery plan.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceName, String resourceGroupName, String recoveryPlanName, Context context);
+
+ /**
+ * The operation to create a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan name.
+ * @param input Recovery Plan creation input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, RecoveryPlanInner> beginCreate(
+ String resourceName, String resourceGroupName, String recoveryPlanName, CreateRecoveryPlanInput input);
+
+ /**
+ * The operation to create a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan name.
+ * @param input Recovery Plan creation input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, RecoveryPlanInner> beginCreate(
+ String resourceName,
+ String resourceGroupName,
+ String recoveryPlanName,
+ CreateRecoveryPlanInput input,
+ Context context);
+
+ /**
+ * The operation to create a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan name.
+ * @param input Recovery Plan creation input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RecoveryPlanInner create(
+ String resourceName, String resourceGroupName, String recoveryPlanName, CreateRecoveryPlanInput input);
+
+ /**
+ * The operation to create a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan name.
+ * @param input Recovery Plan creation input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RecoveryPlanInner create(
+ String resourceName,
+ String resourceGroupName,
+ String recoveryPlanName,
+ CreateRecoveryPlanInput input,
+ Context context);
+
+ /**
+ * Delete a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceName, String resourceGroupName, String recoveryPlanName);
+
+ /**
+ * Delete a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceName, String resourceGroupName, String recoveryPlanName, Context context);
+
+ /**
+ * Delete a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceName, String resourceGroupName, String recoveryPlanName);
+
+ /**
+ * Delete a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceName, String resourceGroupName, String recoveryPlanName, Context context);
+
+ /**
+ * The operation to update a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan name.
+ * @param input Update recovery plan input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, RecoveryPlanInner> beginUpdate(
+ String resourceName, String resourceGroupName, String recoveryPlanName, UpdateRecoveryPlanInput input);
+
+ /**
+ * The operation to update a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan name.
+ * @param input Update recovery plan input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, RecoveryPlanInner> beginUpdate(
+ String resourceName,
+ String resourceGroupName,
+ String recoveryPlanName,
+ UpdateRecoveryPlanInput input,
+ Context context);
+
+ /**
+ * The operation to update a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan name.
+ * @param input Update recovery plan input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RecoveryPlanInner update(
+ String resourceName, String resourceGroupName, String recoveryPlanName, UpdateRecoveryPlanInput input);
+
+ /**
+ * The operation to update a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan name.
+ * @param input Update recovery plan input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RecoveryPlanInner update(
+ String resourceName,
+ String resourceGroupName,
+ String recoveryPlanName,
+ UpdateRecoveryPlanInput input,
+ Context context);
+
+ /**
+ * The operation to cancel the failover of a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan 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 recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, RecoveryPlanInner> beginFailoverCancel(
+ String resourceName, String resourceGroupName, String recoveryPlanName);
+
+ /**
+ * The operation to cancel the failover of a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan 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 recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, RecoveryPlanInner> beginFailoverCancel(
+ String resourceName, String resourceGroupName, String recoveryPlanName, Context context);
+
+ /**
+ * The operation to cancel the failover of a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan 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 recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RecoveryPlanInner failoverCancel(String resourceName, String resourceGroupName, String recoveryPlanName);
+
+ /**
+ * The operation to cancel the failover of a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan 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 recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RecoveryPlanInner failoverCancel(
+ String resourceName, String resourceGroupName, String recoveryPlanName, Context context);
+
+ /**
+ * The operation to commit the failover of a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan 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 recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, RecoveryPlanInner> beginFailoverCommit(
+ String resourceName, String resourceGroupName, String recoveryPlanName);
+
+ /**
+ * The operation to commit the failover of a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan 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 recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, RecoveryPlanInner> beginFailoverCommit(
+ String resourceName, String resourceGroupName, String recoveryPlanName, Context context);
+
+ /**
+ * The operation to commit the failover of a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan 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 recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RecoveryPlanInner failoverCommit(String resourceName, String resourceGroupName, String recoveryPlanName);
+
+ /**
+ * The operation to commit the failover of a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan 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 recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RecoveryPlanInner failoverCommit(
+ String resourceName, String resourceGroupName, String recoveryPlanName, Context context);
+
+ /**
+ * The operation to start the planned failover of a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan name.
+ * @param input Failover input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, RecoveryPlanInner> beginPlannedFailover(
+ String resourceName, String resourceGroupName, String recoveryPlanName, RecoveryPlanPlannedFailoverInput input);
+
+ /**
+ * The operation to start the planned failover of a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan name.
+ * @param input Failover input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, RecoveryPlanInner> beginPlannedFailover(
+ String resourceName,
+ String resourceGroupName,
+ String recoveryPlanName,
+ RecoveryPlanPlannedFailoverInput input,
+ Context context);
+
+ /**
+ * The operation to start the planned failover of a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan name.
+ * @param input Failover input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RecoveryPlanInner plannedFailover(
+ String resourceName, String resourceGroupName, String recoveryPlanName, RecoveryPlanPlannedFailoverInput input);
+
+ /**
+ * The operation to start the planned failover of a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan name.
+ * @param input Failover input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RecoveryPlanInner plannedFailover(
+ String resourceName,
+ String resourceGroupName,
+ String recoveryPlanName,
+ RecoveryPlanPlannedFailoverInput input,
+ Context context);
+
+ /**
+ * The operation to reprotect(reverse replicate) a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan 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 recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, RecoveryPlanInner> beginReprotect(
+ String resourceName, String resourceGroupName, String recoveryPlanName);
+
+ /**
+ * The operation to reprotect(reverse replicate) a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan 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 recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, RecoveryPlanInner> beginReprotect(
+ String resourceName, String resourceGroupName, String recoveryPlanName, Context context);
+
+ /**
+ * The operation to reprotect(reverse replicate) a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan 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 recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RecoveryPlanInner reprotect(String resourceName, String resourceGroupName, String recoveryPlanName);
+
+ /**
+ * The operation to reprotect(reverse replicate) a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan 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 recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RecoveryPlanInner reprotect(
+ String resourceName, String resourceGroupName, String recoveryPlanName, Context context);
+
+ /**
+ * The operation to start the test failover of a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan name.
+ * @param input Recovery plan test failover input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, RecoveryPlanInner> beginTestFailover(
+ String resourceName, String resourceGroupName, String recoveryPlanName, RecoveryPlanTestFailoverInput input);
+
+ /**
+ * The operation to start the test failover of a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan name.
+ * @param input Recovery plan test failover input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, RecoveryPlanInner> beginTestFailover(
+ String resourceName,
+ String resourceGroupName,
+ String recoveryPlanName,
+ RecoveryPlanTestFailoverInput input,
+ Context context);
+
+ /**
+ * The operation to start the test failover of a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan name.
+ * @param input Recovery plan test failover input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RecoveryPlanInner testFailover(
+ String resourceName, String resourceGroupName, String recoveryPlanName, RecoveryPlanTestFailoverInput input);
+
+ /**
+ * The operation to start the test failover of a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan name.
+ * @param input Recovery plan test failover input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RecoveryPlanInner testFailover(
+ String resourceName,
+ String resourceGroupName,
+ String recoveryPlanName,
+ RecoveryPlanTestFailoverInput input,
+ Context context);
+
+ /**
+ * The operation to cleanup test failover of a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan name.
+ * @param input Recovery plan test failover cleanup input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, RecoveryPlanInner> beginTestFailoverCleanup(
+ String resourceName,
+ String resourceGroupName,
+ String recoveryPlanName,
+ RecoveryPlanTestFailoverCleanupInput input);
+
+ /**
+ * The operation to cleanup test failover of a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan name.
+ * @param input Recovery plan test failover cleanup input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, RecoveryPlanInner> beginTestFailoverCleanup(
+ String resourceName,
+ String resourceGroupName,
+ String recoveryPlanName,
+ RecoveryPlanTestFailoverCleanupInput input,
+ Context context);
+
+ /**
+ * The operation to cleanup test failover of a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan name.
+ * @param input Recovery plan test failover cleanup input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RecoveryPlanInner testFailoverCleanup(
+ String resourceName,
+ String resourceGroupName,
+ String recoveryPlanName,
+ RecoveryPlanTestFailoverCleanupInput input);
+
+ /**
+ * The operation to cleanup test failover of a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan name.
+ * @param input Recovery plan test failover cleanup input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RecoveryPlanInner testFailoverCleanup(
+ String resourceName,
+ String resourceGroupName,
+ String recoveryPlanName,
+ RecoveryPlanTestFailoverCleanupInput input,
+ Context context);
+
+ /**
+ * The operation to start the unplanned failover of a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan name.
+ * @param input Recovery plan unplanned failover input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, RecoveryPlanInner> beginUnplannedFailover(
+ String resourceName,
+ String resourceGroupName,
+ String recoveryPlanName,
+ RecoveryPlanUnplannedFailoverInput input);
+
+ /**
+ * The operation to start the unplanned failover of a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan name.
+ * @param input Recovery plan unplanned failover input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, RecoveryPlanInner> beginUnplannedFailover(
+ String resourceName,
+ String resourceGroupName,
+ String recoveryPlanName,
+ RecoveryPlanUnplannedFailoverInput input,
+ Context context);
+
+ /**
+ * The operation to start the unplanned failover of a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan name.
+ * @param input Recovery plan unplanned failover input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RecoveryPlanInner unplannedFailover(
+ String resourceName,
+ String resourceGroupName,
+ String recoveryPlanName,
+ RecoveryPlanUnplannedFailoverInput input);
+
+ /**
+ * The operation to start the unplanned failover of a recovery plan.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param recoveryPlanName Recovery plan name.
+ * @param input Recovery plan unplanned failover input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return recovery plan details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RecoveryPlanInner unplannedFailover(
+ String resourceName,
+ String resourceGroupName,
+ String recoveryPlanName,
+ RecoveryPlanUnplannedFailoverInput input,
+ Context context);
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationRecoveryServicesProvidersClient.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationRecoveryServicesProvidersClient.java
new file mode 100644
index 000000000000..fed75799c38a
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationRecoveryServicesProvidersClient.java
@@ -0,0 +1,390 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.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.recoveryservicessiterecovery.fluent.models.RecoveryServicesProviderInner;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.AddRecoveryServicesProviderInput;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * ReplicationRecoveryServicesProvidersClient.
+ */
+public interface ReplicationRecoveryServicesProvidersClient {
+ /**
+ * Lists the registered recovery services providers for the specified fabric.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric 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 collection of providers.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByReplicationFabrics(
+ String resourceName, String resourceGroupName, String fabricName);
+
+ /**
+ * Lists the registered recovery services providers for the specified fabric.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric 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 collection of providers.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByReplicationFabrics(
+ String resourceName, String resourceGroupName, String fabricName, Context context);
+
+ /**
+ * Gets the details of registered recovery services provider.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param providerName Recovery services provider name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of registered recovery services provider.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RecoveryServicesProviderInner get(
+ String resourceName, String resourceGroupName, String fabricName, String providerName);
+
+ /**
+ * Gets the details of registered recovery services provider.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param providerName Recovery services provider name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of registered recovery services provider.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceName, String resourceGroupName, String fabricName, String providerName, Context context);
+
+ /**
+ * The operation to add a recovery services provider.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param providerName Recovery services provider name.
+ * @param addProviderInput Add provider input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return provider details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, RecoveryServicesProviderInner> beginCreate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String providerName,
+ AddRecoveryServicesProviderInput addProviderInput);
+
+ /**
+ * The operation to add a recovery services provider.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param providerName Recovery services provider name.
+ * @param addProviderInput Add provider input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return provider details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, RecoveryServicesProviderInner> beginCreate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String providerName,
+ AddRecoveryServicesProviderInput addProviderInput,
+ Context context);
+
+ /**
+ * The operation to add a recovery services provider.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param providerName Recovery services provider name.
+ * @param addProviderInput Add provider input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return provider details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RecoveryServicesProviderInner create(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String providerName,
+ AddRecoveryServicesProviderInput addProviderInput);
+
+ /**
+ * The operation to add a recovery services provider.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param providerName Recovery services provider name.
+ * @param addProviderInput Add provider input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return provider details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RecoveryServicesProviderInner create(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String providerName,
+ AddRecoveryServicesProviderInput addProviderInput,
+ Context context);
+
+ /**
+ * The operation to purge(force delete) a recovery services provider from the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param providerName Recovery services provider name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginPurge(
+ String resourceName, String resourceGroupName, String fabricName, String providerName);
+
+ /**
+ * The operation to purge(force delete) a recovery services provider from the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param providerName Recovery services provider name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginPurge(
+ String resourceName, String resourceGroupName, String fabricName, String providerName, Context context);
+
+ /**
+ * The operation to purge(force delete) a recovery services provider from the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param providerName Recovery services provider name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void purge(String resourceName, String resourceGroupName, String fabricName, String providerName);
+
+ /**
+ * The operation to purge(force delete) a recovery services provider from the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param providerName Recovery services provider name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void purge(String resourceName, String resourceGroupName, String fabricName, String providerName, Context context);
+
+ /**
+ * The operation to refresh the information from the recovery services provider.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param providerName Recovery services provider 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 provider details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, RecoveryServicesProviderInner> beginRefreshProvider(
+ String resourceName, String resourceGroupName, String fabricName, String providerName);
+
+ /**
+ * The operation to refresh the information from the recovery services provider.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param providerName Recovery services provider 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 provider details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, RecoveryServicesProviderInner> beginRefreshProvider(
+ String resourceName, String resourceGroupName, String fabricName, String providerName, Context context);
+
+ /**
+ * The operation to refresh the information from the recovery services provider.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param providerName Recovery services provider 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 provider details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RecoveryServicesProviderInner refreshProvider(
+ String resourceName, String resourceGroupName, String fabricName, String providerName);
+
+ /**
+ * The operation to refresh the information from the recovery services provider.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param providerName Recovery services provider 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 provider details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RecoveryServicesProviderInner refreshProvider(
+ String resourceName, String resourceGroupName, String fabricName, String providerName, Context context);
+
+ /**
+ * The operation to removes/delete(unregister) a recovery services provider from the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param providerName Recovery services provider name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceName, String resourceGroupName, String fabricName, String providerName);
+
+ /**
+ * The operation to removes/delete(unregister) a recovery services provider from the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param providerName Recovery services provider name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceName, String resourceGroupName, String fabricName, String providerName, Context context);
+
+ /**
+ * The operation to removes/delete(unregister) a recovery services provider from the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param providerName Recovery services provider name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceName, String resourceGroupName, String fabricName, String providerName);
+
+ /**
+ * The operation to removes/delete(unregister) a recovery services provider from the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param providerName Recovery services provider name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceName, String resourceGroupName, String fabricName, String providerName, Context context);
+
+ /**
+ * Lists the registered recovery services providers in the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return collection of providers.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceName, String resourceGroupName);
+
+ /**
+ * Lists the registered recovery services providers in the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return collection of providers.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceName, String resourceGroupName, Context context);
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationStorageClassificationMappingsClient.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationStorageClassificationMappingsClient.java
new file mode 100644
index 000000000000..ef3d11c96349
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationStorageClassificationMappingsClient.java
@@ -0,0 +1,312 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.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.recoveryservicessiterecovery.fluent.models.StorageClassificationMappingInner;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.StorageClassificationMappingInput;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * ReplicationStorageClassificationMappingsClient.
+ */
+public interface ReplicationStorageClassificationMappingsClient {
+ /**
+ * Lists the storage classification mappings for the fabric.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param storageClassificationName Storage classification 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 collection of storage mapping details.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByReplicationStorageClassifications(
+ String resourceName, String resourceGroupName, String fabricName, String storageClassificationName);
+
+ /**
+ * Lists the storage classification mappings for the fabric.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param storageClassificationName Storage classification 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 collection of storage mapping details.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByReplicationStorageClassifications(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String storageClassificationName,
+ Context context);
+
+ /**
+ * Gets the details of the specified storage classification mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param storageClassificationName Storage classification name.
+ * @param storageClassificationMappingName Storage classification mapping name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of the specified storage classification mapping.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ StorageClassificationMappingInner get(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String storageClassificationName,
+ String storageClassificationMappingName);
+
+ /**
+ * Gets the details of the specified storage classification mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param storageClassificationName Storage classification name.
+ * @param storageClassificationMappingName Storage classification mapping name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of the specified storage classification mapping.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String storageClassificationName,
+ String storageClassificationMappingName,
+ Context context);
+
+ /**
+ * The operation to create a storage classification mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param storageClassificationName Storage classification name.
+ * @param storageClassificationMappingName Storage classification mapping name.
+ * @param pairingInput Pairing input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return storage mapping object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, StorageClassificationMappingInner> beginCreate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String storageClassificationName,
+ String storageClassificationMappingName,
+ StorageClassificationMappingInput pairingInput);
+
+ /**
+ * The operation to create a storage classification mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param storageClassificationName Storage classification name.
+ * @param storageClassificationMappingName Storage classification mapping name.
+ * @param pairingInput Pairing input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return storage mapping object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, StorageClassificationMappingInner> beginCreate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String storageClassificationName,
+ String storageClassificationMappingName,
+ StorageClassificationMappingInput pairingInput,
+ Context context);
+
+ /**
+ * The operation to create a storage classification mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param storageClassificationName Storage classification name.
+ * @param storageClassificationMappingName Storage classification mapping name.
+ * @param pairingInput Pairing input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return storage mapping object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ StorageClassificationMappingInner create(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String storageClassificationName,
+ String storageClassificationMappingName,
+ StorageClassificationMappingInput pairingInput);
+
+ /**
+ * The operation to create a storage classification mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param storageClassificationName Storage classification name.
+ * @param storageClassificationMappingName Storage classification mapping name.
+ * @param pairingInput Pairing input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return storage mapping object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ StorageClassificationMappingInner create(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String storageClassificationName,
+ String storageClassificationMappingName,
+ StorageClassificationMappingInput pairingInput,
+ Context context);
+
+ /**
+ * The operation to delete a storage classification mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param storageClassificationName Storage classification name.
+ * @param storageClassificationMappingName Storage classification mapping name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String storageClassificationName,
+ String storageClassificationMappingName);
+
+ /**
+ * The operation to delete a storage classification mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param storageClassificationName Storage classification name.
+ * @param storageClassificationMappingName Storage classification mapping name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String storageClassificationName,
+ String storageClassificationMappingName,
+ Context context);
+
+ /**
+ * The operation to delete a storage classification mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param storageClassificationName Storage classification name.
+ * @param storageClassificationMappingName Storage classification mapping name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String storageClassificationName,
+ String storageClassificationMappingName);
+
+ /**
+ * The operation to delete a storage classification mapping.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param storageClassificationName Storage classification name.
+ * @param storageClassificationMappingName Storage classification mapping name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String storageClassificationName,
+ String storageClassificationMappingName,
+ Context context);
+
+ /**
+ * Lists the storage classification mappings in the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return collection of storage mapping details.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceName, String resourceGroupName);
+
+ /**
+ * Lists the storage classification mappings in the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return collection of storage mapping details.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceName, String resourceGroupName, Context context);
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationStorageClassificationsClient.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationStorageClassificationsClient.java
new file mode 100644
index 000000000000..90010d674d00
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationStorageClassificationsClient.java
@@ -0,0 +1,112 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.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.recoveryservicessiterecovery.fluent.models.StorageClassificationInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in ReplicationStorageClassificationsClient.
+ */
+public interface ReplicationStorageClassificationsClient {
+ /**
+ * Lists the storage classifications available in the specified fabric.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Site name of interest.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return collection of storage details.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByReplicationFabrics(
+ String resourceName, String resourceGroupName, String fabricName);
+
+ /**
+ * Lists the storage classifications available in the specified fabric.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Site name of interest.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return collection of storage details.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByReplicationFabrics(
+ String resourceName, String resourceGroupName, String fabricName, Context context);
+
+ /**
+ * Gets the details of the specified storage classification.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param storageClassificationName Storage classification name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of the specified storage classification.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ StorageClassificationInner get(
+ String resourceName, String resourceGroupName, String fabricName, String storageClassificationName);
+
+ /**
+ * Gets the details of the specified storage classification.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param storageClassificationName Storage classification name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of the specified storage classification.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String storageClassificationName,
+ Context context);
+
+ /**
+ * Lists the storage classifications in the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return collection of storage details.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceName, String resourceGroupName);
+
+ /**
+ * Lists the storage classifications in the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return collection of storage details.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceName, String resourceGroupName, Context context);
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationVaultHealthsClient.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationVaultHealthsClient.java
new file mode 100644
index 000000000000..b2f11f4ab5ae
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationVaultHealthsClient.java
@@ -0,0 +1,99 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+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.recoveryservicessiterecovery.fluent.models.VaultHealthDetailsInner;
+
+/** An instance of this class provides access to all the operations defined in ReplicationVaultHealthsClient. */
+public interface ReplicationVaultHealthsClient {
+ /**
+ * Gets the health details of the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the health details of the vault.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VaultHealthDetailsInner get(String resourceName, String resourceGroupName);
+
+ /**
+ * Gets the health details of the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the health details of the vault.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceName, String resourceGroupName, Context context);
+
+ /**
+ * Refreshes health summary of the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return vault health details definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, VaultHealthDetailsInner> beginRefresh(
+ String resourceName, String resourceGroupName);
+
+ /**
+ * Refreshes health summary of the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return vault health details definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, VaultHealthDetailsInner> beginRefresh(
+ String resourceName, String resourceGroupName, Context context);
+
+ /**
+ * Refreshes health summary of the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return vault health details definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VaultHealthDetailsInner refresh(String resourceName, String resourceGroupName);
+
+ /**
+ * Refreshes health summary of the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return vault health details definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VaultHealthDetailsInner refresh(String resourceName, String resourceGroupName, Context context);
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationVaultSettingsClient.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationVaultSettingsClient.java
new file mode 100644
index 000000000000..219321f14c6f
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationVaultSettingsClient.java
@@ -0,0 +1,149 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.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.recoveryservicessiterecovery.fluent.models.VaultSettingInner;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.VaultSettingCreationInput;
+
+/** An instance of this class provides access to all the operations defined in ReplicationVaultSettingsClient. */
+public interface ReplicationVaultSettingsClient {
+ /**
+ * Gets the list of vault setting. This includes the Migration Hub connection settings.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of vault setting.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceName, String resourceGroupName);
+
+ /**
+ * Gets the list of vault setting. This includes the Migration Hub connection settings.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of vault setting.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceName, String resourceGroupName, Context context);
+
+ /**
+ * Gets the vault setting. This includes the Migration Hub connection settings.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param vaultSettingName Vault setting name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the vault setting.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VaultSettingInner get(String resourceName, String resourceGroupName, String vaultSettingName);
+
+ /**
+ * Gets the vault setting. This includes the Migration Hub connection settings.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param vaultSettingName Vault setting name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the vault setting.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceName, String resourceGroupName, String vaultSettingName, Context context);
+
+ /**
+ * The operation to configure vault setting.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param vaultSettingName Vault setting name.
+ * @param input Vault setting creation input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return vault setting.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, VaultSettingInner> beginCreate(
+ String resourceName, String resourceGroupName, String vaultSettingName, VaultSettingCreationInput input);
+
+ /**
+ * The operation to configure vault setting.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param vaultSettingName Vault setting name.
+ * @param input Vault setting creation input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return vault setting.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, VaultSettingInner> beginCreate(
+ String resourceName,
+ String resourceGroupName,
+ String vaultSettingName,
+ VaultSettingCreationInput input,
+ Context context);
+
+ /**
+ * The operation to configure vault setting.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param vaultSettingName Vault setting name.
+ * @param input Vault setting creation input.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return vault setting.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VaultSettingInner create(
+ String resourceName, String resourceGroupName, String vaultSettingName, VaultSettingCreationInput input);
+
+ /**
+ * The operation to configure vault setting.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param vaultSettingName Vault setting name.
+ * @param input Vault setting creation input.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return vault setting.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VaultSettingInner create(
+ String resourceName,
+ String resourceGroupName,
+ String vaultSettingName,
+ VaultSettingCreationInput input,
+ Context context);
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationvCentersClient.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationvCentersClient.java
new file mode 100644
index 000000000000..6437baaa187e
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationvCentersClient.java
@@ -0,0 +1,347 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.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.recoveryservicessiterecovery.fluent.models.VCenterInner;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.AddVCenterRequest;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.UpdateVCenterRequest;
+
+/** An instance of this class provides access to all the operations defined in ReplicationvCentersClient. */
+public interface ReplicationvCentersClient {
+ /**
+ * Lists the vCenter servers registered in a fabric.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric 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 collection of vCenter details.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByReplicationFabrics(
+ String resourceName, String resourceGroupName, String fabricName);
+
+ /**
+ * Lists the vCenter servers registered in a fabric.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric 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 collection of vCenter details.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByReplicationFabrics(
+ String resourceName, String resourceGroupName, String fabricName, Context context);
+
+ /**
+ * Gets the details of a registered vCenter server(Add vCenter server).
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param vcenterName vcenter name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of a registered vCenter server(Add vCenter server).
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VCenterInner get(String resourceName, String resourceGroupName, String fabricName, String vcenterName);
+
+ /**
+ * Gets the details of a registered vCenter server(Add vCenter server).
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param vcenterName vcenter name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of a registered vCenter server(Add vCenter server).
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceName, String resourceGroupName, String fabricName, String vcenterName, Context context);
+
+ /**
+ * The operation to create a vCenter object..
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param vcenterName vcenter name.
+ * @param addVCenterRequest The input to the add vCenter operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return vCenter definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, VCenterInner> beginCreate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String vcenterName,
+ AddVCenterRequest addVCenterRequest);
+
+ /**
+ * The operation to create a vCenter object..
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param vcenterName vcenter name.
+ * @param addVCenterRequest The input to the add vCenter operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return vCenter definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, VCenterInner> beginCreate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String vcenterName,
+ AddVCenterRequest addVCenterRequest,
+ Context context);
+
+ /**
+ * The operation to create a vCenter object..
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param vcenterName vcenter name.
+ * @param addVCenterRequest The input to the add vCenter operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return vCenter definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VCenterInner create(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String vcenterName,
+ AddVCenterRequest addVCenterRequest);
+
+ /**
+ * The operation to create a vCenter object..
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param vcenterName vcenter name.
+ * @param addVCenterRequest The input to the add vCenter operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return vCenter definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VCenterInner create(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String vcenterName,
+ AddVCenterRequest addVCenterRequest,
+ Context context);
+
+ /**
+ * The operation to remove(unregister) a registered vCenter server from the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param vcenterName vcenter name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceName, String resourceGroupName, String fabricName, String vcenterName);
+
+ /**
+ * The operation to remove(unregister) a registered vCenter server from the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param vcenterName vcenter name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceName, String resourceGroupName, String fabricName, String vcenterName, Context context);
+
+ /**
+ * The operation to remove(unregister) a registered vCenter server from the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param vcenterName vcenter name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceName, String resourceGroupName, String fabricName, String vcenterName);
+
+ /**
+ * The operation to remove(unregister) a registered vCenter server from the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param vcenterName vcenter name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceName, String resourceGroupName, String fabricName, String vcenterName, Context context);
+
+ /**
+ * The operation to update a registered vCenter.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param vcenterName vcenter name.
+ * @param updateVCenterRequest The input to the update vCenter operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return vCenter definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, VCenterInner> beginUpdate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String vcenterName,
+ UpdateVCenterRequest updateVCenterRequest);
+
+ /**
+ * The operation to update a registered vCenter.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param vcenterName vcenter name.
+ * @param updateVCenterRequest The input to the update vCenter operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return vCenter definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, VCenterInner> beginUpdate(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String vcenterName,
+ UpdateVCenterRequest updateVCenterRequest,
+ Context context);
+
+ /**
+ * The operation to update a registered vCenter.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param vcenterName vcenter name.
+ * @param updateVCenterRequest The input to the update vCenter operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return vCenter definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VCenterInner update(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String vcenterName,
+ UpdateVCenterRequest updateVCenterRequest);
+
+ /**
+ * The operation to update a registered vCenter.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param vcenterName vcenter name.
+ * @param updateVCenterRequest The input to the update vCenter operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return vCenter definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VCenterInner update(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String vcenterName,
+ UpdateVCenterRequest updateVCenterRequest,
+ Context context);
+
+ /**
+ * Lists the vCenter servers registered in the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return collection of vCenter details.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceName, String resourceGroupName);
+
+ /**
+ * Lists the vCenter servers registered in the vault.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return collection of vCenter details.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceName, String resourceGroupName, Context context);
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/SiteRecoveryManagementClient.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/SiteRecoveryManagementClient.java
new file mode 100644
index 000000000000..0d9819de5ff6
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/SiteRecoveryManagementClient.java
@@ -0,0 +1,235 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.fluent;
+
+import com.azure.core.http.HttpPipeline;
+import java.time.Duration;
+
+/** The interface for SiteRecoveryManagementClient class. */
+public interface SiteRecoveryManagementClient {
+ /**
+ * 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 ReplicationAlertSettingsClient object to access its operations.
+ *
+ * @return the ReplicationAlertSettingsClient object.
+ */
+ ReplicationAlertSettingsClient getReplicationAlertSettings();
+
+ /**
+ * Gets the ReplicationEligibilityResultsOperationsClient object to access its operations.
+ *
+ * @return the ReplicationEligibilityResultsOperationsClient object.
+ */
+ ReplicationEligibilityResultsOperationsClient getReplicationEligibilityResultsOperations();
+
+ /**
+ * Gets the ReplicationEventsClient object to access its operations.
+ *
+ * @return the ReplicationEventsClient object.
+ */
+ ReplicationEventsClient getReplicationEvents();
+
+ /**
+ * Gets the ReplicationFabricsClient object to access its operations.
+ *
+ * @return the ReplicationFabricsClient object.
+ */
+ ReplicationFabricsClient getReplicationFabrics();
+
+ /**
+ * Gets the ReplicationLogicalNetworksClient object to access its operations.
+ *
+ * @return the ReplicationLogicalNetworksClient object.
+ */
+ ReplicationLogicalNetworksClient getReplicationLogicalNetworks();
+
+ /**
+ * Gets the ReplicationNetworksClient object to access its operations.
+ *
+ * @return the ReplicationNetworksClient object.
+ */
+ ReplicationNetworksClient getReplicationNetworks();
+
+ /**
+ * Gets the ReplicationNetworkMappingsClient object to access its operations.
+ *
+ * @return the ReplicationNetworkMappingsClient object.
+ */
+ ReplicationNetworkMappingsClient getReplicationNetworkMappings();
+
+ /**
+ * Gets the ReplicationProtectionContainersClient object to access its operations.
+ *
+ * @return the ReplicationProtectionContainersClient object.
+ */
+ ReplicationProtectionContainersClient getReplicationProtectionContainers();
+
+ /**
+ * Gets the ReplicationMigrationItemsClient object to access its operations.
+ *
+ * @return the ReplicationMigrationItemsClient object.
+ */
+ ReplicationMigrationItemsClient getReplicationMigrationItems();
+
+ /**
+ * Gets the MigrationRecoveryPointsClient object to access its operations.
+ *
+ * @return the MigrationRecoveryPointsClient object.
+ */
+ MigrationRecoveryPointsClient getMigrationRecoveryPoints();
+
+ /**
+ * Gets the ReplicationProtectableItemsClient object to access its operations.
+ *
+ * @return the ReplicationProtectableItemsClient object.
+ */
+ ReplicationProtectableItemsClient getReplicationProtectableItems();
+
+ /**
+ * Gets the ReplicationProtectedItemsClient object to access its operations.
+ *
+ * @return the ReplicationProtectedItemsClient object.
+ */
+ ReplicationProtectedItemsClient getReplicationProtectedItems();
+
+ /**
+ * Gets the RecoveryPointsClient object to access its operations.
+ *
+ * @return the RecoveryPointsClient object.
+ */
+ RecoveryPointsClient getRecoveryPoints();
+
+ /**
+ * Gets the TargetComputeSizesClient object to access its operations.
+ *
+ * @return the TargetComputeSizesClient object.
+ */
+ TargetComputeSizesClient getTargetComputeSizes();
+
+ /**
+ * Gets the ReplicationProtectionContainerMappingsClient object to access its operations.
+ *
+ * @return the ReplicationProtectionContainerMappingsClient object.
+ */
+ ReplicationProtectionContainerMappingsClient getReplicationProtectionContainerMappings();
+
+ /**
+ * Gets the ReplicationRecoveryServicesProvidersClient object to access its operations.
+ *
+ * @return the ReplicationRecoveryServicesProvidersClient object.
+ */
+ ReplicationRecoveryServicesProvidersClient getReplicationRecoveryServicesProviders();
+
+ /**
+ * Gets the ReplicationStorageClassificationsClient object to access its operations.
+ *
+ * @return the ReplicationStorageClassificationsClient object.
+ */
+ ReplicationStorageClassificationsClient getReplicationStorageClassifications();
+
+ /**
+ * Gets the ReplicationStorageClassificationMappingsClient object to access its operations.
+ *
+ * @return the ReplicationStorageClassificationMappingsClient object.
+ */
+ ReplicationStorageClassificationMappingsClient getReplicationStorageClassificationMappings();
+
+ /**
+ * Gets the ReplicationvCentersClient object to access its operations.
+ *
+ * @return the ReplicationvCentersClient object.
+ */
+ ReplicationvCentersClient getReplicationvCenters();
+
+ /**
+ * Gets the ReplicationJobsClient object to access its operations.
+ *
+ * @return the ReplicationJobsClient object.
+ */
+ ReplicationJobsClient getReplicationJobs();
+
+ /**
+ * Gets the ReplicationPoliciesClient object to access its operations.
+ *
+ * @return the ReplicationPoliciesClient object.
+ */
+ ReplicationPoliciesClient getReplicationPolicies();
+
+ /**
+ * Gets the ReplicationProtectionIntentsClient object to access its operations.
+ *
+ * @return the ReplicationProtectionIntentsClient object.
+ */
+ ReplicationProtectionIntentsClient getReplicationProtectionIntents();
+
+ /**
+ * Gets the ReplicationRecoveryPlansClient object to access its operations.
+ *
+ * @return the ReplicationRecoveryPlansClient object.
+ */
+ ReplicationRecoveryPlansClient getReplicationRecoveryPlans();
+
+ /**
+ * Gets the SupportedOperatingSystemsOperationsClient object to access its operations.
+ *
+ * @return the SupportedOperatingSystemsOperationsClient object.
+ */
+ SupportedOperatingSystemsOperationsClient getSupportedOperatingSystemsOperations();
+
+ /**
+ * Gets the ReplicationVaultHealthsClient object to access its operations.
+ *
+ * @return the ReplicationVaultHealthsClient object.
+ */
+ ReplicationVaultHealthsClient getReplicationVaultHealths();
+
+ /**
+ * Gets the ReplicationVaultSettingsClient object to access its operations.
+ *
+ * @return the ReplicationVaultSettingsClient object.
+ */
+ ReplicationVaultSettingsClient getReplicationVaultSettings();
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/SupportedOperatingSystemsOperationsClient.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/SupportedOperatingSystemsOperationsClient.java
new file mode 100644
index 000000000000..ed272a829f57
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/SupportedOperatingSystemsOperationsClient.java
@@ -0,0 +1,45 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models.SupportedOperatingSystemsInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in SupportedOperatingSystemsOperationsClient.
+ */
+public interface SupportedOperatingSystemsOperationsClient {
+ /**
+ * Gets the data of supported operating systems by SRS.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 of supported operating systems by SRS.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SupportedOperatingSystemsInner get(String resourceName, String resourceGroupName);
+
+ /**
+ * Gets the data of supported operating systems by SRS.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param instanceType The instance type.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 of supported operating systems by SRS.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceName, String resourceGroupName, String instanceType, Context context);
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/TargetComputeSizesClient.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/TargetComputeSizesClient.java
new file mode 100644
index 000000000000..08be1129b978
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/TargetComputeSizesClient.java
@@ -0,0 +1,58 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.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.recoveryservicessiterecovery.fluent.models.TargetComputeSizeInner;
+
+/** An instance of this class provides access to all the operations defined in TargetComputeSizesClient. */
+public interface TargetComputeSizesClient {
+ /**
+ * Lists the available target compute sizes for a replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName protection container name.
+ * @param replicatedProtectedItemName Replication protected item 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 target compute size collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByReplicationProtectedItems(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName);
+
+ /**
+ * Lists the available target compute sizes for a replication protected item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric name.
+ * @param protectionContainerName protection container name.
+ * @param replicatedProtectedItemName Replication protected item 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 target compute size collection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByReplicationProtectedItems(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ Context context);
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/AlertInner.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/AlertInner.java
new file mode 100644
index 000000000000..7e2b4fcc9886
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/AlertInner.java
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.AlertProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Implements the Alert class. */
+@Fluent
+public final class AlertInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AlertInner.class);
+
+ /*
+ * Alert related data.
+ */
+ @JsonProperty(value = "properties")
+ private AlertProperties properties;
+
+ /*
+ * Resource Location
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /**
+ * Get the properties property: Alert related data.
+ *
+ * @return the properties value.
+ */
+ public AlertProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: Alert related data.
+ *
+ * @param properties the properties value to set.
+ * @return the AlertInner object itself.
+ */
+ public AlertInner withProperties(AlertProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the location property: Resource Location.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location property: Resource Location.
+ *
+ * @param location the location value to set.
+ * @return the AlertInner object itself.
+ */
+ public AlertInner withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/EventInner.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/EventInner.java
new file mode 100644
index 000000000000..a86eb4e3335c
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/EventInner.java
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.EventProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Implements the Event class. */
+@Fluent
+public final class EventInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(EventInner.class);
+
+ /*
+ * Event related data.
+ */
+ @JsonProperty(value = "properties")
+ private EventProperties properties;
+
+ /*
+ * Resource Location
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /**
+ * Get the properties property: Event related data.
+ *
+ * @return the properties value.
+ */
+ public EventProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: Event related data.
+ *
+ * @param properties the properties value to set.
+ * @return the EventInner object itself.
+ */
+ public EventInner withProperties(EventProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the location property: Resource Location.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location property: Resource Location.
+ *
+ * @param location the location value to set.
+ * @return the EventInner object itself.
+ */
+ public EventInner withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/FabricInner.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/FabricInner.java
new file mode 100644
index 000000000000..a2cafd92c12c
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/FabricInner.java
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.FabricProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Fabric definition. */
+@Fluent
+public final class FabricInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(FabricInner.class);
+
+ /*
+ * Fabric related data.
+ */
+ @JsonProperty(value = "properties")
+ private FabricProperties properties;
+
+ /*
+ * Resource Location
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /**
+ * Get the properties property: Fabric related data.
+ *
+ * @return the properties value.
+ */
+ public FabricProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: Fabric related data.
+ *
+ * @param properties the properties value to set.
+ * @return the FabricInner object itself.
+ */
+ public FabricInner withProperties(FabricProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the location property: Resource Location.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location property: Resource Location.
+ *
+ * @param location the location value to set.
+ * @return the FabricInner object itself.
+ */
+ public FabricInner withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/JobInner.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/JobInner.java
new file mode 100644
index 000000000000..da16f5348014
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/JobInner.java
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.JobProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Job details. */
+@Fluent
+public final class JobInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(JobInner.class);
+
+ /*
+ * The custom data.
+ */
+ @JsonProperty(value = "properties")
+ private JobProperties properties;
+
+ /*
+ * Resource Location
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /**
+ * Get the properties property: The custom data.
+ *
+ * @return the properties value.
+ */
+ public JobProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The custom data.
+ *
+ * @param properties the properties value to set.
+ * @return the JobInner object itself.
+ */
+ public JobInner withProperties(JobProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the location property: Resource Location.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location property: Resource Location.
+ *
+ * @param location the location value to set.
+ * @return the JobInner object itself.
+ */
+ public JobInner withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/LogicalNetworkInner.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/LogicalNetworkInner.java
new file mode 100644
index 000000000000..b4f2a3baada1
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/LogicalNetworkInner.java
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.LogicalNetworkProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Logical network data model. */
+@Fluent
+public final class LogicalNetworkInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(LogicalNetworkInner.class);
+
+ /*
+ * The Logical Network Properties.
+ */
+ @JsonProperty(value = "properties")
+ private LogicalNetworkProperties properties;
+
+ /*
+ * Resource Location
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /**
+ * Get the properties property: The Logical Network Properties.
+ *
+ * @return the properties value.
+ */
+ public LogicalNetworkProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The Logical Network Properties.
+ *
+ * @param properties the properties value to set.
+ * @return the LogicalNetworkInner object itself.
+ */
+ public LogicalNetworkInner withProperties(LogicalNetworkProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the location property: Resource Location.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location property: Resource Location.
+ *
+ * @param location the location value to set.
+ * @return the LogicalNetworkInner object itself.
+ */
+ public LogicalNetworkInner withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/MigrationItemInner.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/MigrationItemInner.java
new file mode 100644
index 000000000000..8d4a54a99477
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/MigrationItemInner.java
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.MigrationItemProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Migration item. */
+@Fluent
+public final class MigrationItemInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(MigrationItemInner.class);
+
+ /*
+ * The migration item properties.
+ */
+ @JsonProperty(value = "properties")
+ private MigrationItemProperties properties;
+
+ /*
+ * Resource Location
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /**
+ * Get the properties property: The migration item properties.
+ *
+ * @return the properties value.
+ */
+ public MigrationItemProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The migration item properties.
+ *
+ * @param properties the properties value to set.
+ * @return the MigrationItemInner object itself.
+ */
+ public MigrationItemInner withProperties(MigrationItemProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the location property: Resource Location.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location property: Resource Location.
+ *
+ * @param location the location value to set.
+ * @return the MigrationItemInner object itself.
+ */
+ public MigrationItemInner withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/MigrationRecoveryPointInner.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/MigrationRecoveryPointInner.java
new file mode 100644
index 000000000000..eb11916280a8
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/MigrationRecoveryPointInner.java
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.MigrationRecoveryPointProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Recovery point for a migration item. */
+@Fluent
+public final class MigrationRecoveryPointInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(MigrationRecoveryPointInner.class);
+
+ /*
+ * Recovery point properties.
+ */
+ @JsonProperty(value = "properties")
+ private MigrationRecoveryPointProperties properties;
+
+ /*
+ * Resource Location
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /**
+ * Get the properties property: Recovery point properties.
+ *
+ * @return the properties value.
+ */
+ public MigrationRecoveryPointProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: Recovery point properties.
+ *
+ * @param properties the properties value to set.
+ * @return the MigrationRecoveryPointInner object itself.
+ */
+ public MigrationRecoveryPointInner withProperties(MigrationRecoveryPointProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the location property: Resource Location.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location property: Resource Location.
+ *
+ * @param location the location value to set.
+ * @return the MigrationRecoveryPointInner object itself.
+ */
+ public MigrationRecoveryPointInner withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/NetworkInner.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/NetworkInner.java
new file mode 100644
index 000000000000..498047117968
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/NetworkInner.java
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.NetworkProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Network model. */
+@Fluent
+public final class NetworkInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(NetworkInner.class);
+
+ /*
+ * The Network Properties.
+ */
+ @JsonProperty(value = "properties")
+ private NetworkProperties properties;
+
+ /*
+ * Resource Location
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /**
+ * Get the properties property: The Network Properties.
+ *
+ * @return the properties value.
+ */
+ public NetworkProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The Network Properties.
+ *
+ * @param properties the properties value to set.
+ * @return the NetworkInner object itself.
+ */
+ public NetworkInner withProperties(NetworkProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the location property: Resource Location.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location property: Resource Location.
+ *
+ * @param location the location value to set.
+ * @return the NetworkInner object itself.
+ */
+ public NetworkInner withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/NetworkMappingInner.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/NetworkMappingInner.java
new file mode 100644
index 000000000000..ed94066a2fb1
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/NetworkMappingInner.java
@@ -0,0 +1,86 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.NetworkMappingProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Network Mapping model. Ideally it should have been possible to inherit this class from prev version in
+ * InheritedModels as long as there is no difference in structure or method signature. Since there were no base Models
+ * for certain fields and methods viz NetworkMappingProperties and Load with required return type, the class has been
+ * introduced in its entirety with references to base models to facilitate extensions in subsequent versions.
+ */
+@Fluent
+public final class NetworkMappingInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(NetworkMappingInner.class);
+
+ /*
+ * The Network Mapping Properties.
+ */
+ @JsonProperty(value = "properties")
+ private NetworkMappingProperties properties;
+
+ /*
+ * Resource Location
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /**
+ * Get the properties property: The Network Mapping Properties.
+ *
+ * @return the properties value.
+ */
+ public NetworkMappingProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The Network Mapping Properties.
+ *
+ * @param properties the properties value to set.
+ * @return the NetworkMappingInner object itself.
+ */
+ public NetworkMappingInner withProperties(NetworkMappingProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the location property: Resource Location.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location property: Resource Location.
+ *
+ * @param location the location value to set.
+ * @return the NetworkMappingInner object itself.
+ */
+ public NetworkMappingInner withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/OperationsDiscoveryInner.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/OperationsDiscoveryInner.java
new file mode 100644
index 000000000000..caf191f6383a
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/OperationsDiscoveryInner.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.recoveryservicessiterecovery.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.Display;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Operations discovery class. */
+@Fluent
+public final class OperationsDiscoveryInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(OperationsDiscoveryInner.class);
+
+ /*
+ * Name of the API. The name of the operation being performed on this
+ * particular object. It should match the action name that appears in RBAC
+ * / the event service. Examples of operations include: *
+ * Microsoft.Compute/virtualMachine/capture/action *
+ * Microsoft.Compute/virtualMachine/restart/action *
+ * Microsoft.Compute/virtualMachine/write *
+ * Microsoft.Compute/virtualMachine/read *
+ * Microsoft.Compute/virtualMachine/delete Each action should include, in
+ * order: (1) Resource Provider Namespace (2) Type hierarchy for which the
+ * action applies (e.g. server/databases for a SQL Azure database) (3)
+ * Read, Write, Action or Delete indicating which type applies. If it is a
+ * PUT/PATCH on a collection or named value, Write should be used. If it is
+ * a GET, Read should be used. If it is a DELETE, Delete should be used. If
+ * it is a POST, Action should be used. As a note: all resource providers
+ * would need to include the "{Resource Provider
+ * Namespace}/register/action" operation in their response. This API is
+ * used to register for their service, and should include details about the
+ * operation (e.g. a localized name for the resource provider + any special
+ * considerations like PII release).
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /*
+ * Object type.
+ */
+ @JsonProperty(value = "display")
+ private Display display;
+
+ /*
+ * 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;
+
+ /*
+ * Properties. Reserved for future use.
+ */
+ @JsonProperty(value = "properties")
+ private Object properties;
+
+ /**
+ * Get the name property: Name of the API. The name of the operation being performed on this particular object. It
+ * should match the action name that appears in RBAC / the event service. Examples of operations include: *
+ * Microsoft.Compute/virtualMachine/capture/action * Microsoft.Compute/virtualMachine/restart/action *
+ * Microsoft.Compute/virtualMachine/write * Microsoft.Compute/virtualMachine/read *
+ * Microsoft.Compute/virtualMachine/delete Each action should include, in order: (1) Resource Provider Namespace (2)
+ * Type hierarchy for which the action applies (e.g. server/databases for a SQL Azure database) (3) Read, Write,
+ * Action or Delete indicating which type applies. If it is a PUT/PATCH on a collection or named value, Write should
+ * be used. If it is a GET, Read should be used. If it is a DELETE, Delete should be used. If it is a POST, Action
+ * should be used. As a note: all resource providers would need to include the "{Resource Provider
+ * Namespace}/register/action" operation in their response. This API is used to register for their service, and
+ * should include details about the operation (e.g. a localized name for the resource provider + any special
+ * considerations like PII release).
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name property: Name of the API. The name of the operation being performed on this particular object. It
+ * should match the action name that appears in RBAC / the event service. Examples of operations include: *
+ * Microsoft.Compute/virtualMachine/capture/action * Microsoft.Compute/virtualMachine/restart/action *
+ * Microsoft.Compute/virtualMachine/write * Microsoft.Compute/virtualMachine/read *
+ * Microsoft.Compute/virtualMachine/delete Each action should include, in order: (1) Resource Provider Namespace (2)
+ * Type hierarchy for which the action applies (e.g. server/databases for a SQL Azure database) (3) Read, Write,
+ * Action or Delete indicating which type applies. If it is a PUT/PATCH on a collection or named value, Write should
+ * be used. If it is a GET, Read should be used. If it is a DELETE, Delete should be used. If it is a POST, Action
+ * should be used. As a note: all resource providers would need to include the "{Resource Provider
+ * Namespace}/register/action" operation in their response. This API is used to register for their service, and
+ * should include details about the operation (e.g. a localized name for the resource provider + any special
+ * considerations like PII release).
+ *
+ * @param name the name value to set.
+ * @return the OperationsDiscoveryInner object itself.
+ */
+ public OperationsDiscoveryInner withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the display property: Object type.
+ *
+ * @return the display value.
+ */
+ public Display display() {
+ return this.display;
+ }
+
+ /**
+ * Set the display property: Object type.
+ *
+ * @param display the display value to set.
+ * @return the OperationsDiscoveryInner object itself.
+ */
+ public OperationsDiscoveryInner withDisplay(Display display) {
+ this.display = display;
+ return this;
+ }
+
+ /**
+ * Get the origin property: 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: 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 OperationsDiscoveryInner object itself.
+ */
+ public OperationsDiscoveryInner withOrigin(String origin) {
+ this.origin = origin;
+ return this;
+ }
+
+ /**
+ * Get the properties property: Properties. Reserved for future use.
+ *
+ * @return the properties value.
+ */
+ public Object properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: Properties. Reserved for future use.
+ *
+ * @param properties the properties value to set.
+ * @return the OperationsDiscoveryInner object itself.
+ */
+ public OperationsDiscoveryInner withProperties(Object properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (display() != null) {
+ display().validate();
+ }
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/PolicyInner.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/PolicyInner.java
new file mode 100644
index 000000000000..e2171d8cd5a6
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/PolicyInner.java
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.PolicyProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Protection profile details. */
+@Fluent
+public final class PolicyInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(PolicyInner.class);
+
+ /*
+ * The custom data.
+ */
+ @JsonProperty(value = "properties")
+ private PolicyProperties properties;
+
+ /*
+ * Resource Location
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /**
+ * Get the properties property: The custom data.
+ *
+ * @return the properties value.
+ */
+ public PolicyProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The custom data.
+ *
+ * @param properties the properties value to set.
+ * @return the PolicyInner object itself.
+ */
+ public PolicyInner withProperties(PolicyProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the location property: Resource Location.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location property: Resource Location.
+ *
+ * @param location the location value to set.
+ * @return the PolicyInner object itself.
+ */
+ public PolicyInner withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/ProtectableItemInner.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/ProtectableItemInner.java
new file mode 100644
index 000000000000..6f01e19e6880
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/ProtectableItemInner.java
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ProtectableItemProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Replication protected item. */
+@Fluent
+public final class ProtectableItemInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ProtectableItemInner.class);
+
+ /*
+ * The custom data.
+ */
+ @JsonProperty(value = "properties")
+ private ProtectableItemProperties properties;
+
+ /*
+ * Resource Location
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /**
+ * Get the properties property: The custom data.
+ *
+ * @return the properties value.
+ */
+ public ProtectableItemProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The custom data.
+ *
+ * @param properties the properties value to set.
+ * @return the ProtectableItemInner object itself.
+ */
+ public ProtectableItemInner withProperties(ProtectableItemProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the location property: Resource Location.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location property: Resource Location.
+ *
+ * @param location the location value to set.
+ * @return the ProtectableItemInner object itself.
+ */
+ public ProtectableItemInner withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/ProtectionContainerInner.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/ProtectionContainerInner.java
new file mode 100644
index 000000000000..17b2baff3f1e
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/ProtectionContainerInner.java
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ProtectionContainerProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Protection container details. */
+@Fluent
+public final class ProtectionContainerInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ProtectionContainerInner.class);
+
+ /*
+ * The custom data.
+ */
+ @JsonProperty(value = "properties")
+ private ProtectionContainerProperties properties;
+
+ /*
+ * Resource Location
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /**
+ * Get the properties property: The custom data.
+ *
+ * @return the properties value.
+ */
+ public ProtectionContainerProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The custom data.
+ *
+ * @param properties the properties value to set.
+ * @return the ProtectionContainerInner object itself.
+ */
+ public ProtectionContainerInner withProperties(ProtectionContainerProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the location property: Resource Location.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location property: Resource Location.
+ *
+ * @param location the location value to set.
+ * @return the ProtectionContainerInner object itself.
+ */
+ public ProtectionContainerInner withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/ProtectionContainerMappingInner.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/ProtectionContainerMappingInner.java
new file mode 100644
index 000000000000..b2d3847396e5
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/ProtectionContainerMappingInner.java
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ProtectionContainerMappingProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Protection container mapping object. */
+@Fluent
+public final class ProtectionContainerMappingInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ProtectionContainerMappingInner.class);
+
+ /*
+ * The custom data.
+ */
+ @JsonProperty(value = "properties")
+ private ProtectionContainerMappingProperties properties;
+
+ /*
+ * Resource Location
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /**
+ * Get the properties property: The custom data.
+ *
+ * @return the properties value.
+ */
+ public ProtectionContainerMappingProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The custom data.
+ *
+ * @param properties the properties value to set.
+ * @return the ProtectionContainerMappingInner object itself.
+ */
+ public ProtectionContainerMappingInner withProperties(ProtectionContainerMappingProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the location property: Resource Location.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location property: Resource Location.
+ *
+ * @param location the location value to set.
+ * @return the ProtectionContainerMappingInner object itself.
+ */
+ public ProtectionContainerMappingInner withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/RecoveryPlanInner.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/RecoveryPlanInner.java
new file mode 100644
index 000000000000..83e30868a484
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/RecoveryPlanInner.java
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RecoveryPlanProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Recovery plan details. */
+@Fluent
+public final class RecoveryPlanInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(RecoveryPlanInner.class);
+
+ /*
+ * The custom details.
+ */
+ @JsonProperty(value = "properties")
+ private RecoveryPlanProperties properties;
+
+ /*
+ * Resource Location
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /**
+ * Get the properties property: The custom details.
+ *
+ * @return the properties value.
+ */
+ public RecoveryPlanProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The custom details.
+ *
+ * @param properties the properties value to set.
+ * @return the RecoveryPlanInner object itself.
+ */
+ public RecoveryPlanInner withProperties(RecoveryPlanProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the location property: Resource Location.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location property: Resource Location.
+ *
+ * @param location the location value to set.
+ * @return the RecoveryPlanInner object itself.
+ */
+ public RecoveryPlanInner withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/RecoveryPointInner.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/RecoveryPointInner.java
new file mode 100644
index 000000000000..b8b5e9578221
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/RecoveryPointInner.java
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RecoveryPointProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Recovery point. */
+@Fluent
+public final class RecoveryPointInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(RecoveryPointInner.class);
+
+ /*
+ * The recovery point properties.
+ */
+ @JsonProperty(value = "properties")
+ private RecoveryPointProperties properties;
+
+ /*
+ * Resource Location
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /**
+ * Get the properties property: The recovery point properties.
+ *
+ * @return the properties value.
+ */
+ public RecoveryPointProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The recovery point properties.
+ *
+ * @param properties the properties value to set.
+ * @return the RecoveryPointInner object itself.
+ */
+ public RecoveryPointInner withProperties(RecoveryPointProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the location property: Resource Location.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location property: Resource Location.
+ *
+ * @param location the location value to set.
+ * @return the RecoveryPointInner object itself.
+ */
+ public RecoveryPointInner withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/RecoveryServicesProviderInner.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/RecoveryServicesProviderInner.java
new file mode 100644
index 000000000000..06cc81c55f92
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/RecoveryServicesProviderInner.java
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RecoveryServicesProviderProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Provider details. */
+@Fluent
+public final class RecoveryServicesProviderInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(RecoveryServicesProviderInner.class);
+
+ /*
+ * Provider properties.
+ */
+ @JsonProperty(value = "properties")
+ private RecoveryServicesProviderProperties properties;
+
+ /*
+ * Resource Location
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /**
+ * Get the properties property: Provider properties.
+ *
+ * @return the properties value.
+ */
+ public RecoveryServicesProviderProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: Provider properties.
+ *
+ * @param properties the properties value to set.
+ * @return the RecoveryServicesProviderInner object itself.
+ */
+ public RecoveryServicesProviderInner withProperties(RecoveryServicesProviderProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the location property: Resource Location.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location property: Resource Location.
+ *
+ * @param location the location value to set.
+ * @return the RecoveryServicesProviderInner object itself.
+ */
+ public RecoveryServicesProviderInner withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/ReplicationEligibilityResultsCollectionInner.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/ReplicationEligibilityResultsCollectionInner.java
new file mode 100644
index 000000000000..bfce30fc5332
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/ReplicationEligibilityResultsCollectionInner.java
@@ -0,0 +1,55 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Replication eligibility results collection response model. */
+@Fluent
+public final class ReplicationEligibilityResultsCollectionInner {
+ @JsonIgnore
+ private final ClientLogger logger = new ClientLogger(ReplicationEligibilityResultsCollectionInner.class);
+
+ /*
+ * The replication eligibility results details.
+ */
+ @JsonProperty(value = "value")
+ private List value;
+
+ /**
+ * Get the value property: The replication eligibility results details.
+ *
+ * @return the value value.
+ */
+ public List value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: The replication eligibility results details.
+ *
+ * @param value the value value to set.
+ * @return the ReplicationEligibilityResultsCollectionInner object itself.
+ */
+ public ReplicationEligibilityResultsCollectionInner withValue(List value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (value() != null) {
+ value().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/ReplicationEligibilityResultsInner.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/ReplicationEligibilityResultsInner.java
new file mode 100644
index 000000000000..42f249b002f3
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/ReplicationEligibilityResultsInner.java
@@ -0,0 +1,88 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ReplicationEligibilityResultsProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Replication eligibility results response model. */
+@Immutable
+public final class ReplicationEligibilityResultsInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ReplicationEligibilityResultsInner.class);
+
+ /*
+ * Gets the name of this object.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /*
+ * Gets the object type.
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /*
+ * Gets Unique ARM identifier for this object.
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /*
+ * Gets properties model for replication eligibility results API.
+ */
+ @JsonProperty(value = "properties", access = JsonProperty.Access.WRITE_ONLY)
+ private ReplicationEligibilityResultsProperties properties;
+
+ /**
+ * Get the name property: Gets the name of this object.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the type property: Gets the object type.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the id property: Gets Unique ARM identifier for this object.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the properties property: Gets properties model for replication eligibility results API.
+ *
+ * @return the properties value.
+ */
+ public ReplicationEligibilityResultsProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/ReplicationProtectedItemInner.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/ReplicationProtectedItemInner.java
new file mode 100644
index 000000000000..1dfe4a67c466
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/ReplicationProtectedItemInner.java
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ReplicationProtectedItemProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Replication protected item. */
+@Fluent
+public final class ReplicationProtectedItemInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ReplicationProtectedItemInner.class);
+
+ /*
+ * The custom data.
+ */
+ @JsonProperty(value = "properties")
+ private ReplicationProtectedItemProperties properties;
+
+ /*
+ * Resource Location
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /**
+ * Get the properties property: The custom data.
+ *
+ * @return the properties value.
+ */
+ public ReplicationProtectedItemProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The custom data.
+ *
+ * @param properties the properties value to set.
+ * @return the ReplicationProtectedItemInner object itself.
+ */
+ public ReplicationProtectedItemInner withProperties(ReplicationProtectedItemProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the location property: Resource Location.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location property: Resource Location.
+ *
+ * @param location the location value to set.
+ * @return the ReplicationProtectedItemInner object itself.
+ */
+ public ReplicationProtectedItemInner withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/ReplicationProtectionIntentInner.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/ReplicationProtectionIntentInner.java
new file mode 100644
index 000000000000..b50de8ec4b76
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/ReplicationProtectionIntentInner.java
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ReplicationProtectionIntentProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Replication protection intent. */
+@Fluent
+public final class ReplicationProtectionIntentInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ReplicationProtectionIntentInner.class);
+
+ /*
+ * The custom data.
+ */
+ @JsonProperty(value = "properties")
+ private ReplicationProtectionIntentProperties properties;
+
+ /*
+ * Resource Location
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /**
+ * Get the properties property: The custom data.
+ *
+ * @return the properties value.
+ */
+ public ReplicationProtectionIntentProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The custom data.
+ *
+ * @param properties the properties value to set.
+ * @return the ReplicationProtectionIntentInner object itself.
+ */
+ public ReplicationProtectionIntentInner withProperties(ReplicationProtectionIntentProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the location property: Resource Location.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location property: Resource Location.
+ *
+ * @param location the location value to set.
+ * @return the ReplicationProtectionIntentInner object itself.
+ */
+ public ReplicationProtectionIntentInner withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/StorageClassificationInner.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/StorageClassificationInner.java
new file mode 100644
index 000000000000..d21699701671
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/StorageClassificationInner.java
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.StorageClassificationProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Storage object definition. */
+@Fluent
+public final class StorageClassificationInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(StorageClassificationInner.class);
+
+ /*
+ * Properties of the storage object.
+ */
+ @JsonProperty(value = "properties")
+ private StorageClassificationProperties properties;
+
+ /*
+ * Resource Location
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /**
+ * Get the properties property: Properties of the storage object.
+ *
+ * @return the properties value.
+ */
+ public StorageClassificationProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: Properties of the storage object.
+ *
+ * @param properties the properties value to set.
+ * @return the StorageClassificationInner object itself.
+ */
+ public StorageClassificationInner withProperties(StorageClassificationProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the location property: Resource Location.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location property: Resource Location.
+ *
+ * @param location the location value to set.
+ * @return the StorageClassificationInner object itself.
+ */
+ public StorageClassificationInner withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/StorageClassificationMappingInner.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/StorageClassificationMappingInner.java
new file mode 100644
index 000000000000..d81f5afaf6c1
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/StorageClassificationMappingInner.java
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.StorageClassificationMappingProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Storage mapping object. */
+@Fluent
+public final class StorageClassificationMappingInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(StorageClassificationMappingInner.class);
+
+ /*
+ * Properties of the storage mapping object.
+ */
+ @JsonProperty(value = "properties")
+ private StorageClassificationMappingProperties properties;
+
+ /*
+ * Resource Location
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /**
+ * Get the properties property: Properties of the storage mapping object.
+ *
+ * @return the properties value.
+ */
+ public StorageClassificationMappingProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: Properties of the storage mapping object.
+ *
+ * @param properties the properties value to set.
+ * @return the StorageClassificationMappingInner object itself.
+ */
+ public StorageClassificationMappingInner withProperties(StorageClassificationMappingProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the location property: Resource Location.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location property: Resource Location.
+ *
+ * @param location the location value to set.
+ * @return the StorageClassificationMappingInner object itself.
+ */
+ public StorageClassificationMappingInner withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/SupportedOperatingSystemsInner.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/SupportedOperatingSystemsInner.java
new file mode 100644
index 000000000000..020705dfac7a
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/SupportedOperatingSystemsInner.java
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.SupportedOSProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Supported operating systems. */
+@Fluent
+public final class SupportedOperatingSystemsInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(SupportedOperatingSystemsInner.class);
+
+ /*
+ * The supported operating systems properties.
+ */
+ @JsonProperty(value = "properties")
+ private SupportedOSProperties properties;
+
+ /*
+ * Resource Location
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /**
+ * Get the properties property: The supported operating systems properties.
+ *
+ * @return the properties value.
+ */
+ public SupportedOSProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The supported operating systems properties.
+ *
+ * @param properties the properties value to set.
+ * @return the SupportedOperatingSystemsInner object itself.
+ */
+ public SupportedOperatingSystemsInner withProperties(SupportedOSProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the location property: Resource Location.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location property: Resource Location.
+ *
+ * @param location the location value to set.
+ * @return the SupportedOperatingSystemsInner object itself.
+ */
+ public SupportedOperatingSystemsInner withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/TargetComputeSizeInner.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/TargetComputeSizeInner.java
new file mode 100644
index 000000000000..ac931c8a3ca4
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/TargetComputeSizeInner.java
@@ -0,0 +1,132 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.TargetComputeSizeProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Represents applicable recovery vm sizes. */
+@Fluent
+public final class TargetComputeSizeInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(TargetComputeSizeInner.class);
+
+ /*
+ * The Id.
+ */
+ @JsonProperty(value = "id")
+ private String id;
+
+ /*
+ * The name.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /*
+ * The Type of the object.
+ */
+ @JsonProperty(value = "type")
+ private String type;
+
+ /*
+ * The custom data.
+ */
+ @JsonProperty(value = "properties")
+ private TargetComputeSizeProperties properties;
+
+ /**
+ * Get the id property: The Id.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set the id property: The Id.
+ *
+ * @param id the id value to set.
+ * @return the TargetComputeSizeInner object itself.
+ */
+ public TargetComputeSizeInner withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get the name property: The name.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name property: The name.
+ *
+ * @param name the name value to set.
+ * @return the TargetComputeSizeInner object itself.
+ */
+ public TargetComputeSizeInner withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the type property: The Type of the object.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Set the type property: The Type of the object.
+ *
+ * @param type the type value to set.
+ * @return the TargetComputeSizeInner object itself.
+ */
+ public TargetComputeSizeInner withType(String type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get the properties property: The custom data.
+ *
+ * @return the properties value.
+ */
+ public TargetComputeSizeProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The custom data.
+ *
+ * @param properties the properties value to set.
+ * @return the TargetComputeSizeInner object itself.
+ */
+ public TargetComputeSizeInner withProperties(TargetComputeSizeProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/VCenterInner.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/VCenterInner.java
new file mode 100644
index 000000000000..cec806c2b7c3
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/VCenterInner.java
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.VCenterProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** vCenter definition. */
+@Fluent
+public final class VCenterInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(VCenterInner.class);
+
+ /*
+ * VCenter related data.
+ */
+ @JsonProperty(value = "properties")
+ private VCenterProperties properties;
+
+ /*
+ * Resource Location
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /**
+ * Get the properties property: VCenter related data.
+ *
+ * @return the properties value.
+ */
+ public VCenterProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: VCenter related data.
+ *
+ * @param properties the properties value to set.
+ * @return the VCenterInner object itself.
+ */
+ public VCenterInner withProperties(VCenterProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the location property: Resource Location.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location property: Resource Location.
+ *
+ * @param location the location value to set.
+ * @return the VCenterInner object itself.
+ */
+ public VCenterInner withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/VaultHealthDetailsInner.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/VaultHealthDetailsInner.java
new file mode 100644
index 000000000000..090863fd05be
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/VaultHealthDetailsInner.java
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.VaultHealthProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Vault health details definition. */
+@Fluent
+public final class VaultHealthDetailsInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(VaultHealthDetailsInner.class);
+
+ /*
+ * The vault health related data.
+ */
+ @JsonProperty(value = "properties")
+ private VaultHealthProperties properties;
+
+ /*
+ * Resource Location
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /**
+ * Get the properties property: The vault health related data.
+ *
+ * @return the properties value.
+ */
+ public VaultHealthProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The vault health related data.
+ *
+ * @param properties the properties value to set.
+ * @return the VaultHealthDetailsInner object itself.
+ */
+ public VaultHealthDetailsInner withProperties(VaultHealthProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the location property: Resource Location.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location property: Resource Location.
+ *
+ * @param location the location value to set.
+ * @return the VaultHealthDetailsInner object itself.
+ */
+ public VaultHealthDetailsInner withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/VaultSettingInner.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/VaultSettingInner.java
new file mode 100644
index 000000000000..a93954764791
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/VaultSettingInner.java
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.VaultSettingProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Vault setting. */
+@Fluent
+public final class VaultSettingInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(VaultSettingInner.class);
+
+ /*
+ * The vault setting properties.
+ */
+ @JsonProperty(value = "properties")
+ private VaultSettingProperties properties;
+
+ /*
+ * Resource Location
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /**
+ * Get the properties property: The vault setting properties.
+ *
+ * @return the properties value.
+ */
+ public VaultSettingProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The vault setting properties.
+ *
+ * @param properties the properties value to set.
+ * @return the VaultSettingInner object itself.
+ */
+ public VaultSettingInner withProperties(VaultSettingProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the location property: Resource Location.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location property: Resource Location.
+ *
+ * @param location the location value to set.
+ * @return the VaultSettingInner object itself.
+ */
+ public VaultSettingInner withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/package-info.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/models/package-info.java
new file mode 100644
index 000000000000..3c738e004489
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/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 SiteRecoveryManagementClient. null. */
+package com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models;
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/package-info.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/package-info.java
new file mode 100644
index 000000000000..530afe9a082d
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/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 SiteRecoveryManagementClient. null. */
+package com.azure.resourcemanager.recoveryservicessiterecovery.fluent;
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/implementation/AlertImpl.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/implementation/AlertImpl.java
new file mode 100644
index 000000000000..cbcddef106d2
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/implementation/AlertImpl.java
@@ -0,0 +1,128 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.implementation;
+
+import com.azure.core.management.Region;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models.AlertInner;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.Alert;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.AlertProperties;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ConfigureAlertRequest;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ConfigureAlertRequestProperties;
+
+public final class AlertImpl implements Alert, Alert.Definition {
+ private AlertInner innerObject;
+
+ private final com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager serviceManager;
+
+ AlertImpl(
+ AlertInner innerObject,
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public AlertProperties properties() {
+ return this.innerModel().properties();
+ }
+
+ public String location() {
+ return this.innerModel().location();
+ }
+
+ public Region region() {
+ return Region.fromName(this.regionName());
+ }
+
+ public String regionName() {
+ return this.location();
+ }
+
+ public AlertInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceName;
+
+ private String resourceGroupName;
+
+ private String alertSettingName;
+
+ private ConfigureAlertRequest createRequest;
+
+ public AlertImpl withExistingVault(String resourceName, String resourceGroupName) {
+ this.resourceName = resourceName;
+ this.resourceGroupName = resourceGroupName;
+ return this;
+ }
+
+ public Alert create() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getReplicationAlertSettings()
+ .createWithResponse(resourceName, resourceGroupName, alertSettingName, createRequest, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public Alert create(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getReplicationAlertSettings()
+ .createWithResponse(resourceName, resourceGroupName, alertSettingName, createRequest, context)
+ .getValue();
+ return this;
+ }
+
+ AlertImpl(String name, com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager serviceManager) {
+ this.innerObject = new AlertInner();
+ this.serviceManager = serviceManager;
+ this.alertSettingName = name;
+ this.createRequest = new ConfigureAlertRequest();
+ }
+
+ public Alert refresh() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getReplicationAlertSettings()
+ .getWithResponse(resourceName, resourceGroupName, alertSettingName, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public Alert refresh(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getReplicationAlertSettings()
+ .getWithResponse(resourceName, resourceGroupName, alertSettingName, context)
+ .getValue();
+ return this;
+ }
+
+ public AlertImpl withProperties(ConfigureAlertRequestProperties properties) {
+ this.createRequest.withProperties(properties);
+ return this;
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/implementation/EventImpl.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/implementation/EventImpl.java
new file mode 100644
index 000000000000..667334a1f756
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/implementation/EventImpl.java
@@ -0,0 +1,50 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.implementation;
+
+import com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models.EventInner;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.Event;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.EventProperties;
+
+public final class EventImpl implements Event {
+ private EventInner innerObject;
+
+ private final com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager serviceManager;
+
+ EventImpl(
+ EventInner innerObject,
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public EventProperties properties() {
+ return this.innerModel().properties();
+ }
+
+ public String location() {
+ return this.innerModel().location();
+ }
+
+ public EventInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/implementation/FabricImpl.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/implementation/FabricImpl.java
new file mode 100644
index 000000000000..33e00483446c
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/implementation/FabricImpl.java
@@ -0,0 +1,180 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.implementation;
+
+import com.azure.core.management.Region;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models.FabricInner;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.Fabric;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.FabricCreationInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.FabricCreationInputProperties;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.FabricProperties;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.FailoverProcessServerRequest;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RenewCertificateInput;
+
+public final class FabricImpl implements Fabric, Fabric.Definition {
+ private FabricInner innerObject;
+
+ private final com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager serviceManager;
+
+ FabricImpl(
+ FabricInner innerObject,
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public FabricProperties properties() {
+ return this.innerModel().properties();
+ }
+
+ public String location() {
+ return this.innerModel().location();
+ }
+
+ public Region region() {
+ return Region.fromName(this.regionName());
+ }
+
+ public String regionName() {
+ return this.location();
+ }
+
+ public FabricInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceName;
+
+ private String resourceGroupName;
+
+ private String fabricName;
+
+ private FabricCreationInput createInput;
+
+ public FabricImpl withExistingVault(String resourceName, String resourceGroupName) {
+ this.resourceName = resourceName;
+ this.resourceGroupName = resourceGroupName;
+ return this;
+ }
+
+ public Fabric create() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getReplicationFabrics()
+ .create(resourceName, resourceGroupName, fabricName, createInput, Context.NONE);
+ return this;
+ }
+
+ public Fabric create(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getReplicationFabrics()
+ .create(resourceName, resourceGroupName, fabricName, createInput, context);
+ return this;
+ }
+
+ FabricImpl(String name, com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager serviceManager) {
+ this.innerObject = new FabricInner();
+ this.serviceManager = serviceManager;
+ this.fabricName = name;
+ this.createInput = new FabricCreationInput();
+ }
+
+ public Fabric refresh() {
+ String localFilter = null;
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getReplicationFabrics()
+ .getWithResponse(resourceName, resourceGroupName, fabricName, localFilter, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public Fabric refresh(Context context) {
+ String localFilter = null;
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getReplicationFabrics()
+ .getWithResponse(resourceName, resourceGroupName, fabricName, localFilter, context)
+ .getValue();
+ return this;
+ }
+
+ public Fabric checkConsistency() {
+ return serviceManager.replicationFabrics().checkConsistency(resourceName, resourceGroupName, fabricName);
+ }
+
+ public Fabric checkConsistency(Context context) {
+ return serviceManager
+ .replicationFabrics()
+ .checkConsistency(resourceName, resourceGroupName, fabricName, context);
+ }
+
+ public void migrateToAad() {
+ serviceManager.replicationFabrics().migrateToAad(resourceName, resourceGroupName, fabricName);
+ }
+
+ public void migrateToAad(Context context) {
+ serviceManager.replicationFabrics().migrateToAad(resourceName, resourceGroupName, fabricName, context);
+ }
+
+ public Fabric reassociateGateway(FailoverProcessServerRequest failoverProcessServerRequest) {
+ return serviceManager
+ .replicationFabrics()
+ .reassociateGateway(resourceName, resourceGroupName, fabricName, failoverProcessServerRequest);
+ }
+
+ public Fabric reassociateGateway(FailoverProcessServerRequest failoverProcessServerRequest, Context context) {
+ return serviceManager
+ .replicationFabrics()
+ .reassociateGateway(resourceName, resourceGroupName, fabricName, failoverProcessServerRequest, context);
+ }
+
+ public void delete() {
+ serviceManager.replicationFabrics().delete(resourceName, resourceGroupName, fabricName);
+ }
+
+ public void delete(Context context) {
+ serviceManager.replicationFabrics().delete(resourceName, resourceGroupName, fabricName, context);
+ }
+
+ public Fabric renewCertificate(RenewCertificateInput renewCertificate) {
+ return serviceManager
+ .replicationFabrics()
+ .renewCertificate(resourceName, resourceGroupName, fabricName, renewCertificate);
+ }
+
+ public Fabric renewCertificate(RenewCertificateInput renewCertificate, Context context) {
+ return serviceManager
+ .replicationFabrics()
+ .renewCertificate(resourceName, resourceGroupName, fabricName, renewCertificate, context);
+ }
+
+ public FabricImpl withProperties(FabricCreationInputProperties properties) {
+ this.createInput.withProperties(properties);
+ return this;
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/implementation/JobImpl.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/implementation/JobImpl.java
new file mode 100644
index 000000000000..8f795d88ba01
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/implementation/JobImpl.java
@@ -0,0 +1,50 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.implementation;
+
+import com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models.JobInner;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.Job;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.JobProperties;
+
+public final class JobImpl implements Job {
+ private JobInner innerObject;
+
+ private final com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager serviceManager;
+
+ JobImpl(
+ JobInner innerObject,
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public JobProperties properties() {
+ return this.innerModel().properties();
+ }
+
+ public String location() {
+ return this.innerModel().location();
+ }
+
+ public JobInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/implementation/LogicalNetworkImpl.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/implementation/LogicalNetworkImpl.java
new file mode 100644
index 000000000000..590a54832702
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/implementation/LogicalNetworkImpl.java
@@ -0,0 +1,50 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.implementation;
+
+import com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models.LogicalNetworkInner;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.LogicalNetwork;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.LogicalNetworkProperties;
+
+public final class LogicalNetworkImpl implements LogicalNetwork {
+ private LogicalNetworkInner innerObject;
+
+ private final com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager serviceManager;
+
+ LogicalNetworkImpl(
+ LogicalNetworkInner innerObject,
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public LogicalNetworkProperties properties() {
+ return this.innerModel().properties();
+ }
+
+ public String location() {
+ return this.innerModel().location();
+ }
+
+ public LogicalNetworkInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/implementation/MigrationItemImpl.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/implementation/MigrationItemImpl.java
new file mode 100644
index 000000000000..65ee614385cb
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/implementation/MigrationItemImpl.java
@@ -0,0 +1,299 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.implementation;
+
+import com.azure.core.management.Region;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models.MigrationItemInner;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.EnableMigrationInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.EnableMigrationInputProperties;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.MigrateInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.MigrationItem;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.MigrationItemProperties;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ResyncInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.TestMigrateCleanupInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.TestMigrateInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.UpdateMigrationItemInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.UpdateMigrationItemInputProperties;
+
+public final class MigrationItemImpl implements MigrationItem, MigrationItem.Definition, MigrationItem.Update {
+ private MigrationItemInner innerObject;
+
+ private final com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager serviceManager;
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public MigrationItemProperties properties() {
+ return this.innerModel().properties();
+ }
+
+ public String location() {
+ return this.innerModel().location();
+ }
+
+ public Region region() {
+ return Region.fromName(this.regionName());
+ }
+
+ public String regionName() {
+ return this.location();
+ }
+
+ public MigrationItemInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceName;
+
+ private String resourceGroupName;
+
+ private String fabricName;
+
+ private String protectionContainerName;
+
+ private String migrationItemName;
+
+ private EnableMigrationInput createInput;
+
+ private UpdateMigrationItemInput updateInput;
+
+ public MigrationItemImpl withExistingReplicationProtectionContainer(
+ String resourceName, String resourceGroupName, String fabricName, String protectionContainerName) {
+ this.resourceName = resourceName;
+ this.resourceGroupName = resourceGroupName;
+ this.fabricName = fabricName;
+ this.protectionContainerName = protectionContainerName;
+ return this;
+ }
+
+ public MigrationItem create() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getReplicationMigrationItems()
+ .create(
+ resourceName,
+ resourceGroupName,
+ fabricName,
+ protectionContainerName,
+ migrationItemName,
+ createInput,
+ Context.NONE);
+ return this;
+ }
+
+ public MigrationItem create(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getReplicationMigrationItems()
+ .create(
+ resourceName,
+ resourceGroupName,
+ fabricName,
+ protectionContainerName,
+ migrationItemName,
+ createInput,
+ context);
+ return this;
+ }
+
+ MigrationItemImpl(
+ String name, com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager serviceManager) {
+ this.innerObject = new MigrationItemInner();
+ this.serviceManager = serviceManager;
+ this.migrationItemName = name;
+ this.createInput = new EnableMigrationInput();
+ }
+
+ public MigrationItemImpl update() {
+ this.updateInput = new UpdateMigrationItemInput();
+ return this;
+ }
+
+ public MigrationItem apply() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getReplicationMigrationItems()
+ .update(
+ resourceName,
+ resourceGroupName,
+ fabricName,
+ protectionContainerName,
+ migrationItemName,
+ updateInput,
+ Context.NONE);
+ return this;
+ }
+
+ public MigrationItem apply(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getReplicationMigrationItems()
+ .update(
+ resourceName,
+ resourceGroupName,
+ fabricName,
+ protectionContainerName,
+ migrationItemName,
+ updateInput,
+ context);
+ return this;
+ }
+
+ MigrationItemImpl(
+ MigrationItemInner innerObject,
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ this.resourceName = Utils.getValueFromIdByName(innerObject.id(), "vaults");
+ this.resourceGroupName = Utils.getValueFromIdByName(innerObject.id(), "resourceGroups");
+ this.fabricName = Utils.getValueFromIdByName(innerObject.id(), "replicationFabrics");
+ this.protectionContainerName = Utils.getValueFromIdByName(innerObject.id(), "replicationProtectionContainers");
+ this.migrationItemName = Utils.getValueFromIdByName(innerObject.id(), "replicationMigrationItems");
+ }
+
+ public MigrationItem refresh() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getReplicationMigrationItems()
+ .getWithResponse(
+ resourceName,
+ resourceGroupName,
+ fabricName,
+ protectionContainerName,
+ migrationItemName,
+ Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public MigrationItem refresh(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getReplicationMigrationItems()
+ .getWithResponse(
+ resourceName, resourceGroupName, fabricName, protectionContainerName, migrationItemName, context)
+ .getValue();
+ return this;
+ }
+
+ public MigrationItem migrate(MigrateInput migrateInput) {
+ return serviceManager
+ .replicationMigrationItems()
+ .migrate(
+ resourceName, resourceGroupName, fabricName, protectionContainerName, migrationItemName, migrateInput);
+ }
+
+ public MigrationItem migrate(MigrateInput migrateInput, Context context) {
+ return serviceManager
+ .replicationMigrationItems()
+ .migrate(
+ resourceName,
+ resourceGroupName,
+ fabricName,
+ protectionContainerName,
+ migrationItemName,
+ migrateInput,
+ context);
+ }
+
+ public MigrationItem resync(ResyncInput input) {
+ return serviceManager
+ .replicationMigrationItems()
+ .resync(resourceName, resourceGroupName, fabricName, protectionContainerName, migrationItemName, input);
+ }
+
+ public MigrationItem resync(ResyncInput input, Context context) {
+ return serviceManager
+ .replicationMigrationItems()
+ .resync(
+ resourceName,
+ resourceGroupName,
+ fabricName,
+ protectionContainerName,
+ migrationItemName,
+ input,
+ context);
+ }
+
+ public MigrationItem testMigrate(TestMigrateInput testMigrateInput) {
+ return serviceManager
+ .replicationMigrationItems()
+ .testMigrate(
+ resourceName,
+ resourceGroupName,
+ fabricName,
+ protectionContainerName,
+ migrationItemName,
+ testMigrateInput);
+ }
+
+ public MigrationItem testMigrate(TestMigrateInput testMigrateInput, Context context) {
+ return serviceManager
+ .replicationMigrationItems()
+ .testMigrate(
+ resourceName,
+ resourceGroupName,
+ fabricName,
+ protectionContainerName,
+ migrationItemName,
+ testMigrateInput,
+ context);
+ }
+
+ public MigrationItem testMigrateCleanup(TestMigrateCleanupInput testMigrateCleanupInput) {
+ return serviceManager
+ .replicationMigrationItems()
+ .testMigrateCleanup(
+ resourceName,
+ resourceGroupName,
+ fabricName,
+ protectionContainerName,
+ migrationItemName,
+ testMigrateCleanupInput);
+ }
+
+ public MigrationItem testMigrateCleanup(TestMigrateCleanupInput testMigrateCleanupInput, Context context) {
+ return serviceManager
+ .replicationMigrationItems()
+ .testMigrateCleanup(
+ resourceName,
+ resourceGroupName,
+ fabricName,
+ protectionContainerName,
+ migrationItemName,
+ testMigrateCleanupInput,
+ context);
+ }
+
+ public MigrationItemImpl withProperties(EnableMigrationInputProperties properties) {
+ this.createInput.withProperties(properties);
+ return this;
+ }
+
+ public MigrationItemImpl withProperties(UpdateMigrationItemInputProperties properties) {
+ this.updateInput.withProperties(properties);
+ return this;
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/implementation/MigrationRecoveryPointImpl.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/implementation/MigrationRecoveryPointImpl.java
new file mode 100644
index 000000000000..94d7563b71c4
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/implementation/MigrationRecoveryPointImpl.java
@@ -0,0 +1,50 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.implementation;
+
+import com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models.MigrationRecoveryPointInner;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.MigrationRecoveryPoint;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.MigrationRecoveryPointProperties;
+
+public final class MigrationRecoveryPointImpl implements MigrationRecoveryPoint {
+ private MigrationRecoveryPointInner innerObject;
+
+ private final com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager serviceManager;
+
+ MigrationRecoveryPointImpl(
+ MigrationRecoveryPointInner innerObject,
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public MigrationRecoveryPointProperties properties() {
+ return this.innerModel().properties();
+ }
+
+ public String location() {
+ return this.innerModel().location();
+ }
+
+ public MigrationRecoveryPointInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/implementation/MigrationRecoveryPointsClientImpl.java b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/implementation/MigrationRecoveryPointsClientImpl.java
new file mode 100644
index 000000000000..c0be7d96314d
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/implementation/MigrationRecoveryPointsClientImpl.java
@@ -0,0 +1,716 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.recoveryservicessiterecovery.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.recoveryservicessiterecovery.fluent.MigrationRecoveryPointsClient;
+import com.azure.resourcemanager.recoveryservicessiterecovery.fluent.models.MigrationRecoveryPointInner;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.MigrationRecoveryPointCollection;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in MigrationRecoveryPointsClient. */
+public final class MigrationRecoveryPointsClientImpl implements MigrationRecoveryPointsClient {
+ private final ClientLogger logger = new ClientLogger(MigrationRecoveryPointsClientImpl.class);
+
+ /** The proxy service used to perform REST calls. */
+ private final MigrationRecoveryPointsService service;
+
+ /** The service client containing this operation class. */
+ private final SiteRecoveryManagementClientImpl client;
+
+ /**
+ * Initializes an instance of MigrationRecoveryPointsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ MigrationRecoveryPointsClientImpl(SiteRecoveryManagementClientImpl client) {
+ this.service =
+ RestProxy
+ .create(MigrationRecoveryPointsService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for SiteRecoveryManagementClientMigrationRecoveryPoints to be used by the
+ * proxy service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "SiteRecoveryManageme")
+ private interface MigrationRecoveryPointsService {
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices"
+ + "/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers"
+ + "/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/migrationRecoveryPoints")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByReplicationMigrationItems(
+ @HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("resourceName") String resourceName,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("fabricName") String fabricName,
+ @PathParam("protectionContainerName") String protectionContainerName,
+ @PathParam("migrationItemName") String migrationItemName,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices"
+ + "/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers"
+ + "/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/migrationRecoveryPoints"
+ + "/{migrationRecoveryPointName}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(
+ @HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("resourceName") String resourceName,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("fabricName") String fabricName,
+ @PathParam("protectionContainerName") String protectionContainerName,
+ @PathParam("migrationItemName") String migrationItemName,
+ @PathParam("migrationRecoveryPointName") String migrationRecoveryPointName,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByReplicationMigrationItemsNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Gets the recovery points for a migration item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric unique name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item 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 the recovery points for a migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByReplicationMigrationItemsSinglePageAsync(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter resourceName is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName 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 (fabricName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter fabricName is required and cannot be null."));
+ }
+ if (protectionContainerName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException("Parameter protectionContainerName is required and cannot be null."));
+ }
+ if (migrationItemName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter migrationItemName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .listByReplicationMigrationItems(
+ this.client.getEndpoint(),
+ this.client.getApiVersion(),
+ resourceName,
+ resourceGroupName,
+ this.client.getSubscriptionId(),
+ fabricName,
+ protectionContainerName,
+ migrationItemName,
+ 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 the recovery points for a migration item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric unique name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item 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 the recovery points for a migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByReplicationMigrationItemsSinglePageAsync(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter resourceName is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName 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 (fabricName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter fabricName is required and cannot be null."));
+ }
+ if (protectionContainerName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException("Parameter protectionContainerName is required and cannot be null."));
+ }
+ if (migrationItemName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter migrationItemName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByReplicationMigrationItems(
+ this.client.getEndpoint(),
+ this.client.getApiVersion(),
+ resourceName,
+ resourceGroupName,
+ this.client.getSubscriptionId(),
+ fabricName,
+ protectionContainerName,
+ migrationItemName,
+ accept,
+ context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * Gets the recovery points for a migration item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric unique name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item 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 the recovery points for a migration item.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByReplicationMigrationItemsAsync(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName) {
+ return new PagedFlux<>(
+ () ->
+ listByReplicationMigrationItemsSinglePageAsync(
+ resourceName, resourceGroupName, fabricName, protectionContainerName, migrationItemName),
+ nextLink -> listByReplicationMigrationItemsNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * Gets the recovery points for a migration item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric unique name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item 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 the recovery points for a migration item.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByReplicationMigrationItemsAsync(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ Context context) {
+ return new PagedFlux<>(
+ () ->
+ listByReplicationMigrationItemsSinglePageAsync(
+ resourceName, resourceGroupName, fabricName, protectionContainerName, migrationItemName, context),
+ nextLink -> listByReplicationMigrationItemsNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * Gets the recovery points for a migration item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric unique name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item 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 the recovery points for a migration item.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByReplicationMigrationItems(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName) {
+ return new PagedIterable<>(
+ listByReplicationMigrationItemsAsync(
+ resourceName, resourceGroupName, fabricName, protectionContainerName, migrationItemName));
+ }
+
+ /**
+ * Gets the recovery points for a migration item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric unique name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item 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 the recovery points for a migration item.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByReplicationMigrationItems(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ Context context) {
+ return new PagedIterable<>(
+ listByReplicationMigrationItemsAsync(
+ resourceName, resourceGroupName, fabricName, protectionContainerName, migrationItemName, context));
+ }
+
+ /**
+ * Gets a recovery point for a migration item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric unique name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param migrationRecoveryPointName The migration recovery point 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 a recovery point for a migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ String migrationRecoveryPointName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter resourceName is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName 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 (fabricName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter fabricName is required and cannot be null."));
+ }
+ if (protectionContainerName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException("Parameter protectionContainerName is required and cannot be null."));
+ }
+ if (migrationItemName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter migrationItemName is required and cannot be null."));
+ }
+ if (migrationRecoveryPointName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter migrationRecoveryPointName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .get(
+ this.client.getEndpoint(),
+ this.client.getApiVersion(),
+ resourceName,
+ resourceGroupName,
+ this.client.getSubscriptionId(),
+ fabricName,
+ protectionContainerName,
+ migrationItemName,
+ migrationRecoveryPointName,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Gets a recovery point for a migration item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric unique name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param migrationRecoveryPointName The migration recovery point 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 a recovery point for a migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ String migrationRecoveryPointName,
+ Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter resourceName is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName 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 (fabricName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter fabricName is required and cannot be null."));
+ }
+ if (protectionContainerName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException("Parameter protectionContainerName is required and cannot be null."));
+ }
+ if (migrationItemName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter migrationItemName is required and cannot be null."));
+ }
+ if (migrationRecoveryPointName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter migrationRecoveryPointName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .get(
+ this.client.getEndpoint(),
+ this.client.getApiVersion(),
+ resourceName,
+ resourceGroupName,
+ this.client.getSubscriptionId(),
+ fabricName,
+ protectionContainerName,
+ migrationItemName,
+ migrationRecoveryPointName,
+ accept,
+ context);
+ }
+
+ /**
+ * Gets a recovery point for a migration item.
+ *
+ * @param resourceName The name of the recovery services vault.
+ * @param resourceGroupName The name of the resource group where the recovery services vault is present.
+ * @param fabricName Fabric unique name.
+ * @param protectionContainerName Protection container name.
+ * @param migrationItemName Migration item name.
+ * @param migrationRecoveryPointName The migration recovery point 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 a recovery point for a migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono