This setting has no effect, if retry policy is set via {@link #withRetryPolicy(RetryPolicy)}.
+ *
+ * @param retryOptions the retry options for the HTTP pipeline retry policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withRetryOptions(RetryOptions retryOptions) {
+ this.retryOptions = Objects.requireNonNull(retryOptions, "'retryOptions' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the default poll interval, used when service does not provide "Retry-After" header.
+ *
+ * @param defaultPollInterval the default poll interval.
+ * @return the configurable object itself.
+ */
+ public Configurable withDefaultPollInterval(Duration defaultPollInterval) {
+ this.defaultPollInterval =
+ Objects.requireNonNull(defaultPollInterval, "'defaultPollInterval' cannot be null.");
+ if (this.defaultPollInterval.isNegative()) {
+ throw LOGGER
+ .logExceptionAsError(new IllegalArgumentException("'defaultPollInterval' cannot be negative"));
+ }
+ return this;
+ }
+
+ /**
+ * Creates an instance of 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) {
+ if (retryOptions != null) {
+ retryPolicy = new RetryPolicy(retryOptions);
+ } else {
+ retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
+ }
+ }
+ List 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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);
+
+ /**
+ * Gets a recovery point.
+ *
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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 as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 an email notification(alert) configuration.
+ *
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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);
+
+ /**
+ * Configures email notifications for this vault.
+ *
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response Gets the list of Azure Site Recovery appliances 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 appliances for the vault as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable Gets the list of Azure Site Recovery appliances 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 appliances for the vault as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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);
+
+ /**
+ * Gets the validation errors in case the VM is unsuitable for protection.
+ *
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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);
+
+ /**
+ * Gets the validation errors in case the VM is unsuitable for protection.
+ *
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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);
+
+ /**
+ * Get the details of an Azure Site recovery event.
+ *
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 ASR fabric.
+ *
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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 the {@link SyncPoller} for polling of fabric definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of fabric definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Creates an Azure Site Recovery fabric.
+ *
+ * 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);
+
+ /**
+ * Purges the site.
+ *
+ * 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Purges the site.
+ *
+ * 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);
+
+ /**
+ * Checks the consistency of the ASR fabric.
+ *
+ * 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 the {@link SyncPoller} for polling of fabric definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of fabric definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Checks the consistency of the ASR fabric.
+ *
+ * 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);
+
+ /**
+ * Migrates the site to AAD.
+ *
+ * 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Migrates the site to AAD.
+ *
+ * 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);
+
+ /**
+ * Perform failover of the process server.
+ *
+ * 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 the {@link SyncPoller} for polling of fabric definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of fabric definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Perform failover of the process server.
+ *
+ * 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);
+
+ /**
+ * Deletes the site.
+ *
+ * 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Deletes the site.
+ *
+ * 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 certificate for the fabric.
+ *
+ * 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 the {@link SyncPoller} for polling of fabric definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of fabric definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 certificate for the fabric.
+ *
+ * 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 0000000000000..6f8405d24d3f5
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationJobsClient.java
@@ -0,0 +1,370 @@
+// 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 jobs.
+ *
+ * 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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);
+
+ /**
+ * Gets the job details.
+ *
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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 the {@link SyncPoller} for polling of job details.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of job details.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Cancels the specified job.
+ *
+ * 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);
+
+ /**
+ * Restarts the specified job.
+ *
+ * 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 the {@link SyncPoller} for polling of job details.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of job details.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Restarts the specified job.
+ *
+ * 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);
+
+ /**
+ * Resumes the specified job.
+ *
+ * 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 the {@link SyncPoller} for polling of job details.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of job details.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Resumes the specified job.
+ *
+ * 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);
+
+ /**
+ * Exports the details of the Azure Site Recovery jobs of the vault.
+ *
+ * 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 the {@link SyncPoller} for polling of job details.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of job details.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Exports the details of the Azure Site Recovery jobs of the vault.
+ *
+ * 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 0000000000000..b90695d06bebb
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationLogicalNetworksClient.java
@@ -0,0 +1,87 @@
+// 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 {
+ /**
+ * Gets the list of logical networks under a fabric.
+ *
+ * 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 a logical network with specified server id and logical network name.
+ *
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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 as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 the {@link SyncPoller} for polling of migration item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of migration item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Enables migration.
+ *
+ * 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);
+
+ /**
+ * Delete the migration item.
+ *
+ * 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Delete the migration item.
+ *
+ * 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);
+
+ /**
+ * Delete the migration item.
+ *
+ * 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);
+
+ /**
+ * Updates migration item.
+ *
+ * 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 the {@link SyncPoller} for polling of migration item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of migration item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Updates migration item.
+ *
+ * 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);
+
+ /**
+ * Migrate item.
+ *
+ * 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 the {@link SyncPoller} for polling of migration item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of migration item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Migrate item.
+ *
+ * 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);
+
+ /**
+ * Pause replication.
+ *
+ * The operation to initiate pause replication 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 pauseReplicationInput Pause 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 the {@link SyncPoller} for polling of migration item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller The operation to initiate pause replication 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 pauseReplicationInput Pause 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 the {@link SyncPoller} for polling of migration item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller The operation to initiate pause replication 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 pauseReplicationInput Pause 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 migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MigrationItemInner pauseReplication(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ PauseReplicationInput pauseReplicationInput);
+
+ /**
+ * Pause replication.
+ *
+ * The operation to initiate pause replication 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 pauseReplicationInput Pause 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 migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MigrationItemInner pauseReplication(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ PauseReplicationInput pauseReplicationInput,
+ Context context);
+
+ /**
+ * Resume replication.
+ *
+ * The operation to initiate resume replication 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 resumeReplicationInput Resume 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 the {@link SyncPoller} for polling of migration item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller The operation to initiate resume replication 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 resumeReplicationInput Resume 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 the {@link SyncPoller} for polling of migration item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller The operation to initiate resume replication 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 resumeReplicationInput Resume 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 migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MigrationItemInner resumeReplication(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ ResumeReplicationInput resumeReplicationInput);
+
+ /**
+ * Resume replication.
+ *
+ * The operation to initiate resume replication 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 resumeReplicationInput Resume 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 migration item.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MigrationItemInner resumeReplication(
+ String resourceName,
+ String resourceGroupName,
+ String fabricName,
+ String protectionContainerName,
+ String migrationItemName,
+ ResumeReplicationInput resumeReplicationInput,
+ Context context);
+
+ /**
+ * Resynchronizes replication.
+ *
+ * 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 the {@link SyncPoller} for polling of migration item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of migration item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Resynchronizes replication.
+ *
+ * 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);
+
+ /**
+ * Test migrate item.
+ *
+ * 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 the {@link SyncPoller} for polling of migration item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of migration item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Test migrate item.
+ *
+ * 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);
+
+ /**
+ * Test migrate cleanup.
+ *
+ * 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 the {@link SyncPoller} for polling of migration item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of migration item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Test migrate cleanup.
+ *
+ * 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 network mapping by name.
+ *
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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 the {@link SyncPoller} for polling of network Mapping model.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of network Mapping model.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Creates network mapping.
+ *
+ * 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);
+
+ /**
+ * Delete network mapping.
+ *
+ * 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Delete network mapping.
+ *
+ * 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);
+
+ /**
+ * Updates network mapping.
+ *
+ * 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 the {@link SyncPoller} for polling of network Mapping model.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of network Mapping model.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Updates network mapping.
+ *
+ * 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);
+
+ /**
+ * Gets all the network mappings under a vault.
+ *
+ * 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 a network with specified server id and network name.
+ *
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 requested policy.
+ *
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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 the {@link SyncPoller} for polling of protection profile details.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of protection profile details.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Creates the policy.
+ *
+ * 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);
+
+ /**
+ * Delete the policy.
+ *
+ * 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Delete the policy.
+ *
+ * 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);
+
+ /**
+ * Updates the policy.
+ *
+ * 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 the {@link SyncPoller} for polling of protection profile details.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of protection profile details.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Updates the policy.
+ *
+ * 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 0000000000000..e8cc65959f037
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/fluent/ReplicationProtectableItemsClient.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.ProtectableItemInner;
+
+/** An instance of this class provides access to all the operations defined in ReplicationProtectableItemsClient. */
+public interface ReplicationProtectableItemsClient {
+ /**
+ * Gets the list of protectable items.
+ *
+ * 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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);
+
+ /**
+ * Gets the details of a protectable item.
+ *
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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 as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable 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 a Replication protected item.
+ *
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response 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 the {@link SyncPoller} for polling of replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Enables protection.
+ *
+ * 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);
+
+ /**
+ * Purges protection.
+ *
+ * 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Purges protection.
+ *
+ * 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);
+
+ /**
+ * Updates the replication protected item settings.
+ *
+ * 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 the {@link SyncPoller} for polling of replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Updates the replication protected item settings.
+ *
+ * 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);
+
+ /**
+ * Add disk(s) for protection.
+ *
+ * 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 the {@link SyncPoller} for polling of replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Add disk(s) for protection.
+ *
+ * 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);
+
+ /**
+ * Change or apply recovery point.
+ *
+ * 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 the {@link SyncPoller} for polling of replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Change or apply recovery point.
+ *
+ * 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);
+
+ /**
+ * Execute cancel failover.
+ *
+ * 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 the {@link SyncPoller} for polling of replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Execute cancel failover.
+ *
+ * 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);
+
+ /**
+ * Execute commit failover.
+ *
+ * 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 the {@link SyncPoller} for polling of replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Execute commit failover.
+ *
+ * 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);
+
+ /**
+ * Execute planned failover.
+ *
+ * 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 the {@link SyncPoller} for polling of replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Execute planned failover.
+ *
+ * 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);
+
+ /**
+ * Disables protection.
+ *
+ * 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Disables protection.
+ *
+ * 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);
+
+ /**
+ * Removes disk(s).
+ *
+ * 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 the {@link SyncPoller} for polling of replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Removes disk(s).
+ *
+ * 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);
+
+ /**
+ * Resynchronize or repair replication.
+ *
+ * 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 the {@link SyncPoller} for polling of replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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);
+
+ /**
+ * Resynchronize or repair replication.
+ *
+ * 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);
+
+ /**
+ * Execute Reverse Replication\Reprotect.
+ *
+ * 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 the {@link SyncPoller} for polling of replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller 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 the {@link SyncPoller} for polling of replication protected item.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller