diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt
index d0d070d98ba8..c0a16d335f3d 100644
--- a/eng/versioning/version_client.txt
+++ b/eng/versioning/version_client.txt
@@ -324,6 +324,7 @@ com.azure.resourcemanager:azure-resourcemanager-storagepool;1.0.0-beta.1;1.0.0-b
com.azure.resourcemanager:azure-resourcemanager-dataprotection;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-desktopvirtualization;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-loadtestservice;1.0.0-beta.1;1.0.0-beta.2
+com.azure.resourcemanager:azure-resourcemanager-recoveryservicessiterecovery;1.0.0-beta.1;1.0.0-beta.1
com.azure.tools:azure-sdk-archetype;1.0.0;1.0.0
# Unreleased dependencies: Copy the entry from above, prepend "unreleased_" and remove the current
diff --git a/pom.xml b/pom.xml
index bf7a714e06c4..3725094b97f9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -810,6 +810,7 @@
sdk/quota
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..258565939683
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/CHANGELOG.md
@@ -0,0 +1,5 @@
+# Release History
+
+## 1.0.0-beta.1 (2021-12-08)
+
+- Azure Resource Manager SiteRecovery client library for Java. This package contains Microsoft Azure SDK for SiteRecovery Management SDK. Package tag package-2021-10. 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..ac50a6bee22f
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/README.md
@@ -0,0 +1,102 @@
+# 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-10. 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
+
+[Code snippets and samples](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/SAMPLE.md)
+
+
+## Troubleshooting
+
+## Next steps
+
+## Contributing
+
+For details on contributing to this repository, see the [contributing guide](https://github.com/Azure/azure-sdk-for-java/blob/main/CONTRIBUTING.md).
+
+1. Fork it
+1. Create your feature branch (`git checkout -b my-new-feature`)
+1. Commit your changes (`git commit -am 'Add some feature'`)
+1. Push to the branch (`git push origin my-new-feature`)
+1. Create new Pull Request
+
+
+[survey]: https://microsoft.qualtrics.com/jfe/form/SV_ehN0lIk2FKEBkwd?Q_CHL=DOCS
+[docs]: https://azure.github.io/azure-sdk-for-java/
+[jdk]: https://docs.microsoft.com/java/azure/jdk/
+[azure_subscription]: https://azure.microsoft.com/free/
+[azure_identity]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/identity/azure-identity
+[azure_core_http_netty]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/core/azure-core-http-netty
+[authenticate]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/resourcemanager/docs/AUTH.md
+[design]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/resourcemanager/docs/DESIGN.md
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/SAMPLE.md b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/SAMPLE.md
new file mode 100644
index 000000000000..961eb16d112c
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/SAMPLE.md
@@ -0,0 +1,4210 @@
+# Code snippets and samples
+
+
+## MigrationRecoveryPoints
+
+- [Get](#migrationrecoverypoints_get)
+- [ListByReplicationMigrationItems](#migrationrecoverypoints_listbyreplicationmigrationitems)
+
+## Operations
+
+- [ListByResourceGroup](#operations_listbyresourcegroup)
+
+## RecoveryPoints
+
+- [Get](#recoverypoints_get)
+- [ListByReplicationProtectedItems](#recoverypoints_listbyreplicationprotecteditems)
+
+## ReplicationAlertSettings
+
+- [Create](#replicationalertsettings_create)
+- [Get](#replicationalertsettings_get)
+- [List](#replicationalertsettings_list)
+
+## ReplicationEligibilityResultsOperation
+
+- [Get](#replicationeligibilityresultsoperation_get)
+- [List](#replicationeligibilityresultsoperation_list)
+
+## ReplicationEvents
+
+- [Get](#replicationevents_get)
+- [List](#replicationevents_list)
+
+## ReplicationFabrics
+
+- [CheckConsistency](#replicationfabrics_checkconsistency)
+- [Create](#replicationfabrics_create)
+- [Delete](#replicationfabrics_delete)
+- [Get](#replicationfabrics_get)
+- [List](#replicationfabrics_list)
+- [MigrateToAad](#replicationfabrics_migratetoaad)
+- [Purge](#replicationfabrics_purge)
+- [ReassociateGateway](#replicationfabrics_reassociategateway)
+- [RenewCertificate](#replicationfabrics_renewcertificate)
+
+## ReplicationJobs
+
+- [Cancel](#replicationjobs_cancel)
+- [Export](#replicationjobs_export)
+- [Get](#replicationjobs_get)
+- [List](#replicationjobs_list)
+- [Restart](#replicationjobs_restart)
+- [Resume](#replicationjobs_resume)
+
+## ReplicationLogicalNetworks
+
+- [Get](#replicationlogicalnetworks_get)
+- [ListByReplicationFabrics](#replicationlogicalnetworks_listbyreplicationfabrics)
+
+## ReplicationMigrationItems
+
+- [Create](#replicationmigrationitems_create)
+- [Delete](#replicationmigrationitems_delete)
+- [Get](#replicationmigrationitems_get)
+- [List](#replicationmigrationitems_list)
+- [ListByReplicationProtectionContainers](#replicationmigrationitems_listbyreplicationprotectioncontainers)
+- [Migrate](#replicationmigrationitems_migrate)
+- [Resync](#replicationmigrationitems_resync)
+- [TestMigrate](#replicationmigrationitems_testmigrate)
+- [TestMigrateCleanup](#replicationmigrationitems_testmigratecleanup)
+- [Update](#replicationmigrationitems_update)
+
+## ReplicationNetworkMappings
+
+- [Create](#replicationnetworkmappings_create)
+- [Delete](#replicationnetworkmappings_delete)
+- [Get](#replicationnetworkmappings_get)
+- [List](#replicationnetworkmappings_list)
+- [ListByReplicationNetworks](#replicationnetworkmappings_listbyreplicationnetworks)
+- [Update](#replicationnetworkmappings_update)
+
+## ReplicationNetworks
+
+- [Get](#replicationnetworks_get)
+- [List](#replicationnetworks_list)
+- [ListByReplicationFabrics](#replicationnetworks_listbyreplicationfabrics)
+
+## ReplicationPolicies
+
+- [Create](#replicationpolicies_create)
+- [Delete](#replicationpolicies_delete)
+- [Get](#replicationpolicies_get)
+- [List](#replicationpolicies_list)
+- [Update](#replicationpolicies_update)
+
+## ReplicationProtectableItems
+
+- [Get](#replicationprotectableitems_get)
+- [ListByReplicationProtectionContainers](#replicationprotectableitems_listbyreplicationprotectioncontainers)
+
+## ReplicationProtectedItems
+
+- [AddDisks](#replicationprotecteditems_adddisks)
+- [ApplyRecoveryPoint](#replicationprotecteditems_applyrecoverypoint)
+- [Create](#replicationprotecteditems_create)
+- [Delete](#replicationprotecteditems_delete)
+- [FailoverCancel](#replicationprotecteditems_failovercancel)
+- [FailoverCommit](#replicationprotecteditems_failovercommit)
+- [Get](#replicationprotecteditems_get)
+- [List](#replicationprotecteditems_list)
+- [ListByReplicationProtectionContainers](#replicationprotecteditems_listbyreplicationprotectioncontainers)
+- [PlannedFailover](#replicationprotecteditems_plannedfailover)
+- [Purge](#replicationprotecteditems_purge)
+- [RemoveDisks](#replicationprotecteditems_removedisks)
+- [RepairReplication](#replicationprotecteditems_repairreplication)
+- [Reprotect](#replicationprotecteditems_reprotect)
+- [ResolveHealthErrors](#replicationprotecteditems_resolvehealtherrors)
+- [TestFailover](#replicationprotecteditems_testfailover)
+- [TestFailoverCleanup](#replicationprotecteditems_testfailovercleanup)
+- [UnplannedFailover](#replicationprotecteditems_unplannedfailover)
+- [Update](#replicationprotecteditems_update)
+- [UpdateAppliance](#replicationprotecteditems_updateappliance)
+- [UpdateMobilityService](#replicationprotecteditems_updatemobilityservice)
+
+## ReplicationProtectionContainerMappings
+
+- [Create](#replicationprotectioncontainermappings_create)
+- [Delete](#replicationprotectioncontainermappings_delete)
+- [Get](#replicationprotectioncontainermappings_get)
+- [List](#replicationprotectioncontainermappings_list)
+- [ListByReplicationProtectionContainers](#replicationprotectioncontainermappings_listbyreplicationprotectioncontainers)
+- [Purge](#replicationprotectioncontainermappings_purge)
+- [Update](#replicationprotectioncontainermappings_update)
+
+## ReplicationProtectionContainers
+
+- [Create](#replicationprotectioncontainers_create)
+- [Delete](#replicationprotectioncontainers_delete)
+- [DiscoverProtectableItem](#replicationprotectioncontainers_discoverprotectableitem)
+- [Get](#replicationprotectioncontainers_get)
+- [List](#replicationprotectioncontainers_list)
+- [ListByReplicationFabrics](#replicationprotectioncontainers_listbyreplicationfabrics)
+- [SwitchProtection](#replicationprotectioncontainers_switchprotection)
+
+## ReplicationProtectionIntents
+
+- [Create](#replicationprotectionintents_create)
+- [Get](#replicationprotectionintents_get)
+- [List](#replicationprotectionintents_list)
+
+## ReplicationRecoveryPlans
+
+- [Create](#replicationrecoveryplans_create)
+- [Delete](#replicationrecoveryplans_delete)
+- [FailoverCancel](#replicationrecoveryplans_failovercancel)
+- [FailoverCommit](#replicationrecoveryplans_failovercommit)
+- [Get](#replicationrecoveryplans_get)
+- [List](#replicationrecoveryplans_list)
+- [PlannedFailover](#replicationrecoveryplans_plannedfailover)
+- [Reprotect](#replicationrecoveryplans_reprotect)
+- [TestFailover](#replicationrecoveryplans_testfailover)
+- [TestFailoverCleanup](#replicationrecoveryplans_testfailovercleanup)
+- [UnplannedFailover](#replicationrecoveryplans_unplannedfailover)
+- [Update](#replicationrecoveryplans_update)
+
+## ReplicationRecoveryServicesProviders
+
+- [Create](#replicationrecoveryservicesproviders_create)
+- [Delete](#replicationrecoveryservicesproviders_delete)
+- [Get](#replicationrecoveryservicesproviders_get)
+- [List](#replicationrecoveryservicesproviders_list)
+- [ListByReplicationFabrics](#replicationrecoveryservicesproviders_listbyreplicationfabrics)
+- [Purge](#replicationrecoveryservicesproviders_purge)
+- [RefreshProvider](#replicationrecoveryservicesproviders_refreshprovider)
+
+## ReplicationStorageClassificationMappings
+
+- [Create](#replicationstorageclassificationmappings_create)
+- [Delete](#replicationstorageclassificationmappings_delete)
+- [Get](#replicationstorageclassificationmappings_get)
+- [List](#replicationstorageclassificationmappings_list)
+- [ListByReplicationStorageClassifications](#replicationstorageclassificationmappings_listbyreplicationstorageclassifications)
+
+## ReplicationStorageClassifications
+
+- [Get](#replicationstorageclassifications_get)
+- [List](#replicationstorageclassifications_list)
+- [ListByReplicationFabrics](#replicationstorageclassifications_listbyreplicationfabrics)
+
+## ReplicationVaultHealth
+
+- [Get](#replicationvaulthealth_get)
+- [Refresh](#replicationvaulthealth_refresh)
+
+## ReplicationVaultSetting
+
+- [Create](#replicationvaultsetting_create)
+- [Get](#replicationvaultsetting_get)
+- [List](#replicationvaultsetting_list)
+
+## ReplicationvCenters
+
+- [Create](#replicationvcenters_create)
+- [Delete](#replicationvcenters_delete)
+- [Get](#replicationvcenters_get)
+- [List](#replicationvcenters_list)
+- [ListByReplicationFabrics](#replicationvcenters_listbyreplicationfabrics)
+- [Update](#replicationvcenters_update)
+
+## SupportedOperatingSystemsOperation
+
+- [Get](#supportedoperatingsystemsoperation_get)
+
+## TargetComputeSizes
+
+- [ListByReplicationProtectedItems](#targetcomputesizes_listbyreplicationprotecteditems)
+### MigrationRecoveryPoints_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for MigrationRecoveryPoints Get. */
+public final class MigrationRecoveryPointsGetSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/MigrationRecoveryPoints_Get.json
+ */
+ /**
+ * Sample code: Gets a recovery point for a migration item.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsARecoveryPointForAMigrationItem(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .migrationRecoveryPoints()
+ .getWithResponse(
+ "migrationvault",
+ "resourcegroup1",
+ "vmwarefabric1",
+ "vmwareContainer1",
+ "virtualmachine1",
+ "b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ Context.NONE);
+ }
+}
+```
+
+### MigrationRecoveryPoints_ListByReplicationMigrationItems
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for MigrationRecoveryPoints ListByReplicationMigrationItems. */
+public final class MigrationRecoveryPointsListByReplicationMigrationItemsSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/MigrationRecoveryPoints_ListByReplicationMigrationItems.json
+ */
+ /**
+ * Sample code: Gets the recovery points for a migration item.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheRecoveryPointsForAMigrationItem(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .migrationRecoveryPoints()
+ .listByReplicationMigrationItems(
+ "migrationvault",
+ "resourcegroup1",
+ "vmwarefabric1",
+ "vmwareContainer1",
+ "virtualmachine1",
+ Context.NONE);
+ }
+}
+```
+
+### Operations_ListByResourceGroup
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Operations ListByResourceGroup. */
+public final class OperationsListByResourceGroupSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/Operations_List.json
+ */
+ /**
+ * Sample code: Returns the list of available operations.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void returnsTheListOfAvailableOperations(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.operations().listByResourceGroup("resourceGroupPS1", Context.NONE);
+ }
+}
+```
+
+### RecoveryPoints_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RecoveryPoints Get. */
+public final class RecoveryPointsGetSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/RecoveryPoints_Get.json
+ */
+ /**
+ * Sample code: Gets a recovery point.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsARecoveryPoint(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .recoveryPoints()
+ .getWithResponse(
+ "vault1",
+ "resourceGroupPS1",
+ "cloud1",
+ "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "f8491e4f-817a-40dd-a90c-af773978c75b",
+ "b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ Context.NONE);
+ }
+}
+```
+
+### RecoveryPoints_ListByReplicationProtectedItems
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RecoveryPoints ListByReplicationProtectedItems. */
+public final class RecoveryPointsListByReplicationProtectedItemsSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/RecoveryPoints_ListByReplicationProtectedItems.json
+ */
+ /**
+ * Sample code: Gets the list of recovery points for a replication protected item.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheListOfRecoveryPointsForAReplicationProtectedItem(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .recoveryPoints()
+ .listByReplicationProtectedItems(
+ "vault1",
+ "resourceGroupPS1",
+ "cloud1",
+ "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "f8491e4f-817a-40dd-a90c-af773978c75b",
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationAlertSettings_Create
+
+```java
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ConfigureAlertRequestProperties;
+import java.util.Arrays;
+
+/** Samples for ReplicationAlertSettings Create. */
+public final class ReplicationAlertSettingsCreateSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationAlertSettings_Create.json
+ */
+ /**
+ * Sample code: Configures email notifications for this vault.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void configuresEmailNotificationsForThisVault(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationAlertSettings()
+ .define("defaultAlertSetting")
+ .withExistingVault("vault1", "resourceGroupPS1")
+ .withProperties(
+ new ConfigureAlertRequestProperties()
+ .withSendToOwners("false")
+ .withCustomEmailAddresses(Arrays.asList("ronehr@microsoft.com"))
+ .withLocale(""))
+ .create();
+ }
+}
+```
+
+### ReplicationAlertSettings_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationAlertSettings Get. */
+public final class ReplicationAlertSettingsGetSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationAlertSettings_Get.json
+ */
+ /**
+ * Sample code: Gets an email notification(alert) configuration.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsAnEmailNotificationAlertConfiguration(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationAlertSettings()
+ .getWithResponse("vault1", "resourceGroupPS1", "defaultAlertSetting", Context.NONE);
+ }
+}
+```
+
+### ReplicationAlertSettings_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationAlertSettings List. */
+public final class ReplicationAlertSettingsListSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationAlertSettings_List.json
+ */
+ /**
+ * Sample code: Gets the list of configured email notification(alert) configurations.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheListOfConfiguredEmailNotificationAlertConfigurations(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationAlertSettings().list("vault1", "resourceGroupPS1", Context.NONE);
+ }
+}
+```
+
+### ReplicationEligibilityResultsOperation_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationEligibilityResultsOperation Get. */
+public final class ReplicationEligibilityResultsOperationGetSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationEligibilityResults_Get.json
+ */
+ /**
+ * Sample code: Gets the validation errors in case the VM is unsuitable for protection.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheValidationErrorsInCaseTheVMIsUnsuitableForProtection(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationEligibilityResultsOperations().getWithResponse("testRg1", "testVm1", Context.NONE);
+ }
+}
+```
+
+### ReplicationEligibilityResultsOperation_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationEligibilityResultsOperation List. */
+public final class ReplicationEligibilityResultsOperationListSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationEligibilityResults_List.json
+ */
+ /**
+ * Sample code: Gets the validation errors in case the VM is unsuitable for protection.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheValidationErrorsInCaseTheVMIsUnsuitableForProtection(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationEligibilityResultsOperations().listWithResponse("testRg1", "testVm2", Context.NONE);
+ }
+}
+```
+
+### ReplicationEvents_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationEvents Get. */
+public final class ReplicationEventsGetSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationEvents_Get.json
+ */
+ /**
+ * Sample code: Get the details of an Azure Site recovery event.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getTheDetailsOfAnAzureSiteRecoveryEvent(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationEvents()
+ .getWithResponse("vault1", "resourceGroupPS1", "654b71d0-b2ce-4e6e-a861-98528d4bd375", Context.NONE);
+ }
+}
+```
+
+### ReplicationEvents_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationEvents List. */
+public final class ReplicationEventsListSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationEvents_List.json
+ */
+ /**
+ * Sample code: Gets the list of Azure Site Recovery events.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheListOfAzureSiteRecoveryEvents(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationEvents().list("vault1", "resourceGroupPS1", null, Context.NONE);
+ }
+}
+```
+
+### ReplicationFabrics_CheckConsistency
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationFabrics CheckConsistency. */
+public final class ReplicationFabricsCheckConsistencySamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationFabrics_CheckConsistency.json
+ */
+ /**
+ * Sample code: Checks the consistency of the ASR fabric.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void checksTheConsistencyOfTheASRFabric(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationFabrics().checkConsistency("vault1", "resourceGroupPS1", "cloud1", Context.NONE);
+ }
+}
+```
+
+### ReplicationFabrics_Create
+
+```java
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.FabricCreationInputProperties;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.FabricSpecificCreationInput;
+
+/** Samples for ReplicationFabrics Create. */
+public final class ReplicationFabricsCreateSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationFabrics_Create.json
+ */
+ /**
+ * Sample code: Creates an Azure Site Recovery fabric.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void createsAnAzureSiteRecoveryFabric(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationFabrics()
+ .define("cloud1")
+ .withExistingVault("vault1", "resourceGroupPS1")
+ .withProperties(new FabricCreationInputProperties().withCustomDetails(new FabricSpecificCreationInput()))
+ .create();
+ }
+}
+```
+
+### ReplicationFabrics_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationFabrics Delete. */
+public final class ReplicationFabricsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationFabrics_Delete.json
+ */
+ /**
+ * Sample code: Deletes the site.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void deletesTheSite(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationFabrics().delete("vault1", "resourceGroupPS1", "cloud1", Context.NONE);
+ }
+}
+```
+
+### ReplicationFabrics_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationFabrics Get. */
+public final class ReplicationFabricsGetSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationFabrics_Get.json
+ */
+ /**
+ * Sample code: Gets the details of an ASR fabric.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheDetailsOfAnASRFabric(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationFabrics().getWithResponse("vault1", "resourceGroupPS1", "cloud1", null, Context.NONE);
+ }
+}
+```
+
+### ReplicationFabrics_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationFabrics List. */
+public final class ReplicationFabricsListSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationFabrics_List.json
+ */
+ /**
+ * Sample code: Gets the list of ASR fabrics.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheListOfASRFabrics(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationFabrics().list("vault1", "resourceGroupPS1", Context.NONE);
+ }
+}
+```
+
+### ReplicationFabrics_MigrateToAad
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationFabrics MigrateToAad. */
+public final class ReplicationFabricsMigrateToAadSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationFabrics_MigrateToAad.json
+ */
+ /**
+ * Sample code: Migrates the site to AAD.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void migratesTheSiteToAAD(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationFabrics().migrateToAad("vault1", "resourceGroupPS1", "cloud1", Context.NONE);
+ }
+}
+```
+
+### ReplicationFabrics_Purge
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationFabrics Purge. */
+public final class ReplicationFabricsPurgeSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationFabrics_Purge.json
+ */
+ /**
+ * Sample code: Purges the site.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void purgesTheSite(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationFabrics().purge("vault1", "resourceGroupPS1", "cloud1", Context.NONE);
+ }
+}
+```
+
+### ReplicationFabrics_ReassociateGateway
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.FailoverProcessServerRequest;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.FailoverProcessServerRequestProperties;
+import java.util.Arrays;
+
+/** Samples for ReplicationFabrics ReassociateGateway. */
+public final class ReplicationFabricsReassociateGatewaySamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationFabrics_ReassociateGateway.json
+ */
+ /**
+ * Sample code: Perform failover of the process server.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void performFailoverOfTheProcessServer(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationFabrics()
+ .reassociateGateway(
+ "MadhaviVault",
+ "MadhaviVRG",
+ "GRACE-V2A-1",
+ new FailoverProcessServerRequest()
+ .withProperties(
+ new FailoverProcessServerRequestProperties()
+ .withContainerName("cloud_1f3c15af-2256-4568-9e06-e1ef4f728f75")
+ .withSourceProcessServerId("AFA0EC54-1894-4E44-9CAB02DB8854B117")
+ .withTargetProcessServerId("5D3ED340-85AE-C646-B338641E015DA405")
+ .withVmsToMigrate(Arrays.asList("Vm1", "Vm2"))
+ .withUpdateType("ServerLevel")),
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationFabrics_RenewCertificate
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RenewCertificateInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RenewCertificateInputProperties;
+
+/** Samples for ReplicationFabrics RenewCertificate. */
+public final class ReplicationFabricsRenewCertificateSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationFabrics_RenewCertificate.json
+ */
+ /**
+ * Sample code: Renews certificate for the fabric.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void renewsCertificateForTheFabric(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationFabrics()
+ .renewCertificate(
+ "vault1",
+ "resourceGroupPS1",
+ "cloud1",
+ new RenewCertificateInput()
+ .withProperties(new RenewCertificateInputProperties().withRenewCertificateType("Cloud")),
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationJobs_Cancel
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationJobs Cancel. */
+public final class ReplicationJobsCancelSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationJobs_Cancel.json
+ */
+ /**
+ * Sample code: Cancels the specified job.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void cancelsTheSpecifiedJob(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationJobs()
+ .cancel("vault1", "resourceGroupPS1", "2653c648-fc72-4316-86f3-fdf8eaa0066b", Context.NONE);
+ }
+}
+```
+
+### ReplicationJobs_Export
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.JobQueryParameter;
+
+/** Samples for ReplicationJobs Export. */
+public final class ReplicationJobsExportSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationJobs_Export.json
+ */
+ /**
+ * Sample code: Exports the details of the Azure Site Recovery jobs of the vault.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void exportsTheDetailsOfTheAzureSiteRecoveryJobsOfTheVault(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationJobs()
+ .export(
+ "vault1",
+ "resourceGroupPS1",
+ new JobQueryParameter()
+ .withStartTime("2017-04-27T14:26:51.9161395Z")
+ .withEndTime("2017-05-04T14:26:51.9161395Z")
+ .withAffectedObjectTypes("")
+ .withJobStatus(""),
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationJobs_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationJobs Get. */
+public final class ReplicationJobsGetSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationJobs_Get.json
+ */
+ /**
+ * Sample code: Gets the job details.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheJobDetails(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationJobs()
+ .getWithResponse("vault1", "resourceGroupPS1", "58776d0b-3141-48b2-a377-9ad863eb160d", Context.NONE);
+ }
+}
+```
+
+### ReplicationJobs_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationJobs List. */
+public final class ReplicationJobsListSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationJobs_List.json
+ */
+ /**
+ * Sample code: Gets the list of jobs.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheListOfJobs(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationJobs().list("vault1", "resourceGroupPS1", null, Context.NONE);
+ }
+}
+```
+
+### ReplicationJobs_Restart
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationJobs Restart. */
+public final class ReplicationJobsRestartSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationJobs_Restart.json
+ */
+ /**
+ * Sample code: Restarts the specified job.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void restartsTheSpecifiedJob(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationJobs()
+ .restart("vault1", "resourceGroupPS1", "0664564c-353e-401a-ab0c-722257c10e25", Context.NONE);
+ }
+}
+```
+
+### ReplicationJobs_Resume
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ResumeJobParams;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ResumeJobParamsProperties;
+
+/** Samples for ReplicationJobs Resume. */
+public final class ReplicationJobsResumeSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationJobs_Resume.json
+ */
+ /**
+ * Sample code: Resumes the specified job.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void resumesTheSpecifiedJob(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationJobs()
+ .resume(
+ "vault1",
+ "resourceGroupPS1",
+ "58776d0b-3141-48b2-a377-9ad863eb160d",
+ new ResumeJobParams().withProperties(new ResumeJobParamsProperties().withComments(" ")),
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationLogicalNetworks_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationLogicalNetworks Get. */
+public final class ReplicationLogicalNetworksGetSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationLogicalNetworks_Get.json
+ */
+ /**
+ * Sample code: Gets a logical network with specified server id and logical network name.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsALogicalNetworkWithSpecifiedServerIdAndLogicalNetworkName(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationLogicalNetworks()
+ .getWithResponse(
+ "vault1", "resourceGroupPS1", "cloud1", "87ab394f-165f-4aa9-bd84-b018500b4509", Context.NONE);
+ }
+}
+```
+
+### ReplicationLogicalNetworks_ListByReplicationFabrics
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationLogicalNetworks ListByReplicationFabrics. */
+public final class ReplicationLogicalNetworksListByReplicationFabricsSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationLogicalNetworks_ListByReplicationFabrics.json
+ */
+ /**
+ * Sample code: Gets the list of logical networks under a fabric.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheListOfLogicalNetworksUnderAFabric(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationLogicalNetworks()
+ .listByReplicationFabrics("vault1", "resourceGroupPS1", "cloud1", Context.NONE);
+ }
+}
+```
+
+### ReplicationMigrationItems_Create
+
+```java
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.EnableMigrationInputProperties;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.VMwareCbtDiskInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.VMwareCbtEnableMigrationInput;
+import java.util.Arrays;
+
+/** Samples for ReplicationMigrationItems Create. */
+public final class ReplicationMigrationItemsCreateSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationMigrationItems_Create.json
+ */
+ /**
+ * Sample code: Enables migration.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void enablesMigration(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationMigrationItems()
+ .define("virtualmachine1")
+ .withExistingReplicationProtectionContainer(
+ "migrationvault", "resourcegroup1", "vmwarefabric1", "vmwareContainer1")
+ .withProperties(
+ new EnableMigrationInputProperties()
+ .withPolicyId(
+ "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1")
+ .withProviderSpecificDetails(
+ new VMwareCbtEnableMigrationInput()
+ .withVmwareMachineId(
+ "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.OffAzure/VMwareSites/vmwaresite1/machines/virtualmachine1")
+ .withDisksToInclude(
+ Arrays
+ .asList(
+ new VMwareCbtDiskInput()
+ .withDiskId("disk1")
+ .withIsOSDisk("true")
+ .withLogStorageAccountId(
+ "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.Storage/storageAccounts/logStorageAccount1")
+ .withLogStorageAccountSasSecretName("logStorageSas")))
+ .withDataMoverRunAsAccountId(
+ "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.OffAzure/VMwareSites/vmwaresite1/runasaccounts/dataMoverRunAsAccount1")
+ .withSnapshotRunAsAccountId(
+ "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.OffAzure/VMwareSites/vmwaresite1/runasaccounts/snapshotRunAsAccount1")
+ .withTargetResourceGroupId(
+ "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1")
+ .withTargetNetworkId(
+ "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.Network/virtualNetworks/virtualNetwork1")))
+ .create();
+ }
+}
+```
+
+### ReplicationMigrationItems_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationMigrationItems Delete. */
+public final class ReplicationMigrationItemsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationMigrationItems_Delete.json
+ */
+ /**
+ * Sample code: Delete the migration item.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void deleteTheMigrationItem(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationMigrationItems()
+ .delete(
+ "migrationvault",
+ "resourcegroup1",
+ "vmwarefabric1",
+ "vmwareContainer1",
+ "virtualmachine1",
+ null,
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationMigrationItems_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationMigrationItems Get. */
+public final class ReplicationMigrationItemsGetSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationMigrationItems_Get.json
+ */
+ /**
+ * Sample code: Gets the details of a migration item.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheDetailsOfAMigrationItem(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationMigrationItems()
+ .getWithResponse(
+ "migrationvault",
+ "resourcegroup1",
+ "vmwarefabric1",
+ "vmwareContainer1",
+ "virtualmachine1",
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationMigrationItems_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationMigrationItems List. */
+public final class ReplicationMigrationItemsListSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationMigrationItems_List.json
+ */
+ /**
+ * Sample code: Gets the list of migration items in the vault.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheListOfMigrationItemsInTheVault(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationMigrationItems().list("migrationvault", "resourcegroup1", null, null, null, Context.NONE);
+ }
+}
+```
+
+### ReplicationMigrationItems_ListByReplicationProtectionContainers
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationMigrationItems ListByReplicationProtectionContainers. */
+public final class ReplicationMigrationItemsListByReplicationProtectionContainersSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationMigrationItems_ListByReplicationProtectionContainers.json
+ */
+ /**
+ * Sample code: Gets the list of migration items in the protection container.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheListOfMigrationItemsInTheProtectionContainer(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationMigrationItems()
+ .listByReplicationProtectionContainers(
+ "migrationvault",
+ "resourcegroup1",
+ "vmwarefabric1",
+ "vmwareContainer1",
+ null,
+ null,
+ null,
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationMigrationItems_Migrate
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.MigrateInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.MigrateInputProperties;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.VMwareCbtMigrateInput;
+
+/** Samples for ReplicationMigrationItems Migrate. */
+public final class ReplicationMigrationItemsMigrateSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationMigrationItems_Migrate.json
+ */
+ /**
+ * Sample code: Migrate item.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void migrateItem(com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationMigrationItems()
+ .migrate(
+ "migrationvault",
+ "resourcegroup1",
+ "vmwarefabric1",
+ "vmwareContainer1",
+ "virtualmachine1",
+ new MigrateInput()
+ .withProperties(
+ new MigrateInputProperties()
+ .withProviderSpecificDetails(new VMwareCbtMigrateInput().withPerformShutdown("true"))),
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationMigrationItems_Resync
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ResyncInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ResyncInputProperties;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.VMwareCbtResyncInput;
+
+/** Samples for ReplicationMigrationItems Resync. */
+public final class ReplicationMigrationItemsResyncSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationMigrationItems_Resync.json
+ */
+ /**
+ * Sample code: Resynchronizes replication.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void resynchronizesReplication(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationMigrationItems()
+ .resync(
+ "migrationvault",
+ "resourcegroup1",
+ "vmwarefabric1",
+ "vmwareContainer1",
+ "virtualmachine1",
+ new ResyncInput()
+ .withProperties(
+ new ResyncInputProperties()
+ .withProviderSpecificDetails(new VMwareCbtResyncInput().withSkipCbtReset("true"))),
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationMigrationItems_TestMigrate
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.TestMigrateInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.TestMigrateInputProperties;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.VMwareCbtTestMigrateInput;
+
+/** Samples for ReplicationMigrationItems TestMigrate. */
+public final class ReplicationMigrationItemsTestMigrateSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationMigrationItems_TestMigrate.json
+ */
+ /**
+ * Sample code: Test migrate item.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void testMigrateItem(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationMigrationItems()
+ .testMigrate(
+ "migrationvault",
+ "resourcegroup1",
+ "vmwarefabric1",
+ "vmwareContainer1",
+ "virtualmachine1",
+ new TestMigrateInput()
+ .withProperties(
+ new TestMigrateInputProperties()
+ .withProviderSpecificDetails(
+ new VMwareCbtTestMigrateInput()
+ .withRecoveryPointId(
+ "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1/migrationRecoveryPoints/9e737191-317e-43d0-8c83-e32ac3b34686")
+ .withNetworkId(
+ "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.Network/virtualNetworks/virtualNetwork1"))),
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationMigrationItems_TestMigrateCleanup
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.TestMigrateCleanupInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.TestMigrateCleanupInputProperties;
+
+/** Samples for ReplicationMigrationItems TestMigrateCleanup. */
+public final class ReplicationMigrationItemsTestMigrateCleanupSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationMigrationItems_TestMigrateCleanup.json
+ */
+ /**
+ * Sample code: Test migrate cleanup.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void testMigrateCleanup(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationMigrationItems()
+ .testMigrateCleanup(
+ "migrationvault",
+ "resourcegroup1",
+ "vmwarefabric1",
+ "vmwareContainer1",
+ "virtualmachine1",
+ new TestMigrateCleanupInput()
+ .withProperties(new TestMigrateCleanupInputProperties().withComments("Test Failover Cleanup")),
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationMigrationItems_Update
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.MigrationItem;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.UpdateMigrationItemInputProperties;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.VMwareCbtUpdateMigrationItemInput;
+
+/** Samples for ReplicationMigrationItems Update. */
+public final class ReplicationMigrationItemsUpdateSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationMigrationItems_Update.json
+ */
+ /**
+ * Sample code: Updates migration item.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void updatesMigrationItem(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ MigrationItem resource =
+ manager
+ .replicationMigrationItems()
+ .getWithResponse(
+ "migrationvault",
+ "resourcegroup1",
+ "vmwarefabric1",
+ "vmwareContainer1",
+ "virtualmachine1",
+ Context.NONE)
+ .getValue();
+ resource
+ .update()
+ .withProperties(
+ new UpdateMigrationItemInputProperties()
+ .withProviderSpecificDetails(new VMwareCbtUpdateMigrationItemInput()))
+ .apply();
+ }
+}
+```
+
+### ReplicationNetworkMappings_Create
+
+```java
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.CreateNetworkMappingInputProperties;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.VmmToAzureCreateNetworkMappingInput;
+
+/** Samples for ReplicationNetworkMappings Create. */
+public final class ReplicationNetworkMappingsCreateSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationNetworkMappings_Create.json
+ */
+ /**
+ * Sample code: Creates network mapping.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void createsNetworkMapping(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationNetworkMappings()
+ .define("corpe2amap")
+ .withExistingReplicationNetwork(
+ "srce2avaultbvtaC27",
+ "srcBvte2a14C27",
+ "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ "e2267b5c-2650-49bd-ab3f-d66aae694c06")
+ .withProperties(
+ new CreateNetworkMappingInputProperties()
+ .withRecoveryFabricName("Microsoft Azure")
+ .withRecoveryNetworkId(
+ "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai")
+ .withFabricSpecificDetails(new VmmToAzureCreateNetworkMappingInput()))
+ .create();
+ }
+}
+```
+
+### ReplicationNetworkMappings_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationNetworkMappings Delete. */
+public final class ReplicationNetworkMappingsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationNetworkMappings_Delete.json
+ */
+ /**
+ * Sample code: Delete network mapping.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void deleteNetworkMapping(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationNetworkMappings()
+ .delete(
+ "srce2avaultbvtaC27",
+ "srcBvte2a14C27",
+ "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ "e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "corpe2amap",
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationNetworkMappings_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationNetworkMappings Get. */
+public final class ReplicationNetworkMappingsGetSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationNetworkMappings_Get.json
+ */
+ /**
+ * Sample code: Gets network mapping by name.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsNetworkMappingByName(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationNetworkMappings()
+ .getWithResponse(
+ "srce2avaultbvtaC27",
+ "srcBvte2a14C27",
+ "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ "e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "corpe2amap",
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationNetworkMappings_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationNetworkMappings List. */
+public final class ReplicationNetworkMappingsListSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationNetworkMappings_List.json
+ */
+ /**
+ * Sample code: Gets all the network mappings under a vault.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsAllTheNetworkMappingsUnderAVault(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationNetworkMappings().list("srce2avaultbvtaC27", "srcBvte2a14C27", Context.NONE);
+ }
+}
+```
+
+### ReplicationNetworkMappings_ListByReplicationNetworks
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationNetworkMappings ListByReplicationNetworks. */
+public final class ReplicationNetworkMappingsListByReplicationNetworksSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationNetworkMappings_ListByReplicationNetworks.json
+ */
+ /**
+ * Sample code: Gets all the network mappings under a network.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsAllTheNetworkMappingsUnderANetwork(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationNetworkMappings()
+ .listByReplicationNetworks(
+ "srce2avaultbvtaC27",
+ "srcBvte2a14C27",
+ "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ "e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationNetworkMappings_Update
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.NetworkMapping;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.UpdateNetworkMappingInputProperties;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.VmmToAzureUpdateNetworkMappingInput;
+
+/** Samples for ReplicationNetworkMappings Update. */
+public final class ReplicationNetworkMappingsUpdateSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationNetworkMappings_Update.json
+ */
+ /**
+ * Sample code: Updates network mapping.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void updatesNetworkMapping(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ NetworkMapping resource =
+ manager
+ .replicationNetworkMappings()
+ .getWithResponse(
+ "srce2avaultbvtaC27",
+ "srcBvte2a14C27",
+ "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ "e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "corpe2amap",
+ Context.NONE)
+ .getValue();
+ resource
+ .update()
+ .withProperties(
+ new UpdateNetworkMappingInputProperties()
+ .withRecoveryFabricName("Microsoft Azure")
+ .withRecoveryNetworkId(
+ "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai2")
+ .withFabricSpecificDetails(new VmmToAzureUpdateNetworkMappingInput()))
+ .apply();
+ }
+}
+```
+
+### ReplicationNetworks_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationNetworks Get. */
+public final class ReplicationNetworksGetSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationNetworks_Get.json
+ */
+ /**
+ * Sample code: Gets a network with specified server id and network name.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsANetworkWithSpecifiedServerIdAndNetworkName(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationNetworks()
+ .getWithResponse(
+ "srce2avaultbvtaC27",
+ "srcBvte2a14C27",
+ "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ "93ce99d7-1219-4914-aa61-73fe5023988e",
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationNetworks_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationNetworks List. */
+public final class ReplicationNetworksListSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationNetworks_List.json
+ */
+ /**
+ * Sample code: Gets the list of networks. View-only API.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheListOfNetworksViewOnlyAPI(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationNetworks().list("srce2avaultbvtaC27", "srcBvte2a14C27", Context.NONE);
+ }
+}
+```
+
+### ReplicationNetworks_ListByReplicationFabrics
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationNetworks ListByReplicationFabrics. */
+public final class ReplicationNetworksListByReplicationFabricsSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationNetworks_ListByReplicationFabrics.json
+ */
+ /**
+ * Sample code: Gets the list of networks under a fabric.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheListOfNetworksUnderAFabric(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationNetworks()
+ .listByReplicationFabrics(
+ "srce2avaultbvtaC27",
+ "srcBvte2a14C27",
+ "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationPolicies_Create
+
+```java
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.CreatePolicyInputProperties;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.HyperVReplicaAzurePolicyInput;
+
+/** Samples for ReplicationPolicies Create. */
+public final class ReplicationPoliciesCreateSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationPolicies_Create.json
+ */
+ /**
+ * Sample code: Creates the policy.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void createsThePolicy(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationPolicies()
+ .define("protectionprofile1")
+ .withExistingVault("vault1", "resourceGroupPS1")
+ .withProperties(
+ new CreatePolicyInputProperties().withProviderSpecificInput(new HyperVReplicaAzurePolicyInput()))
+ .create();
+ }
+}
+```
+
+### ReplicationPolicies_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationPolicies Delete. */
+public final class ReplicationPoliciesDeleteSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationPolicies_Delete.json
+ */
+ /**
+ * Sample code: Delete the policy.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void deleteThePolicy(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationPolicies().delete("vault1", "resourceGroupPS1", "protectionprofile1", Context.NONE);
+ }
+}
+```
+
+### ReplicationPolicies_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationPolicies Get. */
+public final class ReplicationPoliciesGetSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationPolicies_Get.json
+ */
+ /**
+ * Sample code: Gets the requested policy.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheRequestedPolicy(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationPolicies().getWithResponse("vault1", "resourceGroupPS1", "protectionprofile1", Context.NONE);
+ }
+}
+```
+
+### ReplicationPolicies_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationPolicies List. */
+public final class ReplicationPoliciesListSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationPolicies_List.json
+ */
+ /**
+ * Sample code: Gets the list of replication policies.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheListOfReplicationPolicies(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationPolicies().list("vault1", "resourceGroupPS1", Context.NONE);
+ }
+}
+```
+
+### ReplicationPolicies_Update
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.HyperVReplicaAzurePolicyInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.Policy;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.UpdatePolicyInputProperties;
+
+/** Samples for ReplicationPolicies Update. */
+public final class ReplicationPoliciesUpdateSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationPolicies_Update.json
+ */
+ /**
+ * Sample code: Updates the policy.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void updatesThePolicy(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ Policy resource =
+ manager
+ .replicationPolicies()
+ .getWithResponse("vault1", "resourceGroupPS1", "protectionprofile1", Context.NONE)
+ .getValue();
+ resource
+ .update()
+ .withProperties(
+ new UpdatePolicyInputProperties().withReplicationProviderSettings(new HyperVReplicaAzurePolicyInput()))
+ .apply();
+ }
+}
+```
+
+### ReplicationProtectableItems_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationProtectableItems Get. */
+public final class ReplicationProtectableItemsGetSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectableItems_Get.json
+ */
+ /**
+ * Sample code: Gets the details of a protectable item.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheDetailsOfAProtectableItem(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationProtectableItems()
+ .getWithResponse(
+ "vault1",
+ "resourceGroupPS1",
+ "cloud1",
+ "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationProtectableItems_ListByReplicationProtectionContainers
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationProtectableItems ListByReplicationProtectionContainers. */
+public final class ReplicationProtectableItemsListByReplicationProtectionContainersSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json
+ */
+ /**
+ * Sample code: Gets the list of protectable items.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheListOfProtectableItems(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationProtectableItems()
+ .listByReplicationProtectionContainers(
+ "vault1",
+ "resourceGroupPS1",
+ "cloud1",
+ "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ null,
+ null,
+ null,
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationProtectedItems_AddDisks
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.A2AAddDisksInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.A2AVmDiskInputDetails;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.AddDisksInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.AddDisksInputProperties;
+import java.util.Arrays;
+
+/** Samples for ReplicationProtectedItems AddDisks. */
+public final class ReplicationProtectedItemsAddDisksSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectedItems_AddDisks.json
+ */
+ /**
+ * Sample code: Add disk(s) for protection.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void addDiskSForProtection(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationProtectedItems()
+ .addDisks(
+ "vault1",
+ "resourceGroupPS1",
+ "cloud1",
+ "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "f8491e4f-817a-40dd-a90c-af773978c75b",
+ new AddDisksInput()
+ .withProperties(
+ new AddDisksInputProperties()
+ .withProviderSpecificDetails(
+ new A2AAddDisksInput()
+ .withVmDisks(
+ Arrays
+ .asList(
+ new A2AVmDiskInputDetails()
+ .withDiskUri(
+ "https://vmstorage.blob.core.windows.net/vhds/datadisk1.vhd")
+ .withRecoveryAzureStorageAccountId(
+ "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourcegroups/recoveryResource/providers/Microsoft.Storage/storageAccounts/recoverystorage")
+ .withPrimaryStagingAzureStorageAccountId(
+ "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourcegroups/primaryResource/providers/Microsoft.Storage/storageAccounts/vmcachestorage"))))),
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationProtectedItems_ApplyRecoveryPoint
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ApplyRecoveryPointInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ApplyRecoveryPointInputProperties;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.HyperVReplicaAzureApplyRecoveryPointInput;
+
+/** Samples for ReplicationProtectedItems ApplyRecoveryPoint. */
+public final class ReplicationProtectedItemsApplyRecoveryPointSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectedItems_ApplyRecoveryPoint.json
+ */
+ /**
+ * Sample code: Change or apply recovery point.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void changeOrApplyRecoveryPoint(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationProtectedItems()
+ .applyRecoveryPoint(
+ "vault1",
+ "resourceGroupPS1",
+ "cloud1",
+ "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "f8491e4f-817a-40dd-a90c-af773978c75b",
+ new ApplyRecoveryPointInput()
+ .withProperties(
+ new ApplyRecoveryPointInputProperties()
+ .withRecoveryPointId(
+ "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/e4d05fe9-5dfd-47be-b50b-aad306b2802d")
+ .withProviderSpecificDetails(new HyperVReplicaAzureApplyRecoveryPointInput())),
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationProtectedItems_Create
+
+```java
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.EnableProtectionInputProperties;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.HyperVReplicaAzureEnableProtectionInput;
+
+/** Samples for ReplicationProtectedItems Create. */
+public final class ReplicationProtectedItemsCreateSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectedItems_Create.json
+ */
+ /**
+ * Sample code: Enables protection.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void enablesProtection(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationProtectedItems()
+ .define("f8491e4f-817a-40dd-a90c-af773978c75b")
+ .withExistingReplicationProtectionContainer(
+ "vault1", "resourceGroupPS1", "cloud1", "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179")
+ .withProperties(
+ new EnableProtectionInputProperties()
+ .withPolicyId(
+ "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1")
+ .withProtectableItemId(
+ "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b")
+ .withProviderSpecificDetails(new HyperVReplicaAzureEnableProtectionInput()))
+ .create();
+ }
+}
+```
+
+### ReplicationProtectedItems_Delete
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.DisableProtectionInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.DisableProtectionInputProperties;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.DisableProtectionProviderSpecificInput;
+
+/** Samples for ReplicationProtectedItems Delete. */
+public final class ReplicationProtectedItemsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectedItems_Delete.json
+ */
+ /**
+ * Sample code: Disables protection.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void disablesProtection(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationProtectedItems()
+ .delete(
+ "vault1",
+ "resourceGroupPS1",
+ "cloud1",
+ "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ new DisableProtectionInput()
+ .withProperties(
+ new DisableProtectionInputProperties()
+ .withReplicationProviderInput(new DisableProtectionProviderSpecificInput())),
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationProtectedItems_FailoverCancel
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationProtectedItems FailoverCancel. */
+public final class ReplicationProtectedItemsFailoverCancelSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectedItems_FailoverCancel.json
+ */
+ /**
+ * Sample code: Execute cancel failover.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void executeCancelFailover(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationProtectedItems()
+ .failoverCancel(
+ "vault1",
+ "resourceGroupPS1",
+ "cloud1",
+ "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "f8491e4f-817a-40dd-a90c-af773978c75b",
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationProtectedItems_FailoverCommit
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationProtectedItems FailoverCommit. */
+public final class ReplicationProtectedItemsFailoverCommitSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectedItems_FailoverCommit.json
+ */
+ /**
+ * Sample code: Execute commit failover.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void executeCommitFailover(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationProtectedItems()
+ .failoverCommit(
+ "vault1",
+ "resourceGroupPS1",
+ "cloud1",
+ "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "f8491e4f-817a-40dd-a90c-af773978c75b",
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationProtectedItems_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationProtectedItems Get. */
+public final class ReplicationProtectedItemsGetSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectedItems_Get.json
+ */
+ /**
+ * Sample code: Gets the details of a Replication protected item.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheDetailsOfAReplicationProtectedItem(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationProtectedItems()
+ .getWithResponse(
+ "vault1",
+ "resourceGroupPS1",
+ "cloud1",
+ "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "f8491e4f-817a-40dd-a90c-af773978c75b",
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationProtectedItems_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationProtectedItems List. */
+public final class ReplicationProtectedItemsListSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectedItems_List.json
+ */
+ /**
+ * Sample code: Gets the list of replication protected items.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheListOfReplicationProtectedItems(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationProtectedItems().list("vault1", "resourceGroupPS1", null, null, Context.NONE);
+ }
+}
+```
+
+### ReplicationProtectedItems_ListByReplicationProtectionContainers
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationProtectedItems ListByReplicationProtectionContainers. */
+public final class ReplicationProtectedItemsListByReplicationProtectionContainersSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json
+ */
+ /**
+ * Sample code: Gets the list of Replication protected items.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheListOfReplicationProtectedItems(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationProtectedItems()
+ .listByReplicationProtectionContainers(
+ "vault1", "resourceGroupPS1", "cloud1", "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", Context.NONE);
+ }
+}
+```
+
+### ReplicationProtectedItems_PlannedFailover
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.HyperVReplicaAzurePlannedFailoverProviderInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.PlannedFailoverInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.PlannedFailoverInputProperties;
+
+/** Samples for ReplicationProtectedItems PlannedFailover. */
+public final class ReplicationProtectedItemsPlannedFailoverSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectedItems_PlannedFailover.json
+ */
+ /**
+ * Sample code: Execute planned failover.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void executePlannedFailover(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationProtectedItems()
+ .plannedFailover(
+ "vault1",
+ "resourceGroupPS1",
+ "cloud1",
+ "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "f8491e4f-817a-40dd-a90c-af773978c75b",
+ new PlannedFailoverInput()
+ .withProperties(
+ new PlannedFailoverInputProperties()
+ .withFailoverDirection("PrimaryToRecovery")
+ .withProviderSpecificDetails(new HyperVReplicaAzurePlannedFailoverProviderInput())),
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationProtectedItems_Purge
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationProtectedItems Purge. */
+public final class ReplicationProtectedItemsPurgeSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectedItems_Purge.json
+ */
+ /**
+ * Sample code: Purges protection.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void purgesProtection(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationProtectedItems()
+ .purge(
+ "vault1",
+ "resourceGroupPS1",
+ "cloud1",
+ "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "c0c14913-3d7a-48ea-9531-cc99e0e686e6",
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationProtectedItems_RemoveDisks
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.A2ARemoveDisksInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RemoveDisksInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RemoveDisksInputProperties;
+import java.util.Arrays;
+
+/** Samples for ReplicationProtectedItems RemoveDisks. */
+public final class ReplicationProtectedItemsRemoveDisksSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectedItems_RemoveDisks.json
+ */
+ /**
+ * Sample code: Removes disk(s).
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void removesDiskS(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationProtectedItems()
+ .removeDisks(
+ "vault1",
+ "resourceGroupPS1",
+ "cloud1",
+ "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "f8491e4f-817a-40dd-a90c-af773978c75b",
+ new RemoveDisksInput()
+ .withProperties(
+ new RemoveDisksInputProperties()
+ .withProviderSpecificDetails(
+ new A2ARemoveDisksInput()
+ .withVmDisksUris(
+ Arrays.asList("https://vmstorage.blob.core.windows.net/vhds/datadisk1.vhd")))),
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationProtectedItems_RepairReplication
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationProtectedItems RepairReplication. */
+public final class ReplicationProtectedItemsRepairReplicationSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectedItems_RepairReplication.json
+ */
+ /**
+ * Sample code: Resynchronize or repair replication.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void resynchronizeOrRepairReplication(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationProtectedItems()
+ .repairReplication(
+ "vault1",
+ "resourceGroupPS1",
+ "cloud1",
+ "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "f8491e4f-817a-40dd-a90c-af773978c75b",
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationProtectedItems_Reprotect
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.HyperVReplicaAzureReprotectInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ReverseReplicationInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ReverseReplicationInputProperties;
+
+/** Samples for ReplicationProtectedItems Reprotect. */
+public final class ReplicationProtectedItemsReprotectSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectedItems_Reprotect.json
+ */
+ /**
+ * Sample code: Execute Reverse Replication\Reprotect.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void executeReverseReplicationReprotect(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationProtectedItems()
+ .reprotect(
+ "vault1",
+ "resourceGroupPS1",
+ "cloud1",
+ "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "f8491e4f-817a-40dd-a90c-af773978c75b",
+ new ReverseReplicationInput()
+ .withProperties(
+ new ReverseReplicationInputProperties()
+ .withFailoverDirection("PrimaryToRecovery")
+ .withProviderSpecificDetails(new HyperVReplicaAzureReprotectInput())),
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationProtectedItems_ResolveHealthErrors
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ResolveHealthError;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ResolveHealthInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ResolveHealthInputProperties;
+import java.util.Arrays;
+
+/** Samples for ReplicationProtectedItems ResolveHealthErrors. */
+public final class ReplicationProtectedItemsResolveHealthErrorsSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectedItems_ResolveHealthErrors.json
+ */
+ /**
+ * Sample code: Resolve health errors.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void resolveHealthErrors(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationProtectedItems()
+ .resolveHealthErrors(
+ "vault1",
+ "resourceGroupPS1",
+ "cloud1",
+ "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "f8491e4f-817a-40dd-a90c-af773978c75b",
+ new ResolveHealthInput()
+ .withProperties(
+ new ResolveHealthInputProperties()
+ .withHealthErrors(Arrays.asList(new ResolveHealthError().withHealthErrorId("3:8020")))),
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationProtectedItems_TestFailover
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.HyperVReplicaAzureTestFailoverInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.TestFailoverInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.TestFailoverInputProperties;
+
+/** Samples for ReplicationProtectedItems TestFailover. */
+public final class ReplicationProtectedItemsTestFailoverSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectedItems_TestFailover.json
+ */
+ /**
+ * Sample code: Execute test failover.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void executeTestFailover(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationProtectedItems()
+ .testFailover(
+ "vault1",
+ "resourceGroupPS1",
+ "cloud1",
+ "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "f8491e4f-817a-40dd-a90c-af773978c75b",
+ new TestFailoverInput()
+ .withProperties(
+ new TestFailoverInputProperties()
+ .withFailoverDirection("PrimaryToRecovery")
+ .withNetworkType("VmNetworkAsInput")
+ .withNetworkId(
+ "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai")
+ .withProviderSpecificDetails(new HyperVReplicaAzureTestFailoverInput())),
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationProtectedItems_TestFailoverCleanup
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.TestFailoverCleanupInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.TestFailoverCleanupInputProperties;
+
+/** Samples for ReplicationProtectedItems TestFailoverCleanup. */
+public final class ReplicationProtectedItemsTestFailoverCleanupSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectedItems_TestFailoverCleanup.json
+ */
+ /**
+ * Sample code: Execute test failover cleanup.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void executeTestFailoverCleanup(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationProtectedItems()
+ .testFailoverCleanup(
+ "vault1",
+ "resourceGroupPS1",
+ "cloud1",
+ "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "f8491e4f-817a-40dd-a90c-af773978c75b",
+ new TestFailoverCleanupInput()
+ .withProperties(new TestFailoverCleanupInputProperties().withComments("Test Failover Cleanup")),
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationProtectedItems_UnplannedFailover
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.HyperVReplicaAzureUnplannedFailoverInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.UnplannedFailoverInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.UnplannedFailoverInputProperties;
+
+/** Samples for ReplicationProtectedItems UnplannedFailover. */
+public final class ReplicationProtectedItemsUnplannedFailoverSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectedItems_UnplannedFailover.json
+ */
+ /**
+ * Sample code: Execute unplanned failover.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void executeUnplannedFailover(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationProtectedItems()
+ .unplannedFailover(
+ "vault1",
+ "resourceGroupPS1",
+ "cloud1",
+ "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "f8491e4f-817a-40dd-a90c-af773978c75b",
+ new UnplannedFailoverInput()
+ .withProperties(
+ new UnplannedFailoverInputProperties()
+ .withFailoverDirection("PrimaryToRecovery")
+ .withSourceSiteOperations("NotRequired")
+ .withProviderSpecificDetails(new HyperVReplicaAzureUnplannedFailoverInput())),
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationProtectedItems_Update
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.HyperVReplicaAzureUpdateReplicationProtectedItemInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.IpConfigInputDetails;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.LicenseType;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ReplicationProtectedItem;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.UpdateReplicationProtectedItemInputProperties;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.VMNicInputDetails;
+import java.util.Arrays;
+
+/** Samples for ReplicationProtectedItems Update. */
+public final class ReplicationProtectedItemsUpdateSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectedItems_Update.json
+ */
+ /**
+ * Sample code: Updates the replication protected Item settings.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void updatesTheReplicationProtectedItemSettings(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ ReplicationProtectedItem resource =
+ manager
+ .replicationProtectedItems()
+ .getWithResponse(
+ "vault1",
+ "resourceGroupPS1",
+ "cloud1",
+ "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "f8491e4f-817a-40dd-a90c-af773978c75b",
+ Context.NONE)
+ .getValue();
+ resource
+ .update()
+ .withProperties(
+ new UpdateReplicationProtectedItemInputProperties()
+ .withRecoveryAzureVMName("vm1")
+ .withRecoveryAzureVMSize("Basic_A0")
+ .withSelectedRecoveryAzureNetworkId(
+ "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai")
+ .withVmNics(
+ Arrays
+ .asList(
+ new VMNicInputDetails()
+ .withNicId(
+ "TWljcm9zb2Z0OkY4NDkxRTRGLTgxN0EtNDBERC1BOTBDLUFGNzczOTc4Qzc1Qlw3NjAwMzMxRS03NDk4LTQ0QTQtQjdDNy0xQjY1NkJDREQ1MkQ=")
+ .withIpConfigs(
+ Arrays
+ .asList(
+ new IpConfigInputDetails()
+ .withIpConfigName("ipconfig1")
+ .withIsPrimary(true)
+ .withRecoverySubnetName("subnet1")
+ .withRecoveryStaticIpAddress("10.0.2.46")))
+ .withSelectionType("SelectedByUser")))
+ .withLicenseType(LicenseType.WINDOWS_SERVER)
+ .withProviderSpecificDetails(new HyperVReplicaAzureUpdateReplicationProtectedItemInput()))
+ .apply();
+ }
+}
+```
+
+### ReplicationProtectedItems_UpdateAppliance
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.InMageRcmUpdateApplianceForReplicationProtectedItemInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.UpdateApplianceForReplicationProtectedItemInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.UpdateApplianceForReplicationProtectedItemInputProperties;
+
+/** Samples for ReplicationProtectedItems UpdateAppliance. */
+public final class ReplicationProtectedItemsUpdateApplianceSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectedItems_UpdateAppliance.json
+ */
+ /**
+ * Sample code: Updates appliance for replication protected Item.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void updatesApplianceForReplicationProtectedItem(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationProtectedItems()
+ .updateAppliance(
+ "Ayan-0106-SA-Vault",
+ "Ayan-0106-SA-RG",
+ "Ayan-0106-SA-Vaultreplicationfabric",
+ "Ayan-0106-SA-Vaultreplicationcontainer",
+ "idclab-vcen67_50158124-8857-3e08-0893-2ddf8ebb8c1f",
+ new UpdateApplianceForReplicationProtectedItemInput()
+ .withProperties(
+ new UpdateApplianceForReplicationProtectedItemInputProperties()
+ .withTargetApplianceId("")
+ .withProviderSpecificDetails(
+ new InMageRcmUpdateApplianceForReplicationProtectedItemInput().withRunAsAccountId(""))),
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationProtectedItems_UpdateMobilityService
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.UpdateMobilityServiceRequest;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.UpdateMobilityServiceRequestProperties;
+
+/** Samples for ReplicationProtectedItems UpdateMobilityService. */
+public final class ReplicationProtectedItemsUpdateMobilityServiceSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectedItems_UpdateMobilityService.json
+ */
+ /**
+ * Sample code: Update the mobility service on a protected item.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void updateTheMobilityServiceOnAProtectedItem(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationProtectedItems()
+ .updateMobilityService(
+ "WCUSVault",
+ "wcusValidations",
+ "WIN-JKKJ31QI8U2",
+ "cloud_c6780228-83bd-4f3e-a70e-cb46b7da33a0",
+ "79dd20ab-2b40-11e7-9791-0050568f387e",
+ new UpdateMobilityServiceRequest()
+ .withProperties(new UpdateMobilityServiceRequestProperties().withRunAsAccountId("2")),
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationProtectionContainerMappings_Create
+
+```java
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.CreateProtectionContainerMappingInputProperties;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ReplicationProviderSpecificContainerMappingInput;
+
+/** Samples for ReplicationProtectionContainerMappings Create. */
+public final class ReplicationProtectionContainerMappingsCreateSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectionContainerMappings_Create.json
+ */
+ /**
+ * Sample code: Create protection container mapping.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void createProtectionContainerMapping(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationProtectionContainerMappings()
+ .define("cloud1protectionprofile1")
+ .withExistingReplicationProtectionContainer(
+ "vault1", "resourceGroupPS1", "cloud1", "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179")
+ .withProperties(
+ new CreateProtectionContainerMappingInputProperties()
+ .withTargetProtectionContainerId("Microsoft Azure")
+ .withPolicyId(
+ "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1")
+ .withProviderSpecificInput(new ReplicationProviderSpecificContainerMappingInput()))
+ .create();
+ }
+}
+```
+
+### ReplicationProtectionContainerMappings_Delete
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RemoveProtectionContainerMappingInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RemoveProtectionContainerMappingInputProperties;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ReplicationProviderContainerUnmappingInput;
+
+/** Samples for ReplicationProtectionContainerMappings Delete. */
+public final class ReplicationProtectionContainerMappingsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectionContainerMappings_Delete.json
+ */
+ /**
+ * Sample code: Remove protection container mapping.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void removeProtectionContainerMapping(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationProtectionContainerMappings()
+ .delete(
+ "vault1",
+ "resourceGroupPS1",
+ "cloud1",
+ "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "cloud1protectionprofile1",
+ new RemoveProtectionContainerMappingInput()
+ .withProperties(
+ new RemoveProtectionContainerMappingInputProperties()
+ .withProviderSpecificInput(new ReplicationProviderContainerUnmappingInput())),
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationProtectionContainerMappings_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationProtectionContainerMappings Get. */
+public final class ReplicationProtectionContainerMappingsGetSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectionContainerMappings_Get.json
+ */
+ /**
+ * Sample code: Gets a protection container mapping.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsAProtectionContainerMapping(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationProtectionContainerMappings()
+ .getWithResponse(
+ "vault1",
+ "resourceGroupPS1",
+ "cloud1",
+ "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "cloud1protectionprofile1",
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationProtectionContainerMappings_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationProtectionContainerMappings List. */
+public final class ReplicationProtectionContainerMappingsListSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectionContainerMappings_List.json
+ */
+ /**
+ * Sample code: Gets the list of all protection container mappings in a vault.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheListOfAllProtectionContainerMappingsInAVault(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationProtectionContainerMappings().list("vault1", "resourceGroupPS1", Context.NONE);
+ }
+}
+```
+
+### ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationProtectionContainerMappings ListByReplicationProtectionContainers. */
+public final class ReplicationProtectionContainerMappingsListByReplicationProtectionContainersSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers.json
+ */
+ /**
+ * Sample code: Gets the list of protection container mappings for a protection container.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheListOfProtectionContainerMappingsForAProtectionContainer(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationProtectionContainerMappings()
+ .listByReplicationProtectionContainers(
+ "vault1", "resourceGroupPS1", "cloud1", "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", Context.NONE);
+ }
+}
+```
+
+### ReplicationProtectionContainerMappings_Purge
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationProtectionContainerMappings Purge. */
+public final class ReplicationProtectionContainerMappingsPurgeSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectionContainerMappings_Purge.json
+ */
+ /**
+ * Sample code: Purge protection container mapping.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void purgeProtectionContainerMapping(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationProtectionContainerMappings()
+ .purge(
+ "vault1",
+ "resourceGroupPS1",
+ "cloud1",
+ "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "cloud1protectionprofile1",
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationProtectionContainerMappings_Update
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.A2AUpdateContainerMappingInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.AgentAutoUpdateStatus;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ProtectionContainerMapping;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.UpdateProtectionContainerMappingInputProperties;
+
+/** Samples for ReplicationProtectionContainerMappings Update. */
+public final class ReplicationProtectionContainerMappingsUpdateSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectionContainerMappings_Update.json
+ */
+ /**
+ * Sample code: Update protection container mapping.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void updateProtectionContainerMapping(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ ProtectionContainerMapping resource =
+ manager
+ .replicationProtectionContainerMappings()
+ .getWithResponse(
+ "vault1",
+ "resourceGroupPS1",
+ "cloud1",
+ "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "cloud1protectionprofile1",
+ Context.NONE)
+ .getValue();
+ resource
+ .update()
+ .withProperties(
+ new UpdateProtectionContainerMappingInputProperties()
+ .withProviderSpecificInput(
+ new A2AUpdateContainerMappingInput()
+ .withAgentAutoUpdateStatus(AgentAutoUpdateStatus.ENABLED)
+ .withAutomationAccountArmId(
+ "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/automationrg1/providers/Microsoft.Automation/automationAccounts/automationaccount1")))
+ .apply();
+ }
+}
+```
+
+### ReplicationProtectionContainers_Create
+
+```java
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.CreateProtectionContainerInputProperties;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.ReplicationProviderSpecificContainerCreationInput;
+import java.util.Arrays;
+
+/** Samples for ReplicationProtectionContainers Create. */
+public final class ReplicationProtectionContainersCreateSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectionContainers_Create.json
+ */
+ /**
+ * Sample code: Create a protection container.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void createAProtectionContainer(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationProtectionContainers()
+ .define("cloud_6d224fc6-f326-5d35-96de-fbf51efb3179")
+ .withExistingReplicationFabric("vault1", "resourceGroupPS1", "cloud1")
+ .withProperties(
+ new CreateProtectionContainerInputProperties()
+ .withProviderSpecificInput(Arrays.asList(new ReplicationProviderSpecificContainerCreationInput())))
+ .create();
+ }
+}
+```
+
+### ReplicationProtectionContainers_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationProtectionContainers Delete. */
+public final class ReplicationProtectionContainersDeleteSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectionContainers_Delete.json
+ */
+ /**
+ * Sample code: Removes a protection container.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void removesAProtectionContainer(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationProtectionContainers()
+ .delete("vault1", "resourceGroupPS1", "cloud1", "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", Context.NONE);
+ }
+}
+```
+
+### ReplicationProtectionContainers_DiscoverProtectableItem
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.DiscoverProtectableItemRequest;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.DiscoverProtectableItemRequestProperties;
+
+/** Samples for ReplicationProtectionContainers DiscoverProtectableItem. */
+public final class ReplicationProtectionContainersDiscoverProtectableItemSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectionContainers_DiscoverProtectableItem.json
+ */
+ /**
+ * Sample code: Adds a protectable item to the replication protection container.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void addsAProtectableItemToTheReplicationProtectionContainer(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationProtectionContainers()
+ .discoverProtectableItem(
+ "MadhaviVault",
+ "MadhaviVRG",
+ "V2A-W2K12-660",
+ "cloud_7328549c-5c37-4459-a3c2-e35f9ef6893c",
+ new DiscoverProtectableItemRequest()
+ .withProperties(
+ new DiscoverProtectableItemRequestProperties()
+ .withFriendlyName("Test")
+ .withIpAddress("10.150.2.3")
+ .withOsType("Windows")),
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationProtectionContainers_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationProtectionContainers Get. */
+public final class ReplicationProtectionContainersGetSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectionContainers_Get.json
+ */
+ /**
+ * Sample code: Gets the protection container details.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheProtectionContainerDetails(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationProtectionContainers()
+ .getWithResponse(
+ "vault1", "resourceGroupPS1", "cloud1", "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", Context.NONE);
+ }
+}
+```
+
+### ReplicationProtectionContainers_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationProtectionContainers List. */
+public final class ReplicationProtectionContainersListSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectionContainers_List.json
+ */
+ /**
+ * Sample code: Gets the list of all protection containers in a vault.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheListOfAllProtectionContainersInAVault(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationProtectionContainers().list("vault1", "resourceGroupPS1", Context.NONE);
+ }
+}
+```
+
+### ReplicationProtectionContainers_ListByReplicationFabrics
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationProtectionContainers ListByReplicationFabrics. */
+public final class ReplicationProtectionContainersListByReplicationFabricsSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectionContainers_ListByReplicationFabrics.json
+ */
+ /**
+ * Sample code: Gets the list of protection container for a fabric.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheListOfProtectionContainerForAFabric(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationProtectionContainers()
+ .listByReplicationFabrics("vault1", "resourceGroupPS1", "cloud1", Context.NONE);
+ }
+}
+```
+
+### ReplicationProtectionContainers_SwitchProtection
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.A2ASwitchProtectionInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.SwitchProtectionInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.SwitchProtectionInputProperties;
+
+/** Samples for ReplicationProtectionContainers SwitchProtection. */
+public final class ReplicationProtectionContainersSwitchProtectionSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectionContainers_SwitchProtection.json
+ */
+ /**
+ * Sample code: Switches protection from one container to another or one replication provider to another.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void switchesProtectionFromOneContainerToAnotherOrOneReplicationProviderToAnother(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationProtectionContainers()
+ .switchProtection(
+ "priyanponeboxvault",
+ "priyanprg",
+ "CentralUSCanSite",
+ "CentralUSCancloud",
+ new SwitchProtectionInput()
+ .withProperties(
+ new SwitchProtectionInputProperties()
+ .withReplicationProtectedItemName("a2aSwapOsVm")
+ .withProviderSpecificDetails(new A2ASwitchProtectionInput())),
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationProtectionIntents_Create
+
+```java
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.A2ACreateProtectionIntentInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.A2ARecoveryAvailabilityType;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.CreateProtectionIntentProperties;
+
+/** Samples for ReplicationProtectionIntents Create. */
+public final class ReplicationProtectionIntentsCreateSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectionIntents_Create.json
+ */
+ /**
+ * Sample code: Create protection intent Resource.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void createProtectionIntentResource(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationProtectionIntents()
+ .define("vm1")
+ .withExistingVault("vault1", "resourceGroupPS1")
+ .withProperties(
+ new CreateProtectionIntentProperties()
+ .withProviderSpecificDetails(
+ new A2ACreateProtectionIntentInput()
+ .withFabricObjectId(
+ "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/removeOne/providers/Microsoft.Compute/virtualMachines/vmPpgAv5")
+ .withPrimaryLocation("eastUs2")
+ .withRecoveryLocation("westus2")
+ .withRecoverySubscriptionId("ed5bcdf6-d61e-47bd-8ea9-f2bd379a2640")
+ .withRecoveryAvailabilityType(A2ARecoveryAvailabilityType.SINGLE)
+ .withRecoveryResourceGroupId(
+ "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/removeOne-asr")))
+ .create();
+ }
+}
+```
+
+### ReplicationProtectionIntents_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationProtectionIntents Get. */
+public final class ReplicationProtectionIntentsGetSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectionIntents_Get.json
+ */
+ /**
+ * Sample code: Gets the details of a Replication protection intent item.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheDetailsOfAReplicationProtectionIntentItem(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationProtectionIntents().getWithResponse("vault1", "resourceGroupPS1", "vm1", Context.NONE);
+ }
+}
+```
+
+### ReplicationProtectionIntents_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationProtectionIntents List. */
+public final class ReplicationProtectionIntentsListSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationProtectionIntents_List.json
+ */
+ /**
+ * Sample code: Gets the list of replication protection intent objects.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheListOfReplicationProtectionIntentObjects(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationProtectionIntents().list("2007vttp", "resourceGroupPS1", null, null, Context.NONE);
+ }
+}
+```
+
+### ReplicationRecoveryPlans_Create
+
+```java
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.CreateRecoveryPlanInputProperties;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.FailoverDeploymentModel;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RecoveryPlanGroup;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RecoveryPlanGroupType;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RecoveryPlanProtectedItem;
+import java.util.Arrays;
+
+/** Samples for ReplicationRecoveryPlans Create. */
+public final class ReplicationRecoveryPlansCreateSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationRecoveryPlans_Create.json
+ */
+ /**
+ * Sample code: Creates a recovery plan with the given details.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void createsARecoveryPlanWithTheGivenDetails(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationRecoveryPlans()
+ .define("RPtest1")
+ .withExistingVault("vault1", "resourceGroupPS1")
+ .withProperties(
+ new CreateRecoveryPlanInputProperties()
+ .withPrimaryFabricId(
+ "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1")
+ .withRecoveryFabricId("Microsoft Azure")
+ .withFailoverDeploymentModel(FailoverDeploymentModel.RESOURCE_MANAGER)
+ .withGroups(
+ Arrays
+ .asList(
+ new RecoveryPlanGroup()
+ .withGroupType(RecoveryPlanGroupType.BOOT)
+ .withReplicationProtectedItems(
+ Arrays
+ .asList(
+ new RecoveryPlanProtectedItem()
+ .withId(
+ "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b")
+ .withVirtualMachineId("f8491e4f-817a-40dd-a90c-af773978c75b")))
+ .withStartGroupActions(Arrays.asList())
+ .withEndGroupActions(Arrays.asList()))))
+ .create();
+ }
+}
+```
+
+### ReplicationRecoveryPlans_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationRecoveryPlans Delete. */
+public final class ReplicationRecoveryPlansDeleteSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationRecoveryPlans_Delete.json
+ */
+ /**
+ * Sample code: Deletes the specified recovery plan.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void deletesTheSpecifiedRecoveryPlan(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationRecoveryPlans().delete("vault1", "resourceGroupPS1", "RPtest1", Context.NONE);
+ }
+}
+```
+
+### ReplicationRecoveryPlans_FailoverCancel
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationRecoveryPlans FailoverCancel. */
+public final class ReplicationRecoveryPlansFailoverCancelSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationRecoveryPlans_FailoverCancel.json
+ */
+ /**
+ * Sample code: Execute cancel failover of the recovery plan.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void executeCancelFailoverOfTheRecoveryPlan(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationRecoveryPlans().failoverCancel("vault1", "resourceGroupPS1", "RPtest1", Context.NONE);
+ }
+}
+```
+
+### ReplicationRecoveryPlans_FailoverCommit
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationRecoveryPlans FailoverCommit. */
+public final class ReplicationRecoveryPlansFailoverCommitSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationRecoveryPlans_FailoverCommit.json
+ */
+ /**
+ * Sample code: Execute commit failover of the recovery plan.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void executeCommitFailoverOfTheRecoveryPlan(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationRecoveryPlans().failoverCommit("vault1", "resourceGroupPS1", "RPtest1", Context.NONE);
+ }
+}
+```
+
+### ReplicationRecoveryPlans_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationRecoveryPlans Get. */
+public final class ReplicationRecoveryPlansGetSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationRecoveryPlans_Get.json
+ */
+ /**
+ * Sample code: Gets the requested recovery plan.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheRequestedRecoveryPlan(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationRecoveryPlans().getWithResponse("vault1", "resourceGroupPS1", "RPtest1", Context.NONE);
+ }
+}
+```
+
+### ReplicationRecoveryPlans_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationRecoveryPlans List. */
+public final class ReplicationRecoveryPlansListSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationRecoveryPlans_List.json
+ */
+ /**
+ * Sample code: Gets the list of recovery plans.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheListOfRecoveryPlans(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationRecoveryPlans().list("vault1", "resourceGroupPS1", Context.NONE);
+ }
+}
+```
+
+### ReplicationRecoveryPlans_PlannedFailover
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.PossibleOperationsDirections;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RecoveryPlanHyperVReplicaAzureFailoverInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RecoveryPlanPlannedFailoverInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RecoveryPlanPlannedFailoverInputProperties;
+import java.util.Arrays;
+
+/** Samples for ReplicationRecoveryPlans PlannedFailover. */
+public final class ReplicationRecoveryPlansPlannedFailoverSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationRecoveryPlans_PlannedFailover.json
+ */
+ /**
+ * Sample code: Execute planned failover of the recovery plan.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void executePlannedFailoverOfTheRecoveryPlan(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationRecoveryPlans()
+ .plannedFailover(
+ "vault1",
+ "resourceGroupPS1",
+ "RPtest1",
+ new RecoveryPlanPlannedFailoverInput()
+ .withProperties(
+ new RecoveryPlanPlannedFailoverInputProperties()
+ .withFailoverDirection(PossibleOperationsDirections.PRIMARY_TO_RECOVERY)
+ .withProviderSpecificDetails(
+ Arrays.asList(new RecoveryPlanHyperVReplicaAzureFailoverInput()))),
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationRecoveryPlans_Reprotect
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationRecoveryPlans Reprotect. */
+public final class ReplicationRecoveryPlansReprotectSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationRecoveryPlans_Reprotect.json
+ */
+ /**
+ * Sample code: Execute reprotect of the recovery plan.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void executeReprotectOfTheRecoveryPlan(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationRecoveryPlans().reprotect("vault1", "resourceGroupPS1", "RPtest1", Context.NONE);
+ }
+}
+```
+
+### ReplicationRecoveryPlans_TestFailover
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.PossibleOperationsDirections;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RecoveryPlanHyperVReplicaAzureFailoverInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RecoveryPlanTestFailoverInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RecoveryPlanTestFailoverInputProperties;
+import java.util.Arrays;
+
+/** Samples for ReplicationRecoveryPlans TestFailover. */
+public final class ReplicationRecoveryPlansTestFailoverSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationRecoveryPlans_TestFailover.json
+ */
+ /**
+ * Sample code: Execute test failover of the recovery plan.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void executeTestFailoverOfTheRecoveryPlan(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationRecoveryPlans()
+ .testFailover(
+ "vault1",
+ "resourceGroupPS1",
+ "RPtest1",
+ new RecoveryPlanTestFailoverInput()
+ .withProperties(
+ new RecoveryPlanTestFailoverInputProperties()
+ .withFailoverDirection(PossibleOperationsDirections.PRIMARY_TO_RECOVERY)
+ .withNetworkType("VmNetworkAsInput")
+ .withNetworkId(
+ "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai")
+ .withProviderSpecificDetails(
+ Arrays.asList(new RecoveryPlanHyperVReplicaAzureFailoverInput()))),
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationRecoveryPlans_TestFailoverCleanup
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RecoveryPlanTestFailoverCleanupInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RecoveryPlanTestFailoverCleanupInputProperties;
+
+/** Samples for ReplicationRecoveryPlans TestFailoverCleanup. */
+public final class ReplicationRecoveryPlansTestFailoverCleanupSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationRecoveryPlans_TestFailoverCleanup.json
+ */
+ /**
+ * Sample code: Execute test failover cleanup of the recovery plan.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void executeTestFailoverCleanupOfTheRecoveryPlan(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationRecoveryPlans()
+ .testFailoverCleanup(
+ "vault1",
+ "resourceGroupPS1",
+ "RPtest1",
+ new RecoveryPlanTestFailoverCleanupInput()
+ .withProperties(
+ new RecoveryPlanTestFailoverCleanupInputProperties().withComments("Test Failover Cleanup")),
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationRecoveryPlans_UnplannedFailover
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.PossibleOperationsDirections;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RecoveryPlanHyperVReplicaAzureFailoverInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RecoveryPlanUnplannedFailoverInput;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RecoveryPlanUnplannedFailoverInputProperties;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.SourceSiteOperations;
+import java.util.Arrays;
+
+/** Samples for ReplicationRecoveryPlans UnplannedFailover. */
+public final class ReplicationRecoveryPlansUnplannedFailoverSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationRecoveryPlans_UnplannedFailover.json
+ */
+ /**
+ * Sample code: Execute unplanned failover of the recovery plan.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void executeUnplannedFailoverOfTheRecoveryPlan(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationRecoveryPlans()
+ .unplannedFailover(
+ "vault1",
+ "resourceGroupPS1",
+ "RPtest1",
+ new RecoveryPlanUnplannedFailoverInput()
+ .withProperties(
+ new RecoveryPlanUnplannedFailoverInputProperties()
+ .withFailoverDirection(PossibleOperationsDirections.PRIMARY_TO_RECOVERY)
+ .withSourceSiteOperations(SourceSiteOperations.REQUIRED)
+ .withProviderSpecificDetails(
+ Arrays.asList(new RecoveryPlanHyperVReplicaAzureFailoverInput()))),
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationRecoveryPlans_Update
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RecoveryPlan;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RecoveryPlanGroup;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RecoveryPlanGroupType;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.RecoveryPlanProtectedItem;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.UpdateRecoveryPlanInputProperties;
+import java.util.Arrays;
+
+/** Samples for ReplicationRecoveryPlans Update. */
+public final class ReplicationRecoveryPlansUpdateSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationRecoveryPlans_Update.json
+ */
+ /**
+ * Sample code: Updates the given recovery plan.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void updatesTheGivenRecoveryPlan(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ RecoveryPlan resource =
+ manager
+ .replicationRecoveryPlans()
+ .getWithResponse("vault1", "resourceGroupPS1", "RPtest1", Context.NONE)
+ .getValue();
+ resource
+ .update()
+ .withProperties(
+ new UpdateRecoveryPlanInputProperties()
+ .withGroups(
+ Arrays
+ .asList(
+ new RecoveryPlanGroup()
+ .withGroupType(RecoveryPlanGroupType.SHUTDOWN)
+ .withReplicationProtectedItems(Arrays.asList())
+ .withStartGroupActions(Arrays.asList())
+ .withEndGroupActions(Arrays.asList()),
+ new RecoveryPlanGroup()
+ .withGroupType(RecoveryPlanGroupType.FAILOVER)
+ .withReplicationProtectedItems(Arrays.asList())
+ .withStartGroupActions(Arrays.asList())
+ .withEndGroupActions(Arrays.asList()),
+ new RecoveryPlanGroup()
+ .withGroupType(RecoveryPlanGroupType.BOOT)
+ .withReplicationProtectedItems(
+ Arrays
+ .asList(
+ new RecoveryPlanProtectedItem()
+ .withId(
+ "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b")
+ .withVirtualMachineId("f8491e4f-817a-40dd-a90c-af773978c75b")))
+ .withStartGroupActions(Arrays.asList())
+ .withEndGroupActions(Arrays.asList()),
+ new RecoveryPlanGroup()
+ .withGroupType(RecoveryPlanGroupType.BOOT)
+ .withReplicationProtectedItems(
+ Arrays
+ .asList(
+ new RecoveryPlanProtectedItem()
+ .withId(
+ "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6")
+ .withVirtualMachineId("c0c14913-3d7a-48ea-9531-cc99e0e686e6")))
+ .withStartGroupActions(Arrays.asList())
+ .withEndGroupActions(Arrays.asList()))))
+ .apply();
+ }
+}
+```
+
+### ReplicationRecoveryServicesProviders_Create
+
+```java
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.AddRecoveryServicesProviderInputProperties;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.IdentityProviderInput;
+
+/** Samples for ReplicationRecoveryServicesProviders Create. */
+public final class ReplicationRecoveryServicesProvidersCreateSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationRecoveryServicesProviders_Create.json
+ */
+ /**
+ * Sample code: Adds a recovery services provider.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void addsARecoveryServicesProvider(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationRecoveryServicesProviders()
+ .define("vmwareprovider1")
+ .withExistingReplicationFabric("migrationvault", "resourcegroup1", "vmwarefabric1")
+ .withProperties(
+ new AddRecoveryServicesProviderInputProperties()
+ .withMachineName("vmwareprovider1")
+ .withAuthenticationIdentityInput(
+ new IdentityProviderInput()
+ .withTenantId("72f988bf-86f1-41af-91ab-2d7cd011db47")
+ .withApplicationId("f66fce08-c0c6-47a1-beeb-0ede5ea94f90")
+ .withObjectId("141360b8-5686-4240-a027-5e24e6affeba")
+ .withAudience("https://microsoft.onmicrosoft.com/cf19e349-644c-4c6a-bcae-9c8f35357874")
+ .withAadAuthority("https://login.microsoftonline.com"))
+ .withResourceAccessIdentityInput(
+ new IdentityProviderInput()
+ .withTenantId("72f988bf-86f1-41af-91ab-2d7cd011db47")
+ .withApplicationId("f66fce08-c0c6-47a1-beeb-0ede5ea94f90")
+ .withObjectId("141360b8-5686-4240-a027-5e24e6affeba")
+ .withAudience("https://microsoft.onmicrosoft.com/cf19e349-644c-4c6a-bcae-9c8f35357874")
+ .withAadAuthority("https://login.microsoftonline.com")))
+ .create();
+ }
+}
+```
+
+### ReplicationRecoveryServicesProviders_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationRecoveryServicesProviders Delete. */
+public final class ReplicationRecoveryServicesProvidersDeleteSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationRecoveryServicesProviders_Delete.json
+ */
+ /**
+ * Sample code: Deletes provider from fabric. Note: Deleting provider for any fabric other than SingleHost is
+ * unsupported. To maintain backward compatibility for released clients the object "deleteRspInput" is used (if the
+ * object is empty we assume that it is old client and continue the old behavior).
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void
+ deletesProviderFromFabricNoteDeletingProviderForAnyFabricOtherThanSingleHostIsUnsupportedToMaintainBackwardCompatibilityForReleasedClientsTheObjectDeleteRspInputIsUsedIfTheObjectIsEmptyWeAssumeThatItIsOldClientAndContinueTheOldBehavior(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationRecoveryServicesProviders()
+ .delete("vault1", "resourceGroupPS1", "cloud1", "241641e6-ee7b-4ee4-8141-821fadda43fa", Context.NONE);
+ }
+}
+```
+
+### ReplicationRecoveryServicesProviders_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationRecoveryServicesProviders Get. */
+public final class ReplicationRecoveryServicesProvidersGetSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationRecoveryServicesProviders_Get.json
+ */
+ /**
+ * Sample code: Gets the details of a recovery services provider.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheDetailsOfARecoveryServicesProvider(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationRecoveryServicesProviders()
+ .getWithResponse(
+ "vault1", "resourceGroupPS1", "cloud1", "241641e6-ee7b-4ee4-8141-821fadda43fa", Context.NONE);
+ }
+}
+```
+
+### ReplicationRecoveryServicesProviders_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationRecoveryServicesProviders List. */
+public final class ReplicationRecoveryServicesProvidersListSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationRecoveryServicesProviders_List.json
+ */
+ /**
+ * Sample code: Gets the list of registered recovery services providers in the vault. This is a view only api.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheListOfRegisteredRecoveryServicesProvidersInTheVaultThisIsAViewOnlyApi(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationRecoveryServicesProviders().list("vault1", "resourceGroupPS1", Context.NONE);
+ }
+}
+```
+
+### ReplicationRecoveryServicesProviders_ListByReplicationFabrics
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationRecoveryServicesProviders ListByReplicationFabrics. */
+public final class ReplicationRecoveryServicesProvidersListByReplicationFabricsSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationRecoveryServicesProviders_ListByReplicationFabrics.json
+ */
+ /**
+ * Sample code: Gets the list of registered recovery services providers for the fabric.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheListOfRegisteredRecoveryServicesProvidersForTheFabric(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationRecoveryServicesProviders()
+ .listByReplicationFabrics("vault1", "resourceGroupPS1", "cloud1", Context.NONE);
+ }
+}
+```
+
+### ReplicationRecoveryServicesProviders_Purge
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationRecoveryServicesProviders Purge. */
+public final class ReplicationRecoveryServicesProvidersPurgeSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationRecoveryServicesProviders_Purge.json
+ */
+ /**
+ * Sample code: Purges recovery service provider from fabric.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void purgesRecoveryServiceProviderFromFabric(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationRecoveryServicesProviders()
+ .purge("vault1", "resourceGroupPS1", "cloud1", "241641e6-ee7b-4ee4-8141-821fadda43fa", Context.NONE);
+ }
+}
+```
+
+### ReplicationRecoveryServicesProviders_RefreshProvider
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationRecoveryServicesProviders RefreshProvider. */
+public final class ReplicationRecoveryServicesProvidersRefreshProviderSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationRecoveryServicesProviders_RefreshProvider.json
+ */
+ /**
+ * Sample code: Refresh details from the recovery services provider.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void refreshDetailsFromTheRecoveryServicesProvider(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationRecoveryServicesProviders()
+ .refreshProvider(
+ "vault1", "resourceGroupPS1", "cloud1", "241641e6-ee7b-4ee4-8141-821fadda43fa", Context.NONE);
+ }
+}
+```
+
+### ReplicationStorageClassificationMappings_Create
+
+```java
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.StorageMappingInputProperties;
+
+/** Samples for ReplicationStorageClassificationMappings Create. */
+public final class ReplicationStorageClassificationMappingsCreateSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationStorageClassificationMappings_Create.json
+ */
+ /**
+ * Sample code: Create storage classification mapping.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void createStorageClassificationMapping(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationStorageClassificationMappings()
+ .define("testStorageMapping")
+ .withExistingReplicationStorageClassification(
+ "vault1",
+ "resourceGroupPS1",
+ "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0",
+ "8891569e-aaef-4a46-a4a0-78c14f2d7b09")
+ .withProperties(
+ new StorageMappingInputProperties()
+ .withTargetStorageClassificationId(
+ "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09"))
+ .create();
+ }
+}
+```
+
+### ReplicationStorageClassificationMappings_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationStorageClassificationMappings Delete. */
+public final class ReplicationStorageClassificationMappingsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationStorageClassificationMappings_Delete.json
+ */
+ /**
+ * Sample code: Delete a storage classification mapping.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void deleteAStorageClassificationMapping(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationStorageClassificationMappings()
+ .delete(
+ "vault1",
+ "resourceGroupPS1",
+ "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0",
+ "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "testStorageMapping",
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationStorageClassificationMappings_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationStorageClassificationMappings Get. */
+public final class ReplicationStorageClassificationMappingsGetSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationStorageClassificationMappings_Get.json
+ */
+ /**
+ * Sample code: Gets the details of a storage classification mapping.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheDetailsOfAStorageClassificationMapping(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationStorageClassificationMappings()
+ .getWithResponse(
+ "vault1",
+ "resourceGroupPS1",
+ "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0",
+ "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ "testStorageMapping",
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationStorageClassificationMappings_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationStorageClassificationMappings List. */
+public final class ReplicationStorageClassificationMappingsListSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationStorageClassificationMappings_List.json
+ */
+ /**
+ * Sample code: Gets the list of storage classification mappings objects under a vault.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheListOfStorageClassificationMappingsObjectsUnderAVault(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationStorageClassificationMappings().list("vault1", "resourceGroupPS1", Context.NONE);
+ }
+}
+```
+
+### ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationStorageClassificationMappings ListByReplicationStorageClassifications. */
+public final class ReplicationStorageClassificationMappingsListByReplicationStorageClassificationsSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications.json
+ */
+ /**
+ * Sample code: Gets the list of storage classification mappings objects under a storage.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheListOfStorageClassificationMappingsObjectsUnderAStorage(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationStorageClassificationMappings()
+ .listByReplicationStorageClassifications(
+ "vault1",
+ "resourceGroupPS1",
+ "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0",
+ "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationStorageClassifications_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationStorageClassifications Get. */
+public final class ReplicationStorageClassificationsGetSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationStorageClassifications_Get.json
+ */
+ /**
+ * Sample code: Gets the details of a storage classification.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheDetailsOfAStorageClassification(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationStorageClassifications()
+ .getWithResponse(
+ "vault1",
+ "resourceGroupPS1",
+ "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0",
+ "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationStorageClassifications_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationStorageClassifications List. */
+public final class ReplicationStorageClassificationsListSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationStorageClassifications_List.json
+ */
+ /**
+ * Sample code: Gets the list of storage classification objects under a vault.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheListOfStorageClassificationObjectsUnderAVault(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationStorageClassifications().list("vault1", "resourceGroupPS1", Context.NONE);
+ }
+}
+```
+
+### ReplicationStorageClassifications_ListByReplicationFabrics
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationStorageClassifications ListByReplicationFabrics. */
+public final class ReplicationStorageClassificationsListByReplicationFabricsSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationStorageClassifications_ListByReplicationFabrics.json
+ */
+ /**
+ * Sample code: Gets the list of storage classification objects under a fabric.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheListOfStorageClassificationObjectsUnderAFabric(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationStorageClassifications()
+ .listByReplicationFabrics(
+ "vault1",
+ "resourceGroupPS1",
+ "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0",
+ Context.NONE);
+ }
+}
+```
+
+### ReplicationVaultHealth_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationVaultHealth Get. */
+public final class ReplicationVaultHealthGetSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationVaultHealth_Get.json
+ */
+ /**
+ * Sample code: Gets the health summary for the vault.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheHealthSummaryForTheVault(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationVaultHealths().getWithResponse("vault1", "resourceGroupPS1", Context.NONE);
+ }
+}
+```
+
+### ReplicationVaultHealth_Refresh
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationVaultHealth Refresh. */
+public final class ReplicationVaultHealthRefreshSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationVaultHealth_Refresh.json
+ */
+ /**
+ * Sample code: Refreshes health summary of the vault.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void refreshesHealthSummaryOfTheVault(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationVaultHealths().refresh("vault1", "resourceGroupPS1", Context.NONE);
+ }
+}
+```
+
+### ReplicationVaultSetting_Create
+
+```java
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.VaultSettingCreationInputProperties;
+
+/** Samples for ReplicationVaultSetting Create. */
+public final class ReplicationVaultSettingCreateSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationVaultSetting_Create.json
+ */
+ /**
+ * Sample code: Updates vault setting. A vault setting object is a singleton per vault and it is always present by
+ * default.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void updatesVaultSettingAVaultSettingObjectIsASingletonPerVaultAndItIsAlwaysPresentByDefault(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationVaultSettings()
+ .define("default")
+ .withExistingVault("vault1", "resourceGroupPS1")
+ .withProperties(
+ new VaultSettingCreationInputProperties()
+ .withMigrationSolutionId(
+ "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.Migrate/MigrateProjects/resourceGroupPS1-MigrateProject/Solutions/Servers-Migration-ServerMigration"))
+ .create();
+ }
+}
+```
+
+### ReplicationVaultSetting_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationVaultSetting Get. */
+public final class ReplicationVaultSettingGetSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationVaultSetting_Get.json
+ */
+ /**
+ * Sample code: Gets the vault setting.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheVaultSetting(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationVaultSettings().getWithResponse("vault1", "resourceGroupPS1", "default", Context.NONE);
+ }
+}
+```
+
+### ReplicationVaultSetting_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationVaultSetting List. */
+public final class ReplicationVaultSettingListSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationVaultSetting_List.json
+ */
+ /**
+ * Sample code: Gets the list of vault setting.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheListOfVaultSetting(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationVaultSettings().list("vault1", "resourceGroupPS1", Context.NONE);
+ }
+}
+```
+
+### ReplicationvCenters_Create
+
+```java
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.AddVCenterRequestProperties;
+
+/** Samples for ReplicationvCenters Create. */
+public final class ReplicationvCentersCreateSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationvCenters_Create.json
+ */
+ /**
+ * Sample code: Add vCenter.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void addVCenter(com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationvCenters()
+ .define("esx-78")
+ .withExistingReplicationFabric("MadhaviVault", "MadhaviVRG", "MadhaviFabric")
+ .withProperties(
+ new AddVCenterRequestProperties()
+ .withFriendlyName("esx-78")
+ .withIpAddress("inmtest78")
+ .withProcessServerId("5A720CAB-39CB-F445-BD1662B0B33164B5")
+ .withPort("443")
+ .withRunAsAccountId("2"))
+ .create();
+ }
+}
+```
+
+### ReplicationvCenters_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationvCenters Delete. */
+public final class ReplicationvCentersDeleteSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationvCenters_Delete.json
+ */
+ /**
+ * Sample code: Remove vCenter operation.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void removeVCenterOperation(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationvCenters().delete("MadhaviVault", "MadhaviVRG", "MadhaviFabric", "esx-78", Context.NONE);
+ }
+}
+```
+
+### ReplicationvCenters_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationvCenters Get. */
+public final class ReplicationvCentersGetSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationvCenters_Get.json
+ */
+ /**
+ * Sample code: Gets the details of a vCenter.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheDetailsOfAVCenter(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationvCenters()
+ .getWithResponse("MadhaviVault", "MadhaviVRG", "MadhaviFabric", "esx-78", Context.NONE);
+ }
+}
+```
+
+### ReplicationvCenters_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationvCenters List. */
+public final class ReplicationvCentersListSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationvCenters_List.json
+ */
+ /**
+ * Sample code: Gets the list of vCenter registered under the vault.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheListOfVCenterRegisteredUnderTheVault(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.replicationvCenters().list("MadhaviVault", "MadhaviVRG", Context.NONE);
+ }
+}
+```
+
+### ReplicationvCenters_ListByReplicationFabrics
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ReplicationvCenters ListByReplicationFabrics. */
+public final class ReplicationvCentersListByReplicationFabricsSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationvCenters_ListByReplicationFabrics.json
+ */
+ /**
+ * Sample code: Gets the list of vCenter registered under a fabric.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheListOfVCenterRegisteredUnderAFabric(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .replicationvCenters()
+ .listByReplicationFabrics("MadhaviVault", "MadhaviVRG", "MadhaviFabric", Context.NONE);
+ }
+}
+```
+
+### ReplicationvCenters_Update
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.UpdateVCenterRequestProperties;
+import com.azure.resourcemanager.recoveryservicessiterecovery.models.VCenter;
+
+/** Samples for ReplicationvCenters Update. */
+public final class ReplicationvCentersUpdateSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/ReplicationvCenters_Update.json
+ */
+ /**
+ * Sample code: Update vCenter operation.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void updateVCenterOperation(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ VCenter resource =
+ manager
+ .replicationvCenters()
+ .getWithResponse("MadhaviVault", "MadhaviVRG", "MadhaviFabric", "esx-78", Context.NONE)
+ .getValue();
+ resource.update().withProperties(new UpdateVCenterRequestProperties().withIpAddress("10.150.109.25")).apply();
+ }
+}
+```
+
+### SupportedOperatingSystemsOperation_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for SupportedOperatingSystemsOperation Get. */
+public final class SupportedOperatingSystemsOperationGetSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/SupportedOperatingSystems_Get.json
+ */
+ /**
+ * Sample code: Gets the data of supported operating systems by SRS.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheDataOfSupportedOperatingSystemsBySRS(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager.supportedOperatingSystemsOperations().getWithResponse("vault1", "resourceGroupPS1", null, Context.NONE);
+ }
+}
+```
+
+### TargetComputeSizes_ListByReplicationProtectedItems
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for TargetComputeSizes ListByReplicationProtectedItems. */
+public final class TargetComputeSizesListByReplicationProtectedItemsSamples {
+ /*
+ * x-ms-original-file: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-10-01/examples/TargetComputeSizes_ListByReplicationProtectedItems.json
+ */
+ /**
+ * Sample code: Gets the list of target compute sizes for the replication protected item.
+ *
+ * @param manager Entry point to SiteRecoveryManager.
+ */
+ public static void getsTheListOfTargetComputeSizesForTheReplicationProtectedItem(
+ com.azure.resourcemanager.recoveryservicessiterecovery.SiteRecoveryManager manager) {
+ manager
+ .targetComputeSizes()
+ .listByReplicationProtectedItems(
+ "avraiMgDiskVault",
+ "avraiMgDiskVaultRG",
+ "asr-a2a-default-centraluseuap",
+ "asr-a2a-default-centraluseuap-container",
+ "468c912d-b1ab-4ea2-97eb-4b5095155db2",
+ Context.NONE);
+ }
+}
+```
+
diff --git a/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/pom.xml b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/pom.xml
new file mode 100644
index 000000000000..dbfdf03baf27
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/pom.xml
@@ -0,0 +1,81 @@
+
+ 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-10.
+ 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
+ true
+ false
+
+
+
+
+
+ com.azure
+ azure-core
+ 1.23.1
+
+
+ com.azure
+ azure-core-management
+ 1.4.4
+
+
+
+
+
+ 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..1b8e2bd65185
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/SiteRecoveryManager.java
@@ -0,0 +1,577 @@
+// 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.HttpPipelinePosition;
+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;
+import java.util.stream.Collectors;
+
+/** 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());
+ policies
+ .addAll(
+ this
+ .policies
+ .stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addBeforeRetryPolicies(policies);
+ policies.add(retryPolicy);
+ policies.add(new AddDatePolicy());
+ policies.add(new ArmChallengeAuthenticationPolicy(credential, scopes.toArray(new String[0])));
+ policies
+ .addAll(
+ this
+ .policies
+ .stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addAfterRetryPolicies(policies);
+ policies.add(new HttpLoggingPolicy(httpLogOptions));
+ HttpPipeline httpPipeline =
+ new HttpPipelineBuilder()
+ .httpClient(httpClient)
+ .policies(policies.toArray(new HttpPipelinePolicy[0]))
+ .build();
+ return new 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..ea7a6d0e47b4
--- /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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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..0cedc968af36
--- /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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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..729932089de1
--- /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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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..20b99ed8dcac
--- /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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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..5691f6c0d40d
--- /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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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..7b9e541c7e76
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationProtectedItemsClient.java
@@ -0,0 +1,1850 @@
+// 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.UpdateApplianceForReplicationProtectedItemInput;
+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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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 appliance 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 applianceUpdateInput Appliance 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.LONG_RUNNING_OPERATION)
+ SyncPoller, ReplicationProtectedItemInner> beginUpdateAppliance(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ UpdateApplianceForReplicationProtectedItemInput applianceUpdateInput);
+
+ /**
+ * The operation to update appliance 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 applianceUpdateInput Appliance 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.LONG_RUNNING_OPERATION)
+ SyncPoller, ReplicationProtectedItemInner> beginUpdateAppliance(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ UpdateApplianceForReplicationProtectedItemInput applianceUpdateInput,
+ Context context);
+
+ /**
+ * The operation to update appliance 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 applianceUpdateInput Appliance 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 updateAppliance(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ UpdateApplianceForReplicationProtectedItemInput applianceUpdateInput);
+
+ /**
+ * The operation to update appliance 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 applianceUpdateInput Appliance 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 updateAppliance(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String replicatedProtectedItemName,
+ UpdateApplianceForReplicationProtectedItemInput applianceUpdateInput,
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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..9a69ed2296cc
--- /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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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..ba150ad81ef6
--- /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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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..88f7f5d5b6be
--- /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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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..4bd9225da324
--- /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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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..5ea4e813f4ee
--- /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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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..14cc5bac905a
--- /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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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..72fec2f04801
--- /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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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..9f89a0cb49d0
--- /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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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.LONG_RUNNING_OPERATION)
+ 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