{
  "swagger": "2.0",
  "schemes": [
    "https"
  ],
  "host": "management.azure.com",
  "info": {
    "title": "SiteRecoveryManagementClient",
    "version": "2016-08-10",
    "x-apisguru-categories": [
      "cloud"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png"
    },
    "x-ms-code-generation-settings": {
      "header": "MICROSOFT_MIT_NO_VERSION"
    },
    "x-origin": [
      {
        "format": "swagger",
        "url": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2016-08-10/service.json",
        "version": "2.0"
      }
    ],
    "x-preferred": false,
    "x-providerName": "azure.com",
    "x-serviceName": "recoveryservicessiterecovery-service",
    "x-tags": [
      "Azure",
      "Microsoft"
    ]
  },
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "securityDefinitions": {
    "azure_auth": {
      "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
      "description": "Azure Active Directory OAuth2 Flow",
      "flow": "implicit",
      "scopes": {
        "user_impersonation": "impersonate your user account."
      },
      "type": "oauth2"
    }
  },
  "security": [
    {
      "azure_auth": [
        "user_impersonation"
      ]
    }
  ],
  "parameters": {
    "ApiVersion": {
      "description": "Client Api Version.",
      "in": "query",
      "name": "api-version",
      "required": true,
      "type": "string"
    },
    "ResourceGroupName": {
      "description": "The name of the resource group where the recovery services vault is present.",
      "in": "path",
      "name": "resourceGroupName",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "client"
    },
    "ResourceName": {
      "description": "The name of the recovery services vault.",
      "in": "path",
      "name": "resourceName",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "client"
    },
    "SubscriptionId": {
      "description": "The subscription Id.",
      "in": "path",
      "name": "subscriptionId",
      "required": true,
      "type": "string"
    }
  },
  "paths": {
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/operations": {
      "get": {
        "description": "Operation to return the list of available operations.",
        "operationId": "Operations_List",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/OperationsDiscoveryCollection"
            }
          }
        },
        "summary": "Returns the list of available operations.",
        "tags": [
          "Operations"
        ],
        "x-ms-examples": {
          "Returns the list of available operations.": {
            "parameters": {
              "api-version": "2016-08-10",
              "resourceGroupName": "resourceGroupPS1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "display": {
                        "description": "The Vault Token operation can be used to get   Vault Token for vault level backend operations.",
                        "operation": "Vault Token",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Vaults"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/vaultTokens/read",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "The Register Service Container   operation can be used to register a container with Recovery Service.",
                        "operation": "Register Service Container",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Vaults"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/write",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "The Get Operation Results operation can   be used get the operation status and result for the asynchronously submitted operation",
                        "operation": "Get Operation Results",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Vaults"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/operationResults/read",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "The Get Containers operation can be used get   the containers registered for a resource.",
                        "operation": "Get Containers",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Vaults"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/read",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "The UnRegister Container   operation can be used to unregister a container.",
                        "operation": "Unregister Service Container",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Vaults"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/delete",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "The Update Resource Certificate   operation updates the resource/vault credential certificate.",
                        "operation": "Update Resource Certificate",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Vaults"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/certificates/write",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Read Any Alerts Settings",
                        "operation": "Read Alerts Settings",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Alerts   Settings"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationAlertSettings/read",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Create or Update Any Alerts Settings",
                        "operation": "Create or Update Alerts Settings",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Alerts   Settings"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationAlertSettings/write",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Read Any Events",
                        "operation": "Read Events",
                        "provider": "Microsoft Recovery   Services",
                        "resource": "Events"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationEvents/read",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Read Any Networks",
                        "operation": "Read Networks",
                        "provider": "Microsoft Recovery   Services",
                        "resource": "Networks"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/read",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Read Any Network   Mappings",
                        "operation": "Read Network Mappings",
                        "provider": "Microsoft   Recovery Services",
                        "resource": "Network Mappings"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings/read",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Create or Update Any Network   Mappings",
                        "operation": "Create or Update Network Mappings",
                        "provider": "Microsoft   Recovery Services",
                        "resource": "Network Mappings"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings/write",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Delete Any Network   Mappings",
                        "operation": "Delete Network Mappings",
                        "provider": "Microsoft   Recovery Services",
                        "resource": "Network Mappings"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings/delete",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Read Any Protectable   Items",
                        "operation": "Read Protectable Items",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Protectable Items"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectableItems/read",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Read Any Protection Container Mappings",
                        "operation": "Read Protection Container   Mappings",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Protection Container Mappings"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/read",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Create or Update Any Protection Container Mappings",
                        "operation": "Create or Update Protection Container   Mappings",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Protection Container Mappings"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/write",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Remove Protection Container Mapping",
                        "operation": "Remove Protection Container   Mapping",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Protection Container Mappings"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/remove/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Delete Any Protection Container Mappings",
                        "operation": "Delete Protection Container   Mappings",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Protection Container Mappings"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/delete",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Read   Any Replication Recovery Points",
                        "operation": "Read Replication Recovery Points",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Replication Recovery Points"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/recoveryPoints/read",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Read Any Protected   Items",
                        "operation": "Read Protected Items",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Protected Items"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/read",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Create or Update   Any Protected Items",
                        "operation": "Create or Update Protected Items",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Protected Items"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/write",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Delete Any Protected   Items",
                        "operation": "Delete Protected Items",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Protected Items"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/delete",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Remove Protected   Item",
                        "operation": "Remove Protected Item",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Protected Items"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/remove/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Planned   Failover",
                        "operation": "Planned Failover",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Protected Items"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/plannedFailover/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Failover",
                        "operation": "Failover",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Protected Items"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/unplannedFailover/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Test   Failover",
                        "operation": "Test Failover",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Protected Items"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/testFailover/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Test Failover   Cleanup",
                        "operation": "Test Failover Cleanup",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Protected Items"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/testFailoverCleanup/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Failover   Commit",
                        "operation": "Failover Commit",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Protected Items"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/failoverCommit/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "ReProtect Protected   Item",
                        "operation": "ReProtect Protected Item",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Protected Items"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/reProtect/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Update Mobility   Service",
                        "operation": "Update Mobility Service",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Protected Items"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/updateMobilityService/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Repair   replication",
                        "operation": "Repair replication",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Protected Items"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/repairReplication/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Apply Recovery   Point",
                        "operation": "Apply Recovery Point",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Protected Items"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/applyRecoveryPoint/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Read Any Jobs",
                        "operation": "Read Jobs",
                        "provider": "Microsoft Recovery   Services",
                        "resource": "Jobs"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationJobs/read",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Cancel Job",
                        "operation": "Cancel Job",
                        "provider": "Microsoft Recovery   Services",
                        "resource": "Jobs"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationJobs/cancel/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Restart job",
                        "operation": "Restart job",
                        "provider": "Microsoft Recovery   Services",
                        "resource": "Jobs"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationJobs/restart/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Resume Job",
                        "operation": "Resume Job",
                        "provider": "Microsoft Recovery   Services",
                        "resource": "Jobs"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationJobs/resume/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Read Any Protection   Containers",
                        "operation": "Read Protection Containers",
                        "provider": "Microsoft Recovery   Services",
                        "resource": "Protection Containers"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/read",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Discover   Protectable Item",
                        "operation": "Discover Protectable Item",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Protection Containers"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/discoverProtectableItem/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Create or Update Any Protection   Containers",
                        "operation": "Create or Update Protection Containers",
                        "provider": "Microsoft Recovery   Services",
                        "resource": "Protection Containers"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/write",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Remove Protection   Container",
                        "operation": "Remove Protection Container",
                        "provider": "Microsoft Recovery   Services",
                        "resource": "Protection Containers"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/remove/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Switch Protection   Container",
                        "operation": "Switch Protection Container",
                        "provider": "Microsoft   Recovery Services",
                        "resource": "Protection Containers"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/switchprotection/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Read Any Policies",
                        "operation": "Read Policies",
                        "provider": "Microsoft Recovery   Services",
                        "resource": "Policies"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationPolicies/read",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Create or Update Any Policies",
                        "operation": "Create or Update Policies",
                        "provider": "Microsoft Recovery   Services",
                        "resource": "Policies"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationPolicies/write",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Delete Any Policies",
                        "operation": "Delete Policies",
                        "provider": "Microsoft Recovery   Services",
                        "resource": "Policies"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationPolicies/delete",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Read Any Recovery Plans",
                        "operation": "Read Recovery Plans",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Recovery   Plans"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/read",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Create or Update Any Recovery Plans",
                        "operation": "Create or Update Recovery Plans",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Recovery   Plans"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/write",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Delete Any Recovery Plans",
                        "operation": "Delete Recovery Plans",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Recovery   Plans"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/delete",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Planned Failover Recovery   Plan",
                        "operation": "Planned Failover Recovery Plan",
                        "provider": "Microsoft Recovery   Services",
                        "resource": "Recovery Plans"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/plannedFailover/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Failover Recovery   Plan",
                        "operation": "Failover Recovery Plan",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Recovery Plans"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/unplannedFailover/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Test Failover Recovery   Plan",
                        "operation": "Test Failover Recovery Plan",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Recovery Plans"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/testFailover/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Test Failover   Cleanup Recovery Plan",
                        "operation": "Test Failover Cleanup Recovery Plan",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Recovery Plans"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/testFailoverCleanup/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Failover Commit   Recovery Plan",
                        "operation": "Failover Commit Recovery Plan",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Recovery Plans"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/failoverCommit/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "ReProtect Recovery   Plan",
                        "operation": "ReProtect Recovery Plan",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Recovery Plans"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/reProtect/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Read   Any Recovery Services Providers",
                        "operation": "Read Recovery Services Providers",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Recovery Services Providers"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/read",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Remove Recovery Services   Provider",
                        "operation": "Remove Recovery Services Provider",
                        "provider": "Microsoft   Recovery Services",
                        "resource": "Recovery Services Providers"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/remove/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Delete Any Recovery Services   Providers",
                        "operation": "Delete Recovery Services Providers",
                        "provider": "Microsoft Recovery   Services",
                        "resource": "Recovery Services Providers"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/delete",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Refresh   Provider",
                        "operation": "Refresh Provider",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Recovery Services Providers"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/refreshProvider/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Read Any Fabrics",
                        "operation": "Read Fabrics",
                        "provider": "Microsoft Recovery   Services",
                        "resource": "Fabrics"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/read",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Create or Update Any Fabrics",
                        "operation": "Create or Update Fabrics",
                        "provider": "Microsoft Recovery   Services",
                        "resource": "Fabrics"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/write",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Remove Fabric",
                        "operation": "Remove Fabric",
                        "provider": "Microsoft Recovery   Services",
                        "resource": "Fabrics"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/remove/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Checks Consistency of the   Fabric",
                        "operation": "Checks Consistency of the Fabric",
                        "provider": "Microsoft Recovery   Services",
                        "resource": "Fabrics"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/checkConsistency/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Delete Any Fabrics",
                        "operation": "Delete Fabrics",
                        "provider": "Microsoft Recovery   Services",
                        "resource": "Fabrics"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/delete",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Renew Certificate for Fabric",
                        "operation": "Renew Certificate for Fabric",
                        "provider": "Microsoft Recovery   Services",
                        "resource": "Fabrics"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/renewcertificate/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Deploy Process Server Image",
                        "operation": "Deploy Process Server Image",
                        "provider": "Microsoft Recovery   Services",
                        "resource": "Fabrics"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/deployProcessServerImage/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Reassociate Gateway",
                        "operation": "Reassociate Gateway",
                        "provider": "Microsoft Recovery   Services",
                        "resource": "Fabrics"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/reassociateGateway/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Read Any Storage   Classifications",
                        "operation": "Read Storage Classifications",
                        "provider": "Microsoft Recovery   Services",
                        "resource": "Storage Classifications"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/read",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Read Any Storage Classification Mappings",
                        "operation": "Read Storage Classification   Mappings",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Storage Classification Mappings"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings/read",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Create or Update Any Storage Classification Mappings",
                        "operation": "Create or Update Storage Classification   Mappings",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Storage Classification Mappings"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings/write",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Delete Any Storage Classification Mappings",
                        "operation": "Delete Storage Classification   Mappings",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Storage Classification Mappings"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings/delete",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Read Any Vault Usages",
                        "operation": "Read   Vault Usages",
                        "provider": "Microsoft Recovery Services",
                        "resource": "Vault Usages"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/usages/read",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Read Any Jobs",
                        "operation": "Read Jobs",
                        "provider": "Microsoft Recovery   Services",
                        "resource": "Jobs"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters/read",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Create or Update Any Jobs",
                        "operation": "Create or Update Jobs",
                        "provider": "Microsoft Recovery   Services",
                        "resource": "Jobs"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters/write",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Delete Any Jobs",
                        "operation": "Delete Jobs",
                        "provider": "Microsoft Recovery   Services",
                        "resource": "Jobs"
                      },
                      "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters/delete",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Returns usage details for a Recovery Services Vault.",
                        "operation": "Recovery Services Vault usage details.",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Vault   Usage"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/usages/read",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Returns summaries for   Protected Items and Protected Servers for a Recovery Services .",
                        "operation": "Recovery Services Protected Items and Protected Servers usage summaries details.",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Backup Usages   Summaries"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupUsageSummaries/read",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Returns Storage Configuration for Recovery Services Vault.",
                        "operation": "Get Resource Storage Config",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Vault Storage   Config"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/storageConfig/read",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Updates Storage Configuration for Recovery Services Vault.",
                        "operation": "Write Resource Storage Config",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Vault Storage   Config"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/storageConfig/write",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Returns Configuration for Recovery Services Vault.",
                        "operation": "Get Resource Config",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Vault   Config"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupconfig/vaultconfig/read",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Updates Configuration for Recovery Services Vault.",
                        "operation": "Update Resource Config",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Vault   Config"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupconfig/vaultconfig/write",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Returns token information for Recovery Services Vault.",
                        "operation": "Get   Vault Token Info",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Token Info"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/tokenInfo/read",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Returns Security PIN   Information for Recovery Services Vault.",
                        "operation": "Get Security PIN Info",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "SecurityPINInfo"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupSecurityPIN/read",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Returns   Backup Management Metadata for Recovery Services Vault.",
                        "operation": "Get Backup Management Metadata",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Backup Management Metadata"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupManagementMetaData/read",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Returns Backup Operation Result for Recovery Services Vault.",
                        "operation": "Get Backup Operation Result",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Backup Operation   Results"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupOperationResults/read",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Returns Backup Operation Status for Recovery Services Vault.",
                        "operation": "Get Backup Operation Status",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Backup Operation   Status"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupOperations/read",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Returns all Job Objects",
                        "operation": "Get Jobs",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Backup   Jobs"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupJobs/read",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Cancel the Job",
                        "operation": "Cancel Jobs",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Backup   Jobs"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupJobs/cancel/action",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Export Jobs",
                        "operation": "Export Jobs",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Export Backup   Jobs"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupJobsExport/action",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Returns the Result of Job Operation.",
                        "operation": "Get Job Operation Result",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Backup Jobs   Operation Results"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupJobs/operationResults/read",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Returns the Result of Export Job Operation.",
                        "operation": "Get Export Job Operation   Result",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Export Backup Jobs Operation Results"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupJobsExport/operationResults/read",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Get Recovery Points for   Protected Items.",
                        "operation": "Get Recovery Points",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Recovery Points"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/read",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Restore Recovery Points for   Protected Items.",
                        "operation": "Restore Recovery Points",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Recovery Points"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/restore/action",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Provision Instant Item Recovery for Protected Item",
                        "operation": "Provision Instant Item Recovery for Protected   Item",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Recovery Points"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/provisionInstantItemRecovery/action",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Revoke Instant Item Recovery for Protected Item",
                        "operation": "Revoke Instant Item Recovery for Protected   Item",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Recovery Points"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/revokeInstantItemRecovery/action",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Returns all Protection Policies",
                        "operation": "Get Protection Policy",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Backup   Policies"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupPolicies/read",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Creates Protection Policy",
                        "operation": "Create Protection Policy",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Backup   Policies"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupPolicies/write",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Delete a Protection Policy",
                        "operation": "Delete Protection Policy",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Backup   Policies"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupPolicies/delete",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Get Results of Policy Operation.",
                        "operation": "Get Policy Operation Results",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Backup   Policy Operation Results"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupPolicies/operationResults/read",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Get Status of Policy Operation.",
                        "operation": "Get Policy Operation Status",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Backup   Policy Operation Status"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupPolicies/operationStatus/read",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Returns object details of   the Protected Item",
                        "operation": "Get Protected Item Details",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Protected Items"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/read",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Returns the list of all   Protected Items.",
                        "operation": "Get All Protected Items",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Protected Items"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupProtectedItems/read",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Create a backup   Protected Item",
                        "operation": "Create Backup Protected Item",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Protected Items"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/write",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Deletes Protected   Item",
                        "operation": "Delete Protected Items",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Protected Items"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/delete",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Gets Result of Operation Performed on Protected Items.",
                        "operation": "Get Protected Items Operation   Results",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Protected Item Operation Results"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/operationResults/read",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Returns the status of Operation performed on Protected Items.",
                        "operation": "Get Protected Items operation   status",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Protected Item Operation Status"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/operationStatus/read",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Performs Backup for Protected   Item.",
                        "operation": "Backup Protected Item",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Protected Items"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/backup/action",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Returns list of all   Protectable Items.",
                        "operation": "Get Protectable Items",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Backup Protectable Items"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupProtectableItems/read",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Refreshes the container   list",
                        "operation": "Refresh container",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Refresh Containers"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/refreshContainers/read",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Returns   status of the operation",
                        "operation": "Get Operation Results",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Refresh Containers Operation Results"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/operationResults/read",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Returns   all containers belonging to the subscription",
                        "operation": "Get Containers In Subscription",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Backup Protection Containers"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupProtectionContainers/read",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Returns all   registered containers",
                        "operation": "Get Registered Container",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Protection Containers"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/read",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Gets result of Operation performed on Protection Container.",
                        "operation": "Get Container Operation   Results",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Protection Containers Operation Results"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/operationResults/read",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Returns all the backup management servers registered with   vault.",
                        "operation": "List of backup management servers.",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Backup   Engines"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupEngines",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Check Backup Status for   Recovery Services Vaults",
                        "operation": "Check Backup Status for Vault",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Backup Status"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/backupStatus",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "Create Vault operation creates an Azure resource   of type 'vault'",
                        "operation": "Create Vault",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Vaults"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/write",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "The Get Vault operation gets an object representing   the Azure resource of type 'vault'",
                        "operation": "Get Vault",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Vaults"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/read",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "The Delete Vault operation deletes the specified   Azure resource of type 'vault'",
                        "operation": "Delete Vault",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Vaults"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/delete",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "The Get Extended Info operation gets an   object's Extended Info representing the Azure resource of type ?vault?",
                        "operation": "Get Extended Info",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Vaults"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/extendedInformation/read",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "The Get Extended Info operation gets an   object's Extended Info representing the Azure resource of type ?vault?",
                        "operation": "Get Extended Info",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Vaults"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/extendedInformation/write",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "The Get Extended Info operation gets an   object's Extended Info representing the Azure resource of type ?vault?",
                        "operation": "Get Extended Info",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "Vaults"
                      },
                      "name": "Microsoft.RecoveryServices/Vaults/extendedInformation/delete",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "GetAllocatedStamp is   internal operation used by service",
                        "operation": "Get Allocated Stamp",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "locations/allocatedStamp"
                      },
                      "name": "Microsoft.RecoveryServices/locations/allocatedStamp/read",
                      "origin": "user"
                    },
                    {
                      "display": {
                        "description": "AllocateStamp is   internal operation used by service",
                        "operation": "Allocated Stamp Action",
                        "provider": "Microsoft.RecoveryServices",
                        "resource": "locations/allocateStamp"
                      },
                      "name": "Microsoft.RecoveryServices/locations/allocateStamp/action",
                      "origin": "user"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings": {
      "get": {
        "description": "Gets the list of email notification(alert) configurations for the vault.",
        "operationId": "ReplicationAlertSettings_List",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/AlertCollection"
            }
          }
        },
        "summary": "Gets the list of configured email notification(alert) configurations.",
        "tags": [
          "ReplicationAlertSettings"
        ],
        "x-ms-examples": {
          "Gets the list of configured email notification(alert) configurations.": {
            "parameters": {
              "api-version": "2016-08-10",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationAlertSettings/defaultAlertSetting",
                      "name": "defaultAlertSetting",
                      "properties": {
                        "customEmailAddresses": [
                          "ronehr@microsoft.com"
                        ],
                        "locale": "en-US",
                        "sendToOwners": "false"
                      },
                      "type": "Microsoft.RecoveryServices/vaults/replicationAlertSettings"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings/{alertSettingName}": {
      "get": {
        "description": "Gets the details of the specified email notification(alert) configuration.",
        "operationId": "ReplicationAlertSettings_Get",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "The name of the email notification configuration.",
            "in": "path",
            "name": "alertSettingName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Alert"
            }
          }
        },
        "summary": "Gets an email notification(alert) configuration.",
        "tags": [
          "ReplicationAlertSettings"
        ],
        "x-ms-examples": {
          "Gets an email notification(alert) configuration.": {
            "parameters": {
              "alertSettingName": "defaultAlertSetting",
              "api-version": "2016-08-10",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationAlertSettings/defaultAlertSetting",
                  "name": "defaultAlertSetting",
                  "properties": {
                    "customEmailAddresses": [
                      "ronehr@microsoft.com"
                    ],
                    "locale": "en-US",
                    "sendToOwners": "false"
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationAlertSettings"
                }
              }
            }
          }
        }
      },
      "put": {
        "description": "Create or update an email notification(alert) configuration.",
        "operationId": "ReplicationAlertSettings_Create",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "The name of the email notification(alert) configuration.",
            "in": "path",
            "name": "alertSettingName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The input to configure the email notification(alert).",
            "in": "body",
            "name": "request",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ConfigureAlertRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Alert"
            }
          }
        },
        "summary": "Configures email notifications for this vault.",
        "tags": [
          "ReplicationAlertSettings"
        ],
        "x-ms-examples": {
          "Configures email notifications for this vault.": {
            "parameters": {
              "alertSettingName": "defaultAlertSetting",
              "api-version": "2016-08-10",
              "request": {
                "properties": {
                  "customEmailAddresses": [
                    "ronehr@microsoft.com"
                  ],
                  "locale": "",
                  "sendToOwners": "false"
                }
              },
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationAlertSettings/defaultAlertSetting",
                  "name": "defaultAlertSetting",
                  "properties": {
                    "customEmailAddresses": [
                      "ronehr@microsoft.com"
                    ],
                    "locale": "en-US",
                    "sendToOwners": "false"
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationAlertSettings"
                }
              }
            }
          }
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents": {
      "get": {
        "description": "Gets the list of Azure Site Recovery events for the vault.",
        "operationId": "ReplicationEvents_List",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "OData filter options.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EventCollection"
            }
          }
        },
        "summary": "Gets the list of Azure Site Recovery events.",
        "tags": [
          "ReplicationEvents"
        ],
        "x-ms-examples": {
          "Gets the list of Azure Site Recovery events.": {
            "parameters": {
              "api-version": "2016-08-10",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationEvents/JobStatusMonitoringEvent;9091989892524070155_4ed6f1a6-9b6d-4048-9079-1307dd24b814",
                      "name": "JobStatusMonitoringEvent;9091989892524070155_4ed6f1a6-9b6d-4048-9079-1307dd24b814",
                      "properties": {
                        "affectedObjectFriendlyName": "vm1",
                        "description": "TestFailover - Failed",
                        "eventCode": "d32574f6-f59e-4545-b5ac-bc88d545f089",
                        "eventSpecificDetails": {
                          "instanceType": "JobStatusEventDetails"
                        },
                        "eventType": "JobStatus",
                        "fabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
                        "healthErrors": [
                          {
                            "errorCode": "499",
                            "errorMessage": "An internal error occurred.",
                            "possibleCauses": "The operation failed due to an internal error.",
                            "recommendedAction": "Retry the last action. If the issue persists, contact Support."
                          }
                        ],
                        "providerSpecificDetails": {
                          "instanceType": "HyperVReplicaAzure"
                        },
                        "severity": "Critical",
                        "timeOfOccurrence": "2017-05-02T16:00:33.0705652Z"
                      },
                      "type": "Microsoft.RecoveryServices/vaults/replicationEvents"
                    },
                    {
                      "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationEvents/VmMonitoringEvent;9091989947769704276_516de684-0079-48f7-b44b-882923268654",
                      "name": "VmMonitoringEvent;9091989947769704276_516de684-0079-48f7-b44b-882923268654",
                      "properties": {
                        "affectedObjectFriendlyName": "vm1",
                        "description": "Virtual machine health is OK",
                        "eventCode": "d9a07b07-c7b5-49ca-ab6c-6926596dfe47",
                        "eventSpecificDetails": {
                          "instanceType": "JobStatusEventDetails"
                        },
                        "eventType": "VmHealth",
                        "fabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
                        "healthErrors": [],
                        "providerSpecificDetails": {
                          "instanceType": "HyperVReplicaAzure"
                        },
                        "severity": "OK",
                        "timeOfOccurrence": "2017-05-02T14:28:28.5071531Z"
                      },
                      "type": "Microsoft.RecoveryServices/vaults/replicationEvents"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-odata": "#/definitions/EventQueryParameter",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents/{eventName}": {
      "get": {
        "description": "The operation to get the details of an Azure Site recovery event.",
        "operationId": "ReplicationEvents_Get",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "The name of the Azure Site Recovery event.",
            "in": "path",
            "name": "eventName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Event"
            }
          }
        },
        "summary": "Get the details of an Azure Site recovery event.",
        "tags": [
          "ReplicationEvents"
        ],
        "x-ms-examples": {
          "Get the details of an Azure Site recovery event.": {
            "parameters": {
              "api-version": "2016-08-10",
              "eventName": "654b71d0-b2ce-4e6e-a861-98528d4bd375",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationEvents/VmMonitoringEvent;9091989947769704276_516de684-0079-48f7-b44b-882923268654",
                  "name": "VmMonitoringEvent;9091989947769704276_516de684-0079-48f7-b44b-882923268654",
                  "properties": {
                    "affectedObjectFriendlyName": "vm1",
                    "description": "Virtual machine health is OK",
                    "eventCode": "d9a07b07-c7b5-49ca-ab6c-6926596dfe47",
                    "eventSpecificDetails": {
                      "instanceType": "JobStatusEventDetails"
                    },
                    "eventType": "VmHealth",
                    "fabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
                    "healthErrors": [],
                    "providerSpecificDetails": {
                      "instanceType": "HyperVReplicaAzure"
                    },
                    "severity": "OK",
                    "timeOfOccurrence": "2017-05-02T14:28:28.5071531Z"
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationEvents"
                }
              }
            }
          }
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics": {
      "get": {
        "description": "Gets a list of the Azure Site Recovery fabrics in the vault.",
        "operationId": "ReplicationFabrics_List",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/FabricCollection"
            }
          }
        },
        "summary": "Gets the list of ASR fabrics",
        "tags": [
          "ReplicationFabrics"
        ],
        "x-ms-examples": {
          "Gets the list of ASR fabrics": {
            "parameters": {
              "api-version": "2016-08-10",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
                      "name": "cloud1",
                      "properties": {
                        "bcdrState": "Valid",
                        "customDetails": {
                          "instanceType": "HyperVSite"
                        },
                        "encryptionDetails": {
                          "kekState": "None"
                        },
                        "friendlyName": "cloud1",
                        "health": "Normal",
                        "healthErrorDetails": [],
                        "internalIdentifier": "6d224fc6-f326-5d35-96de-fbf51efb3179",
                        "rolloverEncryptionDetails": {
                          "kekState": "None"
                        }
                      },
                      "type": "Microsoft.RecoveryServices/vaults/replicationFabrics"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}": {
      "delete": {
        "description": "The operation to purge(force delete) an Azure Site Recovery fabric.",
        "operationId": "ReplicationFabrics_Purge",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "ASR fabric to purge.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "NoContent"
          }
        },
        "summary": "Purges the site.",
        "tags": [
          "ReplicationFabrics"
        ],
        "x-ms-examples": {
          "Purges the site.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "202": {},
              "204": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "Gets the details of an Azure Site Recovery fabric.",
        "operationId": "ReplicationFabrics_Get",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Fabric"
            }
          }
        },
        "summary": "Gets the details of an ASR fabric.",
        "tags": [
          "ReplicationFabrics"
        ],
        "x-ms-examples": {
          "Gets the details of an ASR fabric.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
                  "name": "cloud1",
                  "properties": {
                    "bcdrState": "Valid",
                    "customDetails": {
                      "instanceType": "HyperVSite"
                    },
                    "encryptionDetails": {
                      "kekState": "None"
                    },
                    "friendlyName": "cloud1",
                    "health": "Normal",
                    "healthErrorDetails": [],
                    "internalIdentifier": "6d224fc6-f326-5d35-96de-fbf51efb3179",
                    "rolloverEncryptionDetails": {
                      "kekState": "None"
                    }
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics"
                }
              }
            }
          }
        }
      },
      "put": {
        "description": "The operation to create an Azure Site Recovery fabric (for e.g. Hyper-V site)",
        "operationId": "ReplicationFabrics_Create",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Name of the ASR fabric.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Fabric creation input.",
            "in": "body",
            "name": "input",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FabricCreationInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Fabric"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Creates an Azure Site Recovery fabric.",
        "tags": [
          "ReplicationFabrics"
        ],
        "x-ms-examples": {
          "Creates an Azure Site Recovery fabric.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "input": {
                "properties": {
                  "customDetails": {
                    "instanceType": "FabricSpecificCreationInput"
                  }
                }
              },
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
                  "name": "cloud1",
                  "properties": {
                    "bcdrState": "Valid",
                    "customDetails": {
                      "instanceType": "HyperVSite"
                    },
                    "encryptionDetails": {
                      "kekState": "None"
                    },
                    "friendlyName": "cloud1",
                    "health": "Normal",
                    "healthErrorDetails": [],
                    "internalIdentifier": "6d224fc6-f326-5d35-96de-fbf51efb3179",
                    "rolloverEncryptionDetails": {
                      "kekState": "None"
                    }
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/checkConsistency": {
      "post": {
        "description": "The operation to perform a consistency check on the fabric.",
        "operationId": "ReplicationFabrics_CheckConsistency",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Fabric"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Checks the consistency of the ASR fabric.",
        "tags": [
          "ReplicationFabrics"
        ],
        "x-ms-examples": {
          "Checks the consistency of the ASR fabric.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
                  "name": "cloud1",
                  "properties": {
                    "bcdrState": "Valid",
                    "customDetails": {
                      "instanceType": "HyperVSite"
                    },
                    "encryptionDetails": {
                      "kekState": "None"
                    },
                    "friendlyName": "cloud1",
                    "health": "Normal",
                    "healthErrorDetails": [],
                    "internalIdentifier": "6d224fc6-f326-5d35-96de-fbf51efb3179",
                    "rolloverEncryptionDetails": {
                      "kekState": "None"
                    }
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/migratetoaad": {
      "post": {
        "description": "The operation to migrate an Azure Site Recovery fabric to AAD.",
        "operationId": "ReplicationFabrics_MigrateToAad",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "ASR fabric to migrate.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "NoContent"
          }
        },
        "summary": "Migrates the site to AAD.",
        "tags": [
          "ReplicationFabrics"
        ],
        "x-ms-examples": {
          "Migrates the site to AAD.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "202": {},
              "204": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/reassociateGateway": {
      "post": {
        "description": "The operation to move replications from a process server to another process server.",
        "operationId": "ReplicationFabrics_ReassociateGateway",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "The name of the fabric containing the process server.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The input to the failover process server operation.",
            "in": "body",
            "name": "failoverProcessServerRequest",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FailoverProcessServerRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Fabric"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Perform failover of the process server.",
        "tags": [
          "ReplicationFabrics"
        ],
        "x-ms-examples": {
          "Perform failover of the process server.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "GRACE-V2A-1",
              "failoverProcessServerRequest": {
                "properties": {
                  "containerName": "cloud_1f3c15af-2256-4568-9e06-e1ef4f728f75",
                  "sourceProcessServerId": "AFA0EC54-1894-4E44-9CAB02DB8854B117",
                  "targetProcessServerId": "5D3ED340-85AE-C646-B338641E015DA405",
                  "updateType": "ServerLevel",
                  "vmsToMigrate": [
                    "Vm1",
                    "Vm2"
                  ]
                }
              },
              "resourceGroupName": "MadhaviVRG",
              "resourceName": "MadhaviVault",
              "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/bc15edf300344660d9c2965f5d9225593d99734f6580613c997033abc3512a56",
                  "name": "bc15edf300344660d9c2965f5d9225593d99734f6580613c997033abc3512a56",
                  "properties": {
                    "bcdrState": "Valid",
                    "customDetails": {
                      "instanceType": "VMware"
                    },
                    "encryptionDetails": {
                      "kekState": "None"
                    },
                    "friendlyName": "GRACE-V2A-1",
                    "health": "Normal",
                    "healthErrorDetails": [],
                    "internalIdentifier": "1f3c15af-2256-4568-9e06-e1ef4f728f75",
                    "rolloverEncryptionDetails": {
                      "kekState": "None"
                    }
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/remove": {
      "post": {
        "description": "The operation to delete or remove an Azure Site Recovery fabric.",
        "operationId": "ReplicationFabrics_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "ASR fabric to delete",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "NoContent"
          }
        },
        "summary": "Deletes the site.",
        "tags": [
          "ReplicationFabrics"
        ],
        "x-ms-examples": {
          "Deletes the site.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "202": {},
              "204": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/renewCertificate": {
      "post": {
        "description": "Renews the connection certificate for the ASR replication fabric.",
        "operationId": "ReplicationFabrics_RenewCertificate",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "fabric name to renew certs for.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Renew certificate input.",
            "in": "body",
            "name": "renewCertificate",
            "required": true,
            "schema": {
              "$ref": "#/definitions/RenewCertificateInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Fabric"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Renews certificate for the fabric.",
        "tags": [
          "ReplicationFabrics"
        ],
        "x-ms-examples": {
          "Renews certificate for the fabric.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "renewCertificate": {
                "properties": {
                  "renewCertificateType": "Cloud"
                }
              },
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
                  "name": "cloud1",
                  "properties": {
                    "bcdrState": "Valid",
                    "customDetails": {
                      "instanceType": "HyperVSite"
                    },
                    "encryptionDetails": {
                      "kekState": "None"
                    },
                    "friendlyName": "cloud1",
                    "health": "Normal",
                    "healthErrorDetails": [],
                    "internalIdentifier": "6d224fc6-f326-5d35-96de-fbf51efb3179",
                    "rolloverEncryptionDetails": {
                      "kekState": "None"
                    }
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks": {
      "get": {
        "description": "Lists all the logical networks of the Azure Site Recovery fabric",
        "operationId": "ReplicationLogicalNetworks_ListByReplicationFabrics",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Server Id.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/LogicalNetworkCollection"
            }
          }
        },
        "summary": "Gets the list of logical networks under a fabric.",
        "tags": [
          "ReplicationLogicalNetworks"
        ],
        "x-ms-examples": {
          "Gets the list of logical networks under a fabric.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationLogicalNetworks/53f5a278-ae85-4001-bd5f-f6a02e1f579d",
                      "name": "87ab394f-165f-4aa9-bd84-b018500b4509",
                      "properties": {
                        "friendlyName": "corp",
                        "logicalNetworkDefinitionsStatus": "LogicalNetworkDefinitionsNotIsolated",
                        "logicalNetworkUsage": "NotUsedAsPrivateNetworkForTestFailover",
                        "networkVirtualizationStatus": "NetworkVirtualizationNotEnabled"
                      },
                      "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationLogicalNetworks"
                    },
                    {
                      "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationLogicalNetworks/87ab394f-165f-4aa9-bd84-b018500b4509",
                      "name": "53f5a278-ae85-4001-bd5f-f6a02e1f579d",
                      "properties": {
                        "friendlyName": "LN-VLANNetwork-4",
                        "logicalNetworkDefinitionsStatus": "LogicalNetworkDefinitionsIsolated",
                        "logicalNetworkUsage": "NotUsedAsPrivateNetworkForTestFailover",
                        "networkVirtualizationStatus": "NetworkVirtualizationNotEnabled"
                      },
                      "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationLogicalNetworks"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks/{logicalNetworkName}": {
      "get": {
        "description": "Gets the details of a logical network.",
        "operationId": "ReplicationLogicalNetworks_Get",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Server Id.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Logical network name.",
            "in": "path",
            "name": "logicalNetworkName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/LogicalNetwork"
            }
          }
        },
        "summary": "Gets a logical network with specified server id and logical network name.",
        "tags": [
          "ReplicationLogicalNetworks"
        ],
        "x-ms-examples": {
          "Gets a logical network with specified server id and logical network name.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "logicalNetworkName": "87ab394f-165f-4aa9-bd84-b018500b4509",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationLogicalNetworks/53f5a278-ae85-4001-bd5f-f6a02e1f579d",
                  "name": "87ab394f-165f-4aa9-bd84-b018500b4509",
                  "properties": {
                    "friendlyName": "corp",
                    "logicalNetworkDefinitionsStatus": "LogicalNetworkDefinitionsNotIsolated",
                    "logicalNetworkUsage": "NotUsedAsPrivateNetworkForTestFailover",
                    "networkVirtualizationStatus": "NetworkVirtualizationNotEnabled"
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationLogicalNetworks"
                }
              }
            }
          }
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks": {
      "get": {
        "description": "Lists the networks available for a fabric.",
        "operationId": "ReplicationNetworks_ListByReplicationFabrics",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Fabric name",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/NetworkCollection"
            }
          }
        },
        "summary": "Gets the list of networks under a fabric.",
        "tags": [
          "ReplicationNetworks"
        ],
        "x-ms-examples": {
          "Gets the list of networks under a fabric.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
              "resourceGroupName": "srcBvte2a14C27",
              "resourceName": "srce2avaultbvtaC27",
              "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/93ce99d7-1219-4914-aa61-73fe5023988e",
                      "name": "93ce99d7-1219-4914-aa61-73fe5023988e",
                      "properties": {
                        "fabricType": "VMM",
                        "friendlyName": "VSwitch_VLan",
                        "networkType": "NoIsolation",
                        "subnets": []
                      },
                      "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks"
                    },
                    {
                      "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/b83bf8fd-f304-48d7-82c9-5d74e6215c1b",
                      "name": "b83bf8fd-f304-48d7-82c9-5d74e6215c1b",
                      "properties": {
                        "fabricType": "VMM",
                        "friendlyName": "VSwitch_NoIso",
                        "networkType": "NoIsolation",
                        "subnets": []
                      },
                      "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks"
                    },
                    {
                      "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06",
                      "name": "e2267b5c-2650-49bd-ab3f-d66aae694c06",
                      "properties": {
                        "fabricType": "VMM",
                        "friendlyName": "corp",
                        "networkType": "NoIsolation",
                        "subnets": []
                      },
                      "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}": {
      "get": {
        "description": "Gets the details of a network.",
        "operationId": "ReplicationNetworks_Get",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Server Id.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Primary network name.",
            "in": "path",
            "name": "networkName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Network"
            }
          }
        },
        "summary": "Gets a network with specified server id and network name.",
        "tags": [
          "ReplicationNetworks"
        ],
        "x-ms-examples": {
          "Gets a network with specified server id and network name.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
              "networkName": "93ce99d7-1219-4914-aa61-73fe5023988e",
              "resourceGroupName": "srcBvte2a14C27",
              "resourceName": "srce2avaultbvtaC27",
              "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/93ce99d7-1219-4914-aa61-73fe5023988e",
                  "name": "93ce99d7-1219-4914-aa61-73fe5023988e",
                  "properties": {
                    "fabricType": "VMM",
                    "friendlyName": "VSwitch_VLan",
                    "networkType": "NoIsolation",
                    "subnets": []
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks"
                }
              }
            }
          }
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings": {
      "get": {
        "description": "Lists all ASR network mappings for the specified network.",
        "operationId": "ReplicationNetworkMappings_ListByReplicationNetworks",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Primary fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Primary network name.",
            "in": "path",
            "name": "networkName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/NetworkMappingCollection"
            }
          }
        },
        "summary": "Gets all the network mappings under a network.",
        "tags": [
          "ReplicationNetworkMappings"
        ],
        "x-ms-examples": {
          "Gets all the network mappings under a network.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
              "networkName": "e2267b5c-2650-49bd-ab3f-d66aae694c06",
              "resourceGroupName": "srcBvte2a14C27",
              "resourceName": "srce2avaultbvtaC27",
              "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06/replicationNetworkMappings/corpe2amap",
                      "name": "corpe2amap",
                      "properties": {
                        "fabricSpecificSettings": {
                          "instanceType": "VmmToAzure"
                        },
                        "primaryFabricFriendlyName": "CP-B3L30108-01.ntdev.corp.microsoft.com",
                        "primaryNetworkFriendlyName": "corp",
                        "primaryNetworkId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06",
                        "recoveryFabricArmId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5",
                        "recoveryFabricFriendlyName": "Microsoft Azure",
                        "recoveryNetworkFriendlyName": "vnetavrai",
                        "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai",
                        "state": "Paired"
                      },
                      "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings/{networkMappingName}": {
      "delete": {
        "description": "The operation to delete a network mapping.",
        "operationId": "ReplicationNetworkMappings_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Primary fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Primary network name.",
            "in": "path",
            "name": "networkName",
            "required": true,
            "type": "string"
          },
          {
            "description": "ARM Resource Name for network mapping.",
            "in": "path",
            "name": "networkMappingName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "NoContent"
          }
        },
        "summary": "Delete network mapping.",
        "tags": [
          "ReplicationNetworkMappings"
        ],
        "x-ms-examples": {
          "Delete network mapping.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
              "networkMappingName": "corpe2amap",
              "networkName": "e2267b5c-2650-49bd-ab3f-d66aae694c06",
              "resourceGroupName": "srcBvte2a14C27",
              "resourceName": "srce2avaultbvtaC27",
              "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
            },
            "responses": {
              "202": {},
              "204": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "Gets the details of an ASR network mapping",
        "operationId": "ReplicationNetworkMappings_Get",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Primary fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Primary network name.",
            "in": "path",
            "name": "networkName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Network mapping name.",
            "in": "path",
            "name": "networkMappingName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/NetworkMapping"
            }
          }
        },
        "summary": "Gets network mapping by name.",
        "tags": [
          "ReplicationNetworkMappings"
        ],
        "x-ms-examples": {
          "Gets network mapping by name.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
              "networkMappingName": "corpe2amap",
              "networkName": "e2267b5c-2650-49bd-ab3f-d66aae694c06",
              "resourceGroupName": "srcBvte2a14C27",
              "resourceName": "srce2avaultbvtaC27",
              "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06/replicationNetworkMappings/corpe2amap",
                  "name": "corpe2amap",
                  "properties": {
                    "fabricSpecificSettings": {
                      "instanceType": "VmmToAzure"
                    },
                    "primaryFabricFriendlyName": "CP-B3L30108-01.ntdev.corp.microsoft.com",
                    "primaryNetworkFriendlyName": "corp",
                    "primaryNetworkId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06",
                    "recoveryFabricArmId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5",
                    "recoveryFabricFriendlyName": "Microsoft Azure",
                    "recoveryNetworkFriendlyName": "vnetavrai",
                    "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai",
                    "state": "Paired"
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings"
                }
              }
            }
          }
        }
      },
      "patch": {
        "description": "The operation to update an ASR network mapping.",
        "operationId": "ReplicationNetworkMappings_Update",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Primary fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Primary network name.",
            "in": "path",
            "name": "networkName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Network mapping name.",
            "in": "path",
            "name": "networkMappingName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Update network mapping input.",
            "in": "body",
            "name": "input",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UpdateNetworkMappingInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/NetworkMapping"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Updates network mapping.",
        "tags": [
          "ReplicationNetworkMappings"
        ],
        "x-ms-examples": {
          "Updates network mapping.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
              "input": {
                "properties": {
                  "fabricSpecificDetails": {
                    "instanceType": "VmmToAzure"
                  },
                  "recoveryFabricName": "Microsoft Azure",
                  "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai2"
                }
              },
              "networkMappingName": "corpe2amap",
              "networkName": "e2267b5c-2650-49bd-ab3f-d66aae694c06",
              "resourceGroupName": "srcBvte2a14C27",
              "resourceName": "srce2avaultbvtaC27",
              "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06/replicationNetworkMappings/corpe2amap",
                  "name": "corpe2amap",
                  "properties": {
                    "fabricSpecificSettings": {
                      "instanceType": "VmmToAzure"
                    },
                    "primaryFabricFriendlyName": "CP-B3L30108-01.ntdev.corp.microsoft.com",
                    "primaryNetworkFriendlyName": "corp",
                    "primaryNetworkId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06",
                    "recoveryFabricArmId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5",
                    "recoveryFabricFriendlyName": "Microsoft Azure",
                    "recoveryNetworkFriendlyName": "vnetavrai2",
                    "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai2",
                    "state": "Paired"
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      },
      "put": {
        "description": "The operation to create an ASR network mapping.",
        "operationId": "ReplicationNetworkMappings_Create",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Primary fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Primary network name.",
            "in": "path",
            "name": "networkName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Network mapping name.",
            "in": "path",
            "name": "networkMappingName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Create network mapping input.",
            "in": "body",
            "name": "input",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateNetworkMappingInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/NetworkMapping"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Creates network mapping.",
        "tags": [
          "ReplicationNetworkMappings"
        ],
        "x-ms-examples": {
          "Creates network mapping.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
              "input": {
                "properties": {
                  "fabricSpecificDetails": {
                    "instanceType": "VmmToAzure"
                  },
                  "recoveryFabricName": "Microsoft Azure",
                  "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai"
                }
              },
              "networkMappingName": "corpe2amap",
              "networkName": "e2267b5c-2650-49bd-ab3f-d66aae694c06",
              "resourceGroupName": "srcBvte2a14C27",
              "resourceName": "srce2avaultbvtaC27",
              "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06/replicationNetworkMappings/corpe2amap",
                  "name": "corpe2amap",
                  "properties": {
                    "fabricSpecificSettings": {
                      "instanceType": "VmmToAzure"
                    },
                    "primaryFabricFriendlyName": "CP-B3L30108-01.ntdev.corp.microsoft.com",
                    "primaryNetworkFriendlyName": "corp",
                    "primaryNetworkId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06",
                    "recoveryFabricArmId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5",
                    "recoveryFabricFriendlyName": "Microsoft Azure",
                    "recoveryNetworkFriendlyName": "vnetavrai",
                    "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai",
                    "state": "Paired"
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers": {
      "get": {
        "description": "Lists the protection containers in the specified fabric.",
        "operationId": "ReplicationProtectionContainers_ListByReplicationFabrics",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ProtectionContainerCollection"
            }
          }
        },
        "summary": "Gets the list of protection container for a fabric.",
        "tags": [
          "ReplicationProtectionContainers"
        ],
        "x-ms-examples": {
          "Gets the list of protection container for a fabric.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
                      "name": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
                      "properties": {
                        "fabricFriendlyName": "cloud1",
                        "fabricType": "HyperVSite",
                        "friendlyName": "cloud1",
                        "pairingStatus": "NotPaired",
                        "protectedItemCount": 0,
                        "role": ""
                      },
                      "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}": {
      "get": {
        "description": "Gets the details of a protection container.",
        "operationId": "ReplicationProtectionContainers_Get",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Protection container name.",
            "in": "path",
            "name": "protectionContainerName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ProtectionContainer"
            }
          }
        },
        "summary": "Gets the protection container details.",
        "tags": [
          "ReplicationProtectionContainers"
        ],
        "x-ms-examples": {
          "Gets the protection container details.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
                  "name": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
                  "properties": {
                    "fabricFriendlyName": "cloud1",
                    "fabricType": "HyperVSite",
                    "friendlyName": "cloud1",
                    "pairingStatus": "NotPaired",
                    "protectedItemCount": 0,
                    "role": ""
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers"
                }
              }
            }
          }
        }
      },
      "put": {
        "description": "Operation to create a protection container.",
        "operationId": "ReplicationProtectionContainers_Create",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Unique fabric ARM name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Unique protection container ARM name.",
            "in": "path",
            "name": "protectionContainerName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Creation input.",
            "in": "body",
            "name": "creationInput",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateProtectionContainerInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ProtectionContainer"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Create a protection container.",
        "tags": [
          "ReplicationProtectionContainers"
        ],
        "x-ms-examples": {
          "Create a protection container.": {
            "parameters": {
              "api-version": "2016-08-10",
              "creationInput": {
                "properties": {
                  "providerSpecificInput": [
                    {
                      "instanceType": "ReplicationProviderSpecificContainerCreationInput"
                    }
                  ]
                }
              },
              "fabricName": "cloud1",
              "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
                  "name": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
                  "properties": {
                    "fabricFriendlyName": "cloud1",
                    "fabricType": "HyperVSite",
                    "friendlyName": "cloud1",
                    "pairingStatus": "NotPaired",
                    "protectedItemCount": 0,
                    "role": ""
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/discoverProtectableItem": {
      "post": {
        "description": "The operation to a add a protectable item to a protection container(Add physical server.)",
        "operationId": "ReplicationProtectionContainers_DiscoverProtectableItem",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "The name of the fabric.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the protection container.",
            "in": "path",
            "name": "protectionContainerName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The request object to add a protectable item.",
            "in": "body",
            "name": "discoverProtectableItemRequest",
            "required": true,
            "schema": {
              "$ref": "#/definitions/DiscoverProtectableItemRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ProtectionContainer"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Adds a protectable item to the replication protection container.",
        "tags": [
          "ReplicationProtectionContainers"
        ],
        "x-ms-examples": {
          "Adds a protectable item to the replication protection container.": {
            "parameters": {
              "api-version": "2016-08-10",
              "discoverProtectableItemRequest": {
                "properties": {
                  "friendlyName": "Test",
                  "ipAddress": "10.150.2.3",
                  "osType": "Windows"
                }
              },
              "fabricName": "V2A-W2K12-660",
              "protectionContainerName": "cloud_7328549c-5c37-4459-a3c2-e35f9ef6893c",
              "resourceGroupName": "MadhaviVRG",
              "resourceName": "MadhaviVault",
              "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationProtectionContainers/cloud_7328549c-5c37-4459-a3c2-e35f9ef6893c",
                  "name": "cloud_7328549c-5c37-4459-a3c2-e35f9ef6893c",
                  "properties": {
                    "fabricFriendlyName": "V2A-W2K12-660",
                    "fabricType": "VMware",
                    "friendlyName": "V2A-W2K12-660",
                    "pairingStatus": "Paired",
                    "protectedItemCount": 2,
                    "role": "Primary"
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/remove": {
      "post": {
        "description": "Operation to remove a protection container.",
        "operationId": "ReplicationProtectionContainers_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Unique fabric ARM name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Unique protection container ARM name.",
            "in": "path",
            "name": "protectionContainerName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "NoContent"
          }
        },
        "summary": "Removes a protection container.",
        "tags": [
          "ReplicationProtectionContainers"
        ],
        "x-ms-examples": {
          "Removes a protection container.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "202": {},
              "204": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems": {
      "get": {
        "description": "Lists the protectable items in a protection container.",
        "operationId": "ReplicationProtectableItems_ListByReplicationProtectionContainers",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Protection container name.",
            "in": "path",
            "name": "protectionContainerName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ProtectableItemCollection"
            }
          }
        },
        "summary": "Gets the list of protectable items.",
        "tags": [
          "ReplicationProtectableItems"
        ],
        "x-ms-examples": {
          "Gets the list of protectable items.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "nextLink": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems?api-version=2016-08-10&%24skipToken=ReplicationGroup%3aBegin",
                  "value": [
                    {
                      "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
                      "name": "c0c14913-3d7a-48ea-9531-cc99e0e686e6",
                      "properties": {
                        "customDetails": {
                          "instanceType": "HyperVVirtualMachine"
                        },
                        "friendlyName": "vm2",
                        "protectionReadinessErrors": [],
                        "protectionStatus": "Unprotected",
                        "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
                        "supportedReplicationProviders": [
                          "HyperVReplicaAzure"
                        ]
                      },
                      "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectableItems"
                    },
                    {
                      "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                      "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
                      "properties": {
                        "customDetails": {
                          "instanceType": "HyperVVirtualMachine"
                        },
                        "friendlyName": "vm1",
                        "protectionReadinessErrors": [],
                        "protectionStatus": "Unprotected",
                        "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
                        "supportedReplicationProviders": [
                          "HyperVReplicaAzure"
                        ]
                      },
                      "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectableItems"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems/{protectableItemName}": {
      "get": {
        "description": "The operation to get the details of a protectable item.",
        "operationId": "ReplicationProtectableItems_Get",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Protection container name.",
            "in": "path",
            "name": "protectionContainerName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Protectable item name.",
            "in": "path",
            "name": "protectableItemName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ProtectableItem"
            }
          }
        },
        "summary": "Gets the details of a protectable item.",
        "tags": [
          "ReplicationProtectableItems"
        ],
        "x-ms-examples": {
          "Gets the details of a protectable item.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "protectableItemName": "c0c14913-3d7a-48ea-9531-cc99e0e686e6",
              "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
                  "name": "c0c14913-3d7a-48ea-9531-cc99e0e686e6",
                  "properties": {
                    "customDetails": {
                      "instanceType": "HyperVVirtualMachine"
                    },
                    "friendlyName": "vm2",
                    "protectionReadinessErrors": [],
                    "protectionStatus": "Unprotected",
                    "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
                    "supportedReplicationProviders": [
                      "HyperVReplicaAzure"
                    ]
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectableItems"
                }
              }
            }
          }
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems": {
      "get": {
        "description": "Gets the list of ASR replication protected items in the protection container.",
        "operationId": "ReplicationProtectedItems_ListByReplicationProtectionContainers",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Protection container name.",
            "in": "path",
            "name": "protectionContainerName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ReplicationProtectedItemCollection"
            }
          }
        },
        "summary": "Gets the list of Replication protected items.",
        "tags": [
          "ReplicationProtectedItems"
        ],
        "x-ms-examples": {
          "Gets the list of Replication protected items.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                      "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
                      "properties": {
                        "activeLocation": "Primary",
                        "allowedOperations": [
                          "PlannedFailover",
                          "UnplannedFailover",
                          "DisableProtection",
                          "TestFailover"
                        ],
                        "currentScenario": {
                          "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
                          "scenarioName": "None",
                          "startTime": "1753-01-01T01:01:01Z"
                        },
                        "friendlyName": "vm1",
                        "policyFriendlyName": "protectionprofile1",
                        "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
                        "primaryFabricFriendlyName": "cloud1",
                        "primaryProtectionContainerFriendlyName": "cloud1",
                        "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                        "protectedItemType": "HyperVVirtualMachine",
                        "protectionState": "Protected",
                        "protectionStateDescription": "Protected",
                        "providerSpecificDetails": {
                          "instanceType": "HyperVReplicaAzure"
                        },
                        "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478",
                        "recoveryFabricFriendlyName": "Microsoft Azure",
                        "recoveryFabricId": "Microsoft Azure",
                        "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
                        "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
                        "replicationHealth": "Normal",
                        "replicationHealthErrors": [],
                        "testFailoverState": "None",
                        "testFailoverStateDescription": "None"
                      },
                      "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}": {
      "delete": {
        "description": "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.",
        "operationId": "ReplicationProtectedItems_Purge",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Protection container name.",
            "in": "path",
            "name": "protectionContainerName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Replication protected item name.",
            "in": "path",
            "name": "replicatedProtectedItemName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "NoContent"
          }
        },
        "summary": "Purges protection.",
        "tags": [
          "ReplicationProtectedItems"
        ],
        "x-ms-examples": {
          "Purges protection.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
              "replicatedProtectedItemName": "c0c14913-3d7a-48ea-9531-cc99e0e686e6",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "202": {},
              "204": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "Gets the details of an ASR replication protected item.",
        "operationId": "ReplicationProtectedItems_Get",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Fabric unique name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Protection container name.",
            "in": "path",
            "name": "protectionContainerName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Replication protected item name.",
            "in": "path",
            "name": "replicatedProtectedItemName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ReplicationProtectedItem"
            }
          }
        },
        "summary": "Gets the details of a Replication protected item.",
        "tags": [
          "ReplicationProtectedItems"
        ],
        "x-ms-examples": {
          "Gets the details of a Replication protected item.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
              "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                  "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
                  "properties": {
                    "activeLocation": "Primary",
                    "allowedOperations": [
                      "PlannedFailover",
                      "UnplannedFailover",
                      "DisableProtection",
                      "TestFailover"
                    ],
                    "currentScenario": {
                      "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
                      "scenarioName": "None",
                      "startTime": "1753-01-01T01:01:01Z"
                    },
                    "friendlyName": "vm1",
                    "policyFriendlyName": "protectionprofile1",
                    "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
                    "primaryFabricFriendlyName": "cloud1",
                    "primaryProtectionContainerFriendlyName": "cloud1",
                    "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                    "protectedItemType": "HyperVVirtualMachine",
                    "protectionState": "Protected",
                    "protectionStateDescription": "Protected",
                    "providerSpecificDetails": {
                      "instanceType": "HyperVReplicaAzure"
                    },
                    "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478",
                    "recoveryFabricFriendlyName": "Microsoft Azure",
                    "recoveryFabricId": "Microsoft Azure",
                    "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
                    "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
                    "replicationHealth": "Normal",
                    "replicationHealthErrors": [],
                    "testFailoverState": "None",
                    "testFailoverStateDescription": "None"
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems"
                }
              }
            }
          }
        }
      },
      "patch": {
        "description": "The operation to update the recovery settings of an ASR replication protected item.",
        "operationId": "ReplicationProtectedItems_Update",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Protection container name.",
            "in": "path",
            "name": "protectionContainerName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Replication protected item name.",
            "in": "path",
            "name": "replicatedProtectedItemName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Update protection input.",
            "in": "body",
            "name": "updateProtectionInput",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UpdateReplicationProtectedItemInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ReplicationProtectedItem"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Updates protection.",
        "tags": [
          "ReplicationProtectedItems"
        ],
        "x-ms-examples": {
          "Updates protection.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
              "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a",
              "updateProtectionInput": {
                "properties": {
                  "licenseType": "WindowsServer",
                  "providerSpecificDetails": {
                    "instanceType": "HyperVReplicaAzure"
                  },
                  "recoveryAzureVMName": "vm1",
                  "recoveryAzureVMSize": "Basic_A0",
                  "selectedRecoveryAzureNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai",
                  "vmNics": [
                    {
                      "nicId": "TWljcm9zb2Z0OkY4NDkxRTRGLTgxN0EtNDBERC1BOTBDLUFGNzczOTc4Qzc1Qlw3NjAwMzMxRS03NDk4LTQ0QTQtQjdDNy0xQjY1NkJDREQ1MkQ=",
                      "recoveryVMSubnetName": "Subnet1",
                      "selectionType": "SelectedByUser"
                    }
                  ]
                }
              }
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                  "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
                  "properties": {
                    "activeLocation": "Primary",
                    "allowedOperations": [
                      "PlannedFailover",
                      "UnplannedFailover",
                      "DisableProtection",
                      "TestFailover"
                    ],
                    "currentScenario": {
                      "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
                      "scenarioName": "None",
                      "startTime": "1753-01-01T01:01:01Z"
                    },
                    "friendlyName": "vm1",
                    "policyFriendlyName": "protectionprofile1",
                    "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
                    "primaryFabricFriendlyName": "cloud1",
                    "primaryProtectionContainerFriendlyName": "cloud1",
                    "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                    "protectedItemType": "HyperVVirtualMachine",
                    "protectionState": "Protected",
                    "protectionStateDescription": "Protected",
                    "providerSpecificDetails": {
                      "instanceType": "HyperVReplicaAzure"
                    },
                    "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478",
                    "recoveryFabricFriendlyName": "Microsoft Azure",
                    "recoveryFabricId": "Microsoft Azure",
                    "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
                    "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
                    "replicationHealth": "Normal",
                    "replicationHealthErrors": [],
                    "testFailoverState": "None",
                    "testFailoverStateDescription": "None"
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      },
      "put": {
        "description": "The operation to create an ASR replication protected item (Enable replication).",
        "operationId": "ReplicationProtectedItems_Create",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Name of the fabric.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Protection container name.",
            "in": "path",
            "name": "protectionContainerName",
            "required": true,
            "type": "string"
          },
          {
            "description": "A name for the replication protected item.",
            "in": "path",
            "name": "replicatedProtectedItemName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Enable Protection Input.",
            "in": "body",
            "name": "input",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EnableProtectionInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ReplicationProtectedItem"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Enables protection.",
        "tags": [
          "ReplicationProtectedItems"
        ],
        "x-ms-examples": {
          "Enables protection.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "input": {
                "properties": {
                  "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
                  "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                  "providerSpecificDetails": {
                    "instanceType": "HyperVReplicaAzure"
                  }
                }
              },
              "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
              "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                  "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
                  "properties": {
                    "activeLocation": "Primary",
                    "allowedOperations": [
                      "PlannedFailover",
                      "UnplannedFailover",
                      "DisableProtection",
                      "TestFailover"
                    ],
                    "currentScenario": {
                      "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
                      "scenarioName": "None",
                      "startTime": "1753-01-01T01:01:01Z"
                    },
                    "friendlyName": "vm1",
                    "policyFriendlyName": "protectionprofile1",
                    "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
                    "primaryFabricFriendlyName": "cloud1",
                    "primaryProtectionContainerFriendlyName": "cloud1",
                    "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                    "protectedItemType": "HyperVVirtualMachine",
                    "protectionState": "Protected",
                    "protectionStateDescription": "Protected",
                    "providerSpecificDetails": {
                      "instanceType": "HyperVReplicaAzure"
                    },
                    "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478",
                    "recoveryFabricFriendlyName": "Microsoft Azure",
                    "recoveryFabricId": "Microsoft Azure",
                    "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
                    "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
                    "replicationHealth": "Normal",
                    "replicationHealthErrors": [],
                    "testFailoverState": "None",
                    "testFailoverStateDescription": "None"
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/applyRecoveryPoint": {
      "post": {
        "description": "The operation to change the recovery point of a failed over replication protected item.",
        "operationId": "ReplicationProtectedItems_ApplyRecoveryPoint",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "The ARM fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The protection container name.",
            "in": "path",
            "name": "protectionContainerName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The replicated protected item's name.",
            "in": "path",
            "name": "replicatedProtectedItemName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The ApplyRecoveryPointInput.",
            "in": "body",
            "name": "applyRecoveryPointInput",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ApplyRecoveryPointInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ReplicationProtectedItem"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Change or apply recovery point.",
        "tags": [
          "ReplicationProtectedItems"
        ],
        "x-ms-examples": {
          "Change or apply recovery point.": {
            "parameters": {
              "api-version": "2016-08-10",
              "applyRecoveryPointInput": {
                "properties": {
                  "providerSpecificDetails": {
                    "instanceType": "HyperVReplicaAzure"
                  },
                  "recoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/e4d05fe9-5dfd-47be-b50b-aad306b2802d"
                }
              },
              "fabricName": "cloud1",
              "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
              "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                  "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
                  "properties": {
                    "activeLocation": "Recovery",
                    "allowedOperations": [
                      "CompleteMigration",
                      "Commit",
                      "DisableProtection",
                      "ChangePit"
                    ],
                    "currentScenario": {
                      "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
                      "scenarioName": "None",
                      "startTime": "1753-01-01T01:01:01Z"
                    },
                    "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/e4d05fe9-5dfd-47be-b50b-aad306b2802d",
                    "friendlyName": "vm1",
                    "lastSuccessfulFailoverTime": "2017-04-26T08:42:33.0996129Z",
                    "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z",
                    "policyFriendlyName": "protectionprofile1",
                    "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
                    "primaryFabricFriendlyName": "cloud1",
                    "primaryProtectionContainerFriendlyName": "cloud1",
                    "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                    "protectedItemType": "HyperVVirtualMachine",
                    "protectionState": "UnplannedFailoverCommitPendingStatesBegin",
                    "protectionStateDescription": "Failover completed",
                    "providerSpecificDetails": {
                      "instanceType": "HyperVReplicaAzure"
                    },
                    "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478",
                    "recoveryFabricFriendlyName": "Microsoft Azure",
                    "recoveryFabricId": "Microsoft Azure",
                    "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
                    "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
                    "replicationHealth": "Critical",
                    "replicationHealthErrors": [],
                    "testFailoverState": "MarkedForDeletion",
                    "testFailoverStateDescription": "Cleaning up test environment"
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/failoverCommit": {
      "post": {
        "description": "Operation to commit the failover of the replication protected item.",
        "operationId": "ReplicationProtectedItems_FailoverCommit",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Unique fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Protection container name.",
            "in": "path",
            "name": "protectionContainerName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Replication protected item name.",
            "in": "path",
            "name": "replicatedProtectedItemName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ReplicationProtectedItem"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Execute commit failover",
        "tags": [
          "ReplicationProtectedItems"
        ],
        "x-ms-examples": {
          "Execute commit failover": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
              "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                  "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
                  "properties": {
                    "activeLocation": "Recovery",
                    "allowedOperations": [
                      "CompleteMigration",
                      "DisableProtection",
                      "Failback"
                    ],
                    "currentScenario": {
                      "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
                      "scenarioName": "None",
                      "startTime": "1753-01-01T01:01:01Z"
                    },
                    "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3",
                    "friendlyName": "vm1",
                    "lastSuccessfulFailoverTime": "2017-04-26T06:37:23.1578655Z",
                    "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z",
                    "policyFriendlyName": "protectionprofile1",
                    "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
                    "primaryFabricFriendlyName": "cloud1",
                    "primaryProtectionContainerFriendlyName": "cloud1",
                    "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                    "protectedItemType": "HyperVVirtualMachine",
                    "protectionState": "PlannedFailoverStatesBegin",
                    "protectionStateDescription": "Planned failover committed",
                    "providerSpecificDetails": {
                      "instanceType": "HyperVReplicaAzure"
                    },
                    "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478",
                    "recoveryFabricFriendlyName": "Microsoft Azure",
                    "recoveryFabricId": "Microsoft Azure",
                    "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
                    "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
                    "replicationHealth": "Normal",
                    "replicationHealthErrors": [],
                    "testFailoverState": "MarkedForDeletion",
                    "testFailoverStateDescription": "Cleaning up test environment"
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/plannedFailover": {
      "post": {
        "description": "Operation to initiate a planned failover of the replication protected item.",
        "operationId": "ReplicationProtectedItems_PlannedFailover",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Unique fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Protection container name.",
            "in": "path",
            "name": "protectionContainerName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Replication protected item name.",
            "in": "path",
            "name": "replicatedProtectedItemName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Disable protection input.",
            "in": "body",
            "name": "failoverInput",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PlannedFailoverInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ReplicationProtectedItem"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Execute planned failover",
        "tags": [
          "ReplicationProtectedItems"
        ],
        "x-ms-examples": {
          "Execute planned failover": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "failoverInput": {
                "properties": {
                  "failoverDirection": "PrimaryToRecovery",
                  "providerSpecificDetails": {
                    "instanceType": "HyperVReplicaAzure"
                  }
                }
              },
              "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
              "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                  "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
                  "properties": {
                    "activeLocation": "Recovery",
                    "allowedOperations": [
                      "CompleteMigration",
                      "Commit",
                      "DisableProtection",
                      "ChangePit"
                    ],
                    "currentScenario": {
                      "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
                      "scenarioName": "None",
                      "startTime": "1753-01-01T01:01:01Z"
                    },
                    "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3",
                    "friendlyName": "vm1",
                    "lastSuccessfulFailoverTime": "2017-04-26T06:37:23.1578655Z",
                    "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z",
                    "policyFriendlyName": "protectionprofile1",
                    "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
                    "primaryFabricFriendlyName": "cloud1",
                    "primaryProtectionContainerFriendlyName": "cloud1",
                    "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                    "protectedItemType": "HyperVVirtualMachine",
                    "protectionState": "PlannedFailoverCommitRequired",
                    "protectionStateDescription": "Planned failover finished",
                    "providerSpecificDetails": {
                      "instanceType": "HyperVReplicaAzure"
                    },
                    "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478",
                    "recoveryFabricFriendlyName": "Microsoft Azure",
                    "recoveryFabricId": "Microsoft Azure",
                    "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
                    "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
                    "replicationHealth": "Normal",
                    "replicationHealthErrors": [],
                    "testFailoverState": "MarkedForDeletion",
                    "testFailoverStateDescription": "Cleaning up test environment"
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/reProtect": {
      "post": {
        "description": "Operation to reprotect or reverse replicate a failed over replication protected item.",
        "operationId": "ReplicationProtectedItems_Reprotect",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Unique fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Protection container name.",
            "in": "path",
            "name": "protectionContainerName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Replication protected item name.",
            "in": "path",
            "name": "replicatedProtectedItemName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Disable protection input.",
            "in": "body",
            "name": "rrInput",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ReverseReplicationInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ReplicationProtectedItem"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Execute Reverse Replication\\Reprotect",
        "tags": [
          "ReplicationProtectedItems"
        ],
        "x-ms-examples": {
          "Execute Reverse Replication\\Reprotect": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
              "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "rrInput": {
                "properties": {
                  "failoverDirection": "PrimaryToRecovery",
                  "providerSpecificDetails": {
                    "instanceType": "HyperVReplicaAzure"
                  }
                }
              },
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                  "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
                  "properties": {
                    "activeLocation": "Primary",
                    "allowedOperations": [
                      "PlannedFailover",
                      "UnplannedFailover",
                      "DisableProtection",
                      "TestFailover"
                    ],
                    "currentScenario": {
                      "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
                      "scenarioName": "None",
                      "startTime": "1753-01-01T01:01:01Z"
                    },
                    "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3",
                    "friendlyName": "vm1",
                    "lastSuccessfulFailoverTime": "2017-04-26T06:37:23.1578655Z",
                    "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z",
                    "policyFriendlyName": "protectionprofile1",
                    "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
                    "primaryFabricFriendlyName": "cloud1",
                    "primaryProtectionContainerFriendlyName": "cloud1",
                    "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                    "protectedItemType": "HyperVVirtualMachine",
                    "protectionState": "Protected",
                    "protectionStateDescription": "Protected",
                    "providerSpecificDetails": {
                      "instanceType": "HyperVReplicaAzure"
                    },
                    "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478",
                    "recoveryFabricFriendlyName": "Microsoft Azure",
                    "recoveryFabricId": "Microsoft Azure",
                    "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
                    "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
                    "replicationHealth": "Normal",
                    "replicationHealthErrors": [],
                    "testFailoverState": "MarkedForDeletion",
                    "testFailoverStateDescription": "Cleaning up test environment"
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints": {
      "get": {
        "description": "Lists the available recovery points for a replication protected item.",
        "operationId": "RecoveryPoints_ListByReplicationProtectedItems",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "The fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The protection container name.",
            "in": "path",
            "name": "protectionContainerName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The replication protected item's name.",
            "in": "path",
            "name": "replicatedProtectedItemName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/RecoveryPointCollection"
            }
          }
        },
        "summary": "Get recovery points for a replication protected item.",
        "tags": [
          "RecoveryPoints"
        ],
        "x-ms-examples": {
          "Get recovery points for a replication protected item.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
              "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3",
                      "name": "b22134ea-620c-474b-9fa5-3c1cb47708e3",
                      "properties": {
                        "recoveryPointTime": "2017-04-26T06:37:50.8082715Z",
                        "recoveryPointType": "CrashConsistent"
                      },
                      "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/recoveryPoints"
                    },
                    {
                      "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/34cb2d05-e730-4d3f-b96b-a60a5e92acb2",
                      "name": "34cb2d05-e730-4d3f-b96b-a60a5e92acb2",
                      "properties": {
                        "recoveryPointTime": "2017-04-26T07:37:30.9722019Z",
                        "recoveryPointType": "CrashConsistent"
                      },
                      "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/recoveryPoints"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints/{recoveryPointName}": {
      "get": {
        "description": "Get the details of specified recovery point.",
        "operationId": "RecoveryPoints_Get",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "The fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The protection container name.",
            "in": "path",
            "name": "protectionContainerName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The replication protected item's name.",
            "in": "path",
            "name": "replicatedProtectedItemName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The recovery point name.",
            "in": "path",
            "name": "recoveryPointName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/RecoveryPoint"
            }
          }
        },
        "summary": "Get a recovery point.",
        "tags": [
          "RecoveryPoints"
        ],
        "x-ms-examples": {
          "Get a recovery point.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
              "recoveryPointName": "b22134ea-620c-474b-9fa5-3c1cb47708e3",
              "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3",
                  "name": "b22134ea-620c-474b-9fa5-3c1cb47708e3",
                  "properties": {
                    "recoveryPointTime": "2017-04-26T06:37:50.8082715Z",
                    "recoveryPointType": "CrashConsistent"
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/recoveryPoints"
                }
              }
            }
          }
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/remove": {
      "post": {
        "description": "The operation to disable replication on a replication protected item. This will also remove the item.",
        "operationId": "ReplicationProtectedItems_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Protection container name.",
            "in": "path",
            "name": "protectionContainerName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Replication protected item name.",
            "in": "path",
            "name": "replicatedProtectedItemName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Disable protection input.",
            "in": "body",
            "name": "disableProtectionInput",
            "required": true,
            "schema": {
              "$ref": "#/definitions/DisableProtectionInput"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "NoContent"
          }
        },
        "summary": "Disables protection.",
        "tags": [
          "ReplicationProtectedItems"
        ],
        "x-ms-examples": {
          "Disables protection.": {
            "parameters": {
              "api-version": "2016-08-10",
              "disableProtectionInput": {
                "properties": {
                  "replicationProviderInput": {
                    "instanceType": "DisableProtectionProviderSpecificInput"
                  }
                }
              },
              "fabricName": "cloud1",
              "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
              "replicatedProtectedItemName": "c0c14913-3d7a-48ea-9531-cc99e0e686e6",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "202": {},
              "204": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/repairReplication": {
      "post": {
        "description": "The operation to start resynchronize/repair replication for a replication protected item requiring resynchronization.",
        "operationId": "ReplicationProtectedItems_RepairReplication",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "The name of the fabric.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the container.",
            "in": "path",
            "name": "protectionContainerName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the replication protected item.",
            "in": "path",
            "name": "replicatedProtectedItemName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ReplicationProtectedItem"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Resynchronize or repair replication.",
        "tags": [
          "ReplicationProtectedItems"
        ],
        "x-ms-examples": {
          "Resynchronize or repair replication.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
              "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                  "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
                  "properties": {
                    "activeLocation": "Primary",
                    "allowedOperations": [
                      "PlannedFailover",
                      "UnplannedFailover",
                      "DisableProtection",
                      "TestFailover"
                    ],
                    "currentScenario": {
                      "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
                      "scenarioName": "None",
                      "startTime": "1753-01-01T01:01:01Z"
                    },
                    "friendlyName": "vm1",
                    "policyFriendlyName": "protectionprofile1",
                    "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
                    "primaryFabricFriendlyName": "cloud1",
                    "primaryProtectionContainerFriendlyName": "cloud1",
                    "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                    "protectedItemType": "HyperVVirtualMachine",
                    "protectionState": "Protected",
                    "protectionStateDescription": "Protected",
                    "providerSpecificDetails": {
                      "instanceType": "HyperVReplicaAzure"
                    },
                    "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478",
                    "recoveryFabricFriendlyName": "Microsoft Azure",
                    "recoveryFabricId": "Microsoft Azure",
                    "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
                    "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
                    "replicationHealth": "Normal",
                    "replicationHealthErrors": [],
                    "testFailoverState": "None",
                    "testFailoverStateDescription": "None"
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailover": {
      "post": {
        "description": "Operation to perform a test failover of the replication protected item.",
        "operationId": "ReplicationProtectedItems_TestFailover",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Unique fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Protection container name.",
            "in": "path",
            "name": "protectionContainerName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Replication protected item name.",
            "in": "path",
            "name": "replicatedProtectedItemName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Test failover input.",
            "in": "body",
            "name": "failoverInput",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TestFailoverInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ReplicationProtectedItem"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Execute test failover",
        "tags": [
          "ReplicationProtectedItems"
        ],
        "x-ms-examples": {
          "Execute test failover": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "failoverInput": {
                "properties": {
                  "failoverDirection": "PrimaryToRecovery",
                  "networkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai",
                  "networkType": "VmNetworkAsInput",
                  "providerSpecificDetails": {
                    "instanceType": "HyperVReplicaAzure"
                  },
                  "skipTestFailoverCleanup": "false"
                }
              },
              "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
              "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                  "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
                  "properties": {
                    "activeLocation": "Primary",
                    "allowedOperations": [
                      "TestFailoverCleanup"
                    ],
                    "currentScenario": {
                      "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/2838f9b4-2609-4f76-a7e9-07e6387c5e98",
                      "scenarioName": "TestFailover",
                      "startTime": "2017-04-25T09:57:57.0357829Z"
                    },
                    "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/0689d0d0-3518-4793-8c98-c26bf94526f6",
                    "friendlyName": "vm1",
                    "policyFriendlyName": "protectionprofile1",
                    "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
                    "primaryFabricFriendlyName": "cloud1",
                    "primaryProtectionContainerFriendlyName": "cloud1",
                    "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                    "protectedItemType": "HyperVVirtualMachine",
                    "protectionState": "Protected",
                    "protectionStateDescription": "Cleanup test failover pending",
                    "providerSpecificDetails": {
                      "instanceType": "HyperVReplicaAzure"
                    },
                    "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478",
                    "recoveryFabricFriendlyName": "Microsoft Azure",
                    "recoveryFabricId": "Microsoft Azure",
                    "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
                    "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
                    "replicationHealth": "Normal",
                    "replicationHealthErrors": [],
                    "testFailoverState": "WaitingForCompletion",
                    "testFailoverStateDescription": "Waiting for user input"
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailoverCleanup": {
      "post": {
        "description": "Operation to clean up the test failover of a replication protected item.",
        "operationId": "ReplicationProtectedItems_TestFailoverCleanup",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Unique fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Protection container name.",
            "in": "path",
            "name": "protectionContainerName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Replication protected item name.",
            "in": "path",
            "name": "replicatedProtectedItemName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Test failover cleanup input.",
            "in": "body",
            "name": "cleanupInput",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TestFailoverCleanupInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ReplicationProtectedItem"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Execute test failover cleanup.",
        "tags": [
          "ReplicationProtectedItems"
        ],
        "x-ms-examples": {
          "Execute test failover cleanup.": {
            "parameters": {
              "api-version": "2016-08-10",
              "cleanupInput": {
                "properties": {
                  "comments": "Test Failover Cleanup"
                }
              },
              "fabricName": "cloud1",
              "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
              "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                  "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
                  "properties": {
                    "activeLocation": "Primary",
                    "allowedOperations": [
                      "PlannedFailover",
                      "UnplannedFailover",
                      "DisableProtection",
                      "TestFailover"
                    ],
                    "currentScenario": {
                      "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
                      "scenarioName": "None",
                      "startTime": "1753-01-01T01:01:01Z"
                    },
                    "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3",
                    "friendlyName": "vm1",
                    "lastSuccessfulFailoverTime": "2017-04-26T06:37:23.1578655Z",
                    "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z",
                    "policyFriendlyName": "protectionprofile1",
                    "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
                    "primaryFabricFriendlyName": "cloud1",
                    "primaryProtectionContainerFriendlyName": "cloud1",
                    "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                    "protectedItemType": "HyperVVirtualMachine",
                    "protectionState": "Protected",
                    "protectionStateDescription": "Protected",
                    "providerSpecificDetails": {
                      "instanceType": "HyperVReplicaAzure"
                    },
                    "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478",
                    "recoveryFabricFriendlyName": "Microsoft Azure",
                    "recoveryFabricId": "Microsoft Azure",
                    "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
                    "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
                    "replicationHealth": "Normal",
                    "replicationHealthErrors": [],
                    "testFailoverState": "MarkedForDeletion",
                    "testFailoverStateDescription": "Cleaning up test environment"
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/unplannedFailover": {
      "post": {
        "description": "Operation to initiate a failover of the replication protected item.",
        "operationId": "ReplicationProtectedItems_UnplannedFailover",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Unique fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Protection container name.",
            "in": "path",
            "name": "protectionContainerName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Replication protected item name.",
            "in": "path",
            "name": "replicatedProtectedItemName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Disable protection input.",
            "in": "body",
            "name": "failoverInput",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UnplannedFailoverInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ReplicationProtectedItem"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Execute unplanned failover",
        "tags": [
          "ReplicationProtectedItems"
        ],
        "x-ms-examples": {
          "Execute unplanned failover": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "failoverInput": {
                "properties": {
                  "failoverDirection": "PrimaryToRecovery",
                  "providerSpecificDetails": {
                    "instanceType": "HyperVReplicaAzure"
                  },
                  "sourceSiteOperations": "NotRequired"
                }
              },
              "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
              "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                  "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
                  "properties": {
                    "activeLocation": "Recovery",
                    "allowedOperations": [
                      "CompleteMigration",
                      "Commit",
                      "DisableProtection",
                      "ChangePit"
                    ],
                    "currentScenario": {
                      "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
                      "scenarioName": "None",
                      "startTime": "1753-01-01T01:01:01Z"
                    },
                    "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b2c7b208-0999-40a4-804f-8ee1019c8f76",
                    "friendlyName": "vm1",
                    "lastSuccessfulFailoverTime": "2017-04-26T08:42:33.0996129Z",
                    "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z",
                    "policyFriendlyName": "protectionprofile1",
                    "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
                    "primaryFabricFriendlyName": "cloud1",
                    "primaryProtectionContainerFriendlyName": "cloud1",
                    "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                    "protectedItemType": "HyperVVirtualMachine",
                    "protectionState": "UnplannedFailoverCommitPendingStatesBegin",
                    "protectionStateDescription": "Failover completed",
                    "providerSpecificDetails": {
                      "instanceType": "HyperVReplicaAzure"
                    },
                    "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478",
                    "recoveryFabricFriendlyName": "Microsoft Azure",
                    "recoveryFabricId": "Microsoft Azure",
                    "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
                    "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
                    "replicationHealth": "Normal",
                    "replicationHealthErrors": [],
                    "testFailoverState": "MarkedForDeletion",
                    "testFailoverStateDescription": "Cleaning up test environment"
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicationProtectedItemName}/updateMobilityService": {
      "post": {
        "description": "The operation to update(push update) the installed mobility service software on a replication protected item to the latest available version.",
        "operationId": "ReplicationProtectedItems_UpdateMobilityService",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "The name of the fabric containing the protected item.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the container containing the protected item.",
            "in": "path",
            "name": "protectionContainerName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the protected item on which the agent is to be updated.",
            "in": "path",
            "name": "replicationProtectedItemName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Request to update the mobility service on the protected item.",
            "in": "body",
            "name": "updateMobilityServiceRequest",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UpdateMobilityServiceRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ReplicationProtectedItem"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Update the mobility service on a protected item.",
        "tags": [
          "ReplicationProtectedItems"
        ],
        "x-ms-examples": {
          "Update the mobility service on a protected item.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "WIN-JKKJ31QI8U2",
              "protectionContainerName": "cloud_c6780228-83bd-4f3e-a70e-cb46b7da33a0",
              "replicationProtectedItemName": "79dd20ab-2b40-11e7-9791-0050568f387e",
              "resourceGroupName": "wcusValidations",
              "resourceName": "WCUSVault",
              "subscriptionId": "b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c",
              "updateMobilityServiceRequest": {
                "properties": {
                  "runAsAccountId": "2"
                }
              }
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationFabrics/d70b0326a201008a953505ef271dc908e5e23468bc7356862ea178696f5f15c7/replicationProtectionContainers/cloud_c6780228-83bd-4f3e-a70e-cb46b7da33a0/replicationProtectedItems/79dd20ab-2b40-11e7-9791-0050568f387e",
                  "name": "79dd20ab-2b40-11e7-9791-0050568f387e",
                  "properties": {
                    "activeLocation": "Primary",
                    "allowedOperations": [
                      "UnplannedFailover",
                      "DisableProtection",
                      "TestFailover"
                    ],
                    "currentScenario": {
                      "jobId": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationJobs/None",
                      "scenarioName": "None",
                      "startTime": "1753-01-01T01:01:01Z"
                    },
                    "friendlyName": "MMR-LIN-V2A-3",
                    "policyFriendlyName": "MadhaviPolicyNew",
                    "policyId": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationPolicies/MadhaviPolicyNew",
                    "primaryFabricFriendlyName": "WIN-JKKJ31QI8U2",
                    "primaryProtectionContainerFriendlyName": "WIN-JKKJ31QI8U2",
                    "protectableItemId": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationFabrics/d70b0326a201008a953505ef271dc908e5e23468bc7356862ea178696f5f15c7/replicationProtectionContainers/cloud_c6780228-83bd-4f3e-a70e-cb46b7da33a0/replicationProtectableItems/79dd20ab-2b40-11e7-9791-0050568f387e",
                    "protectedItemType": "",
                    "protectionState": "Protected",
                    "protectionStateDescription": "Protected",
                    "providerSpecificDetails": {
                      "instanceType": "InMageAzureV2"
                    },
                    "recoveryContainerId": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478",
                    "recoveryFabricFriendlyName": "Microsoft Azure",
                    "recoveryFabricId": "Microsoft Azure",
                    "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
                    "recoveryServicesProviderId": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationFabrics/d70b0326a201008a953505ef271dc908e5e23468bc7356862ea178696f5f15c7/replicationRecoveryServicesProviders/c6780228-83bd-4f3e-a70e-cb46b7da33a0",
                    "replicationHealth": "Normal",
                    "replicationHealthErrors": [],
                    "testFailoverState": "None",
                    "testFailoverStateDescription": "None"
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings": {
      "get": {
        "description": "Lists the protection container mappings for a protection container.",
        "operationId": "ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Protection container name.",
            "in": "path",
            "name": "protectionContainerName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ProtectionContainerMappingCollection"
            }
          }
        },
        "summary": "Gets the list of protection container mappings for a protection container.",
        "tags": [
          "ReplicationProtectionContainerMappings"
        ],
        "x-ms-examples": {
          "Gets the list of protection container mappings for a protection container.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectionContainerMappings/cloud1protectionprofile1",
                      "name": "cloud1protectionprofile1",
                      "properties": {
                        "health": "Normal",
                        "healthErrorDetails": [],
                        "policyFriendlyName": "protectionprofile1",
                        "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
                        "sourceFabricFriendlyName": "cloud1",
                        "sourceProtectionContainerFriendlyName": "cloud1",
                        "state": "Paired",
                        "targetFabricFriendlyName": "Microsoft Azure",
                        "targetProtectionContainerFriendlyName": "Microsoft Azure",
                        "targetProtectionContainerId": "Microsoft Azure"
                      },
                      "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}": {
      "delete": {
        "description": "The operation to purge(force delete) a protection container mapping",
        "operationId": "ReplicationProtectionContainerMappings_Purge",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Protection container name.",
            "in": "path",
            "name": "protectionContainerName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Protection container mapping name.",
            "in": "path",
            "name": "mappingName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "NoContent"
          }
        },
        "summary": "Purge protection container mapping.",
        "tags": [
          "ReplicationProtectionContainerMappings"
        ],
        "x-ms-examples": {
          "Purge protection container mapping.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "mappingName": "cloud1protectionprofile1",
              "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "202": {},
              "204": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "Gets the details of a protection container mapping.",
        "operationId": "ReplicationProtectionContainerMappings_Get",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Protection container name.",
            "in": "path",
            "name": "protectionContainerName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Protection Container mapping name.",
            "in": "path",
            "name": "mappingName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ProtectionContainerMapping"
            }
          }
        },
        "summary": "Gets a protection container mapping/",
        "tags": [
          "ReplicationProtectionContainerMappings"
        ],
        "x-ms-examples": {
          "Gets a protection container mapping/": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "mappingName": "cloud1protectionprofile1",
              "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectionContainerMappings/cloud1protectionprofile1",
                  "name": "cloud1protectionprofile1",
                  "properties": {
                    "health": "Normal",
                    "healthErrorDetails": [],
                    "policyFriendlyName": "protectionprofile1",
                    "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
                    "sourceFabricFriendlyName": "cloud1",
                    "sourceProtectionContainerFriendlyName": "cloud1",
                    "state": "Paired",
                    "targetFabricFriendlyName": "Microsoft Azure",
                    "targetProtectionContainerFriendlyName": "Microsoft Azure",
                    "targetProtectionContainerId": "Microsoft Azure"
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings"
                }
              }
            }
          }
        }
      },
      "put": {
        "description": "The operation to create a protection container mapping.",
        "operationId": "ReplicationProtectionContainerMappings_Create",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Protection container name.",
            "in": "path",
            "name": "protectionContainerName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Protection container mapping name.",
            "in": "path",
            "name": "mappingName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Mapping creation input.",
            "in": "body",
            "name": "creationInput",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateProtectionContainerMappingInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ProtectionContainerMapping"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Create protection container mapping.",
        "tags": [
          "ReplicationProtectionContainerMappings"
        ],
        "x-ms-examples": {
          "Create protection container mapping.": {
            "parameters": {
              "api-version": "2016-08-10",
              "creationInput": {
                "properties": {
                  "PolicyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
                  "providerSpecificInput": {},
                  "targetProtectionContainerId": "Microsoft Azure"
                }
              },
              "fabricName": "cloud1",
              "mappingName": "cloud1protectionprofile1",
              "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectionContainerMappings/cloud1protectionprofile1",
                  "name": "cloud1protectionprofile1",
                  "properties": {
                    "health": "Normal",
                    "healthErrorDetails": [],
                    "policyFriendlyName": "protectionprofile1",
                    "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
                    "sourceFabricFriendlyName": "cloud1",
                    "sourceProtectionContainerFriendlyName": "cloud1",
                    "state": "Paired",
                    "targetFabricFriendlyName": "Microsoft Azure",
                    "targetProtectionContainerFriendlyName": "Microsoft Azure",
                    "targetProtectionContainerId": "Microsoft Azure"
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}/remove": {
      "post": {
        "description": "The operation to delete or remove a protection container mapping.",
        "operationId": "ReplicationProtectionContainerMappings_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Protection container name.",
            "in": "path",
            "name": "protectionContainerName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Protection container mapping name.",
            "in": "path",
            "name": "mappingName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Removal input.",
            "in": "body",
            "name": "removalInput",
            "required": true,
            "schema": {
              "$ref": "#/definitions/RemoveProtectionContainerMappingInput"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "NoContent"
          }
        },
        "summary": "Remove protection container mapping.",
        "tags": [
          "ReplicationProtectionContainerMappings"
        ],
        "x-ms-examples": {
          "Remove protection container mapping.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "mappingName": "cloud1protectionprofile1",
              "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
              "removalInput": {
                "properties": {
                  "providerSpecificInput": {}
                }
              },
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "202": {},
              "204": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/switchprotection": {
      "post": {
        "description": "Operation to switch protection from one container to another or one replication provider to another.",
        "operationId": "ReplicationProtectionContainers_SwitchProtection",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Unique fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Protection container name.",
            "in": "path",
            "name": "protectionContainerName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Switch protection input.",
            "in": "body",
            "name": "switchInput",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SwitchProtectionInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ProtectionContainer"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Switches protection from one container to another or one replication provider to another.",
        "tags": [
          "ReplicationProtectionContainers"
        ],
        "x-ms-examples": {
          "Switches protection from one container to another or one replication provider to another.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "CentralUSCanSite",
              "protectionContainerName": "CentralUSCancloud",
              "resourceGroupName": "priyanprg",
              "resourceName": "priyanponeboxvault",
              "subscriptionId": "42195872-7e70-4f8a-837f-84b28ecbb78b",
              "switchInput": {
                "properties": {
                  "providerSpecificDetails": {
                    "instanceType": "A2A"
                  },
                  "replicationProtectedItemName": "a2aSwapOsVm"
                }
              }
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/42195872-7e70-4f8a-837f-84b28ecbb78b/resourceGroups/priyanprg/providers/Microsoft.RecoveryServices/vaults/priyanponeboxvault/replicationFabrics/EUSCanSite/replicationProtectionContainers/euscancloud",
                  "name": "euscancloud",
                  "properties": {
                    "fabricFriendlyName": "East US 2 EUAP",
                    "fabricType": "Azure",
                    "friendlyName": "euscancloud",
                    "pairingStatus": "Paired",
                    "protectedItemCount": 0,
                    "role": "Primary"
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders": {
      "get": {
        "description": "Lists the registered recovery services providers for the specified fabric.",
        "operationId": "ReplicationRecoveryServicesProviders_ListByReplicationFabrics",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Fabric name",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/RecoveryServicesProviderCollection"
            }
          }
        },
        "summary": "Gets the list of registered recovery services providers for the fabric.",
        "tags": [
          "ReplicationRecoveryServicesProviders"
        ],
        "x-ms-examples": {
          "Gets the list of registered recovery services providers for the fabric.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
                      "name": "241641e6-ee7b-4ee4-8141-821fadda43fa",
                      "properties": {
                        "allowedScenarios": [
                          "Refresh"
                        ],
                        "connectionStatus": "Connected",
                        "fabricFriendlyName": "cloud1",
                        "fabricType": "HyperVSite",
                        "friendlyName": "CP-B3L40406-12.ntdev.corp.microsoft.com",
                        "lastHeartBeat": "2017-04-27T09:06:38.2728455Z",
                        "protectedItemCount": 2,
                        "providerVersion": "5.1.2250.0",
                        "providerVersionState": "Latest",
                        "serverVersion": "3.2.7510.0"
                      },
                      "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}": {
      "delete": {
        "description": "The operation to purge(force delete) a recovery services provider from the vault.",
        "operationId": "ReplicationRecoveryServicesProviders_Purge",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Recovery services provider name.",
            "in": "path",
            "name": "providerName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "NoContent"
          }
        },
        "summary": "Purges recovery service provider from fabric",
        "tags": [
          "ReplicationRecoveryServicesProviders"
        ],
        "x-ms-examples": {
          "Purges recovery service provider from fabric": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "providerName": "241641e6-ee7b-4ee4-8141-821fadda43fa",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "202": {},
              "204": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "Gets the details of registered recovery services provider.",
        "operationId": "ReplicationRecoveryServicesProviders_Get",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Recovery services provider name",
            "in": "path",
            "name": "providerName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/RecoveryServicesProvider"
            }
          }
        },
        "summary": "Gets the details of a recovery services provider.",
        "tags": [
          "ReplicationRecoveryServicesProviders"
        ],
        "x-ms-examples": {
          "Gets the details of a recovery services provider.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "providerName": "241641e6-ee7b-4ee4-8141-821fadda43fa",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
                  "name": "241641e6-ee7b-4ee4-8141-821fadda43fa",
                  "properties": {
                    "allowedScenarios": [
                      "Refresh"
                    ],
                    "connectionStatus": "Connected",
                    "fabricFriendlyName": "cloud1",
                    "fabricType": "HyperVSite",
                    "friendlyName": "CP-B3L40406-12.ntdev.corp.microsoft.com",
                    "lastHeartBeat": "2017-04-27T09:16:04.9405768Z",
                    "protectedItemCount": 2,
                    "providerVersion": "5.1.2250.0",
                    "providerVersionState": "Latest",
                    "serverVersion": "3.2.7510.0"
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders"
                }
              }
            }
          }
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/refreshProvider": {
      "post": {
        "description": "The operation to refresh the information from the recovery services provider.",
        "operationId": "ReplicationRecoveryServicesProviders_RefreshProvider",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Recovery services provider name.",
            "in": "path",
            "name": "providerName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/RecoveryServicesProvider"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Refresh details from the recovery services provider.",
        "tags": [
          "ReplicationRecoveryServicesProviders"
        ],
        "x-ms-examples": {
          "Refresh details from the recovery services provider.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "providerName": "241641e6-ee7b-4ee4-8141-821fadda43fa",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
                  "name": "241641e6-ee7b-4ee4-8141-821fadda43fa",
                  "properties": {
                    "allowedScenarios": [
                      "Refresh"
                    ],
                    "connectionStatus": "Connected",
                    "fabricFriendlyName": "cloud1",
                    "fabricType": "HyperVSite",
                    "friendlyName": "CP-B3L40406-12.ntdev.corp.microsoft.com",
                    "lastHeartBeat": "2017-04-27T09:48:36.6528303Z",
                    "protectedItemCount": 2,
                    "providerVersion": "5.1.2250.0",
                    "providerVersionState": "Latest",
                    "serverVersion": "3.2.7510.0"
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/remove": {
      "post": {
        "description": "The operation to removes/delete(unregister) a recovery services provider from the vault",
        "operationId": "ReplicationRecoveryServicesProviders_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Recovery services provider name.",
            "in": "path",
            "name": "providerName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "NoContent"
          }
        },
        "summary": "Deletes provider from fabric. Note: Deleting provider for any fabric other than SingleHost is unsupported. To maintain backward compatibility for released clients the object \"deleteRspInput\" is used (if the object is empty we assume that it is old client and continue the old behavior).",
        "tags": [
          "ReplicationRecoveryServicesProviders"
        ],
        "x-ms-examples": {
          "Deletes provider from fabric. Note: Deleting provider for any fabric other than SingleHost is unsupported. To maintain backward compatibility for released clients the object \"deleteRspInput\" is used (if the object is empty we assume that it is old client and continue the old behavior).": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "cloud1",
              "providerName": "241641e6-ee7b-4ee4-8141-821fadda43fa",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "202": {},
              "204": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications": {
      "get": {
        "description": "Lists the storage classifications available in the specified fabric.",
        "operationId": "ReplicationStorageClassifications_ListByReplicationFabrics",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Site name of interest.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/StorageClassificationCollection"
            }
          }
        },
        "summary": "Gets the list of storage classification objects under a fabric.",
        "tags": [
          "ReplicationStorageClassifications"
        ],
        "x-ms-examples": {
          "Gets the list of storage classification objects under a fabric.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09",
                      "name": "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
                      "properties": {
                        "friendlyName": "testStorageClassification"
                      },
                      "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}": {
      "get": {
        "description": "Gets the details of the specified storage classification.",
        "operationId": "ReplicationStorageClassifications_Get",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Storage classification name.",
            "in": "path",
            "name": "storageClassificationName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/StorageClassification"
            }
          }
        },
        "summary": "Gets the details of a storage classification.",
        "tags": [
          "ReplicationStorageClassifications"
        ],
        "x-ms-examples": {
          "Gets the details of a storage classification.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "storageClassificationName": "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
              "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09",
                  "name": "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
                  "properties": {
                    "friendlyName": "testStorageClassification"
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications"
                }
              }
            }
          }
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings": {
      "get": {
        "description": "Lists the storage classification mappings for the fabric.",
        "operationId": "ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Storage classification name.",
            "in": "path",
            "name": "storageClassificationName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/StorageClassificationMappingCollection"
            }
          }
        },
        "summary": "Gets the list of storage classification mappings objects under a storage.",
        "tags": [
          "ReplicationStorageClassificationMappings"
        ],
        "x-ms-examples": {
          "Gets the list of storage classification mappings objects under a storage.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "storageClassificationName": "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
              "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09/replicationStorageClassificationMappings/testStorageMapping",
                      "name": "testStorageMapping",
                      "properties": {
                        "targetStorageClassificationId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09"
                      },
                      "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings/{storageClassificationMappingName}": {
      "delete": {
        "description": "The operation to delete a storage classification mapping.",
        "operationId": "ReplicationStorageClassificationMappings_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Storage classification name.",
            "in": "path",
            "name": "storageClassificationName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Storage classification mapping name.",
            "in": "path",
            "name": "storageClassificationMappingName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "NoContent"
          }
        },
        "summary": "Delete a storage classification mapping.",
        "tags": [
          "ReplicationStorageClassificationMappings"
        ],
        "x-ms-examples": {
          "Delete a storage classification mapping.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "storageClassificationMappingName": "testStorageMapping",
              "storageClassificationName": "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
              "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
            },
            "responses": {
              "202": {},
              "204": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "Gets the details of the specified storage classification mapping.",
        "operationId": "ReplicationStorageClassificationMappings_Get",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Storage classification name.",
            "in": "path",
            "name": "storageClassificationName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Storage classification mapping name.",
            "in": "path",
            "name": "storageClassificationMappingName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/StorageClassificationMapping"
            }
          }
        },
        "summary": "Gets the details of a storage classification mapping.",
        "tags": [
          "ReplicationStorageClassificationMappings"
        ],
        "x-ms-examples": {
          "Gets the details of a storage classification mapping.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "storageClassificationMappingName": "testStorageMapping",
              "storageClassificationName": "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
              "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09/replicationStorageClassificationMappings/testStorageMapping",
                  "name": "testStorageMapping",
                  "properties": {
                    "targetStorageClassificationId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09"
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings"
                }
              }
            }
          }
        }
      },
      "put": {
        "description": "The operation to create a storage classification mapping.",
        "operationId": "ReplicationStorageClassificationMappings_Create",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Storage classification name.",
            "in": "path",
            "name": "storageClassificationName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Storage classification mapping name.",
            "in": "path",
            "name": "storageClassificationMappingName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Pairing input.",
            "in": "body",
            "name": "pairingInput",
            "required": true,
            "schema": {
              "$ref": "#/definitions/StorageClassificationMappingInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/StorageClassificationMapping"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Create storage classification mapping.",
        "tags": [
          "ReplicationStorageClassificationMappings"
        ],
        "x-ms-examples": {
          "Create storage classification mapping.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0",
              "pairingInput": {
                "properties": {
                  "targetStorageClassificationId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09"
                }
              },
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "storageClassificationMappingName": "testStorageMapping",
              "storageClassificationName": "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
              "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09/replicationStorageClassificationMappings/testStorageMapping",
                  "name": "testStorageMapping",
                  "properties": {
                    "targetStorageClassificationId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09"
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters": {
      "get": {
        "description": "Lists the vCenter servers registered in a fabric.",
        "operationId": "ReplicationvCenters_ListByReplicationFabrics",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/VCenterCollection"
            }
          }
        },
        "summary": "Gets the list of vCenter registered under a fabric.",
        "tags": [
          "ReplicationvCenters"
        ],
        "x-ms-examples": {
          "Gets the list of vCenter registered under a fabric.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "MadhaviFabric",
              "resourceGroupName": "MadhaviVRG",
              "resourceName": "MadhaviVault",
              "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationvCenters/esx-78",
                      "name": "esx-78",
                      "properties": {
                        "discoveryStatus": "Pending",
                        "fabricArmResourceName": "239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d",
                        "friendlyName": "esx-78",
                        "internalId": "inmtest78",
                        "ipAddress": "inmtest78",
                        "port": "443",
                        "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5",
                        "runAsAccountId": "2"
                      },
                      "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters/{vCenterName}": {
      "delete": {
        "description": "The operation to remove(unregister) a registered vCenter server from the vault.",
        "operationId": "ReplicationvCenters_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "vCenter name.",
            "in": "path",
            "name": "vCenterName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "NoContent"
          }
        },
        "summary": "Remove vCenter operation.",
        "tags": [
          "ReplicationvCenters"
        ],
        "x-ms-examples": {
          "Remove vCenter operation.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "MadhaviFabric",
              "resourceGroupName": "MadhaviVRG",
              "resourceName": "MadhaviVault",
              "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574",
              "vCenterName": "esx-78"
            },
            "responses": {
              "202": {},
              "204": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "Gets the details of a registered vCenter server(Add vCenter server.)",
        "operationId": "ReplicationvCenters_Get",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "vCenter name.",
            "in": "path",
            "name": "vCenterName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/VCenter"
            }
          }
        },
        "summary": "Gets the details of a vCenter.",
        "tags": [
          "ReplicationvCenters"
        ],
        "x-ms-examples": {
          "Gets the details of a vCenter.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "MadhaviFabric",
              "resourceGroupName": "MadhaviVRG",
              "resourceName": "MadhaviVault",
              "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574",
              "vCenterName": "esx-78"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationvCenters/esx-78",
                  "name": "esx-78",
                  "properties": {
                    "discoveryStatus": "Pending",
                    "fabricArmResourceName": "239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d",
                    "friendlyName": "esx-78",
                    "internalId": "inmtest78",
                    "ipAddress": "inmtest78",
                    "port": "443",
                    "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5",
                    "runAsAccountId": "2"
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters"
                }
              }
            }
          }
        }
      },
      "patch": {
        "description": "The operation to update a registered vCenter.",
        "operationId": "ReplicationvCenters_Update",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "vCenter name",
            "in": "path",
            "name": "vCenterName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The input to the update vCenter operation.",
            "in": "body",
            "name": "updateVCenterRequest",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UpdateVCenterRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/VCenter"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Update vCenter operation.",
        "tags": [
          "ReplicationvCenters"
        ],
        "x-ms-examples": {
          "Update vCenter operation.": {
            "parameters": {
              "api-version": "2016-08-10",
              "fabricName": "MadhaviFabric",
              "resourceGroupName": "MadhaviVRG",
              "resourceName": "MadhaviVault",
              "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574",
              "updateVCenterRequest": {
                "properties": {
                  "ipAddress": "10.150.109.25"
                }
              },
              "vCenterName": "esx-78"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationvCenters/esx-78",
                  "name": "esx-78",
                  "properties": {
                    "discoveryStatus": "Pending",
                    "fabricArmResourceName": "239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d",
                    "friendlyName": "esx-78",
                    "internalId": "inmtest78",
                    "ipAddress": "10.150.109.25",
                    "port": "443",
                    "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5",
                    "runAsAccountId": "2"
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      },
      "put": {
        "description": "The operation to create a vCenter object..",
        "operationId": "ReplicationvCenters_Create",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Fabric name.",
            "in": "path",
            "name": "fabricName",
            "required": true,
            "type": "string"
          },
          {
            "description": "vCenter name.",
            "in": "path",
            "name": "vCenterName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The input to the add vCenter operation.",
            "in": "body",
            "name": "addVCenterRequest",
            "required": true,
            "schema": {
              "$ref": "#/definitions/AddVCenterRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/VCenter"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Add vCenter.",
        "tags": [
          "ReplicationvCenters"
        ],
        "x-ms-examples": {
          "Add vCenter.": {
            "parameters": {
              "addVCenterRequest": {
                "properties": {
                  "friendlyName": "esx-78",
                  "ipAddress": "inmtest78",
                  "port": "443",
                  "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5",
                  "runAsAccountId": "2"
                }
              },
              "api-version": "2016-08-10",
              "fabricName": "MadhaviFabric",
              "resourceGroupName": "MadhaviVRG",
              "resourceName": "MadhaviVault",
              "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574",
              "vCenterName": "esx-78"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationvCenters/esx-78",
                  "name": "esx-78",
                  "properties": {
                    "discoveryStatus": "Pending",
                    "fabricArmResourceName": "239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d",
                    "friendlyName": "esx-78",
                    "internalId": "inmtest78",
                    "ipAddress": "inmtest78",
                    "port": "443",
                    "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5",
                    "runAsAccountId": "2"
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs": {
      "get": {
        "description": "Gets the list of Azure Site Recovery Jobs for the vault.",
        "operationId": "ReplicationJobs_List",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "OData filter options.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/JobCollection"
            }
          }
        },
        "summary": "Gets the list of jobs.",
        "tags": [
          "ReplicationJobs"
        ],
        "x-ms-examples": {
          "Gets the list of jobs.": {
            "parameters": {
              "api-version": "2016-08-10",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "endTime": "2017-04-27T12:46:11Z",
                      "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/1557d73f-6244-491e-8f0b-d300f752240b",
                      "name": "1557d73f-6244-491e-8f0b-d300f752240b",
                      "properties": {
                        "allowedActions": [],
                        "endTime": "2017-04-27T12:46:11Z",
                        "errors": [],
                        "friendlyName": "Create replication policy",
                        "scenarioName": "AddProtectionProfile",
                        "startTime": "2017-04-27T12:46:04.641851Z",
                        "state": "Succeeded",
                        "stateDescription": "Completed",
                        "targetInstanceType": "ProtectionProfile",
                        "targetObjectId": "af095a1e-1f1b-5365-87c9-99162ebcfaf0",
                        "targetObjectName": "protectionprofile1",
                        "tasks": []
                      },
                      "startTime": "2017-04-27T12:46:04.641851Z",
                      "status": "Succeeded"
                    },
                    {
                      "endTime": "2017-05-02T14:07:21Z",
                      "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/0236416a-7573-4913-a4a1-6a286fbb1ceb",
                      "name": "0236416a-7573-4913-a4a1-6a286fbb1ceb",
                      "properties": {
                        "allowedActions": [],
                        "endTime": "2017-05-02T14:07:21Z",
                        "errors": [],
                        "friendlyName": "Register the Azure Site Recovery Provider",
                        "scenarioName": "RegisterDra",
                        "startTime": "2017-05-02T14:07:19.2784338Z",
                        "state": "Succeeded",
                        "stateDescription": "Completed",
                        "targetInstanceType": "Server",
                        "targetObjectId": "6d224fc6-f326-5d35-96de-fbf51efb3179",
                        "targetObjectName": "CP-B3L40406-12.ntdev.corp.microsoft.com",
                        "tasks": []
                      },
                      "startTime": "2017-05-02T14:07:19.2784338Z",
                      "status": "Succeeded"
                    },
                    {
                      "endTime": "2017-05-02T05:56:16Z",
                      "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/2438d560-80f0-420b-839e-5c8ee0af90a1",
                      "name": "2438d560-80f0-420b-839e-5c8ee0af90a1",
                      "properties": {
                        "allowedActions": [],
                        "endTime": "2017-05-02T05:56:16Z",
                        "errors": [],
                        "friendlyName": "Create a site",
                        "scenarioName": "CreateSite",
                        "startTime": "2017-05-02T05:56:14.569095Z",
                        "state": "Succeeded",
                        "stateDescription": "Completed",
                        "targetInstanceType": "Server",
                        "targetObjectId": "6d224fc6-f326-5d35-96de-fbf51efb3179",
                        "targetObjectName": "cloud1",
                        "tasks": []
                      },
                      "startTime": "2017-05-02T05:56:14.569095Z",
                      "status": "Succeeded"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-odata": "#/definitions/JobQueryParameter",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/export": {
      "post": {
        "description": "The operation to export the details of the Azure Site Recovery jobs of the vault.",
        "operationId": "ReplicationJobs_Export",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "job query filter.",
            "in": "body",
            "name": "jobQueryParameter",
            "required": true,
            "schema": {
              "$ref": "#/definitions/JobQueryParameter"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Job"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Exports the details of the Azure Site Recovery jobs of the vault.",
        "tags": [
          "ReplicationJobs"
        ],
        "x-ms-examples": {
          "Exports the details of the Azure Site Recovery jobs of the vault.": {
            "parameters": {
              "api-version": "2016-08-10",
              "jobQueryParameter": {
                "affectedObjectTypes": [],
                "endTime": "2017-05-04T14:26:51.9161395Z",
                "jobStatus": [],
                "startTime": "2017-04-27T14:26:51.9161395Z"
              },
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "endTime": "2017-05-04T14:33:43Z",
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/37e0fc2b-13f2-4817-aafa-0cd807d46842",
                  "name": "37e0fc2b-13f2-4817-aafa-0cd807d46842",
                  "properties": {
                    "activityId": "36841d27-34f6-49ad-b572-e7dc263f100b-2017-05-04 14:26:47Z-Ibz ActivityId: c124df21-7661-4541-b32a-3c723ebbb045",
                    "allowedActions": [],
                    "customDetails": {
                      "affectedObjectDetails": {},
                      "blobUri": "https://seapod01srs1pspk73202.blob.core.windows.net/datacontainer/Export_37e0fc2b-13f2-4817-aafa-0cd807d46842",
                      "instanceType": "ExportJobDetails",
                      "sasToken": "?sv=2015-12-11&sr=c&si=mypolicy&sig=5Z1RyYLS8nT%2BBSdEpVOmqU8GFxkPGQFqYBoYEfj6OJQ%3D"
                    },
                    "endTime": "2017-05-04T14:33:43Z",
                    "errors": [],
                    "scenarioName": "ExportJobs",
                    "startTime": "2017-05-04T14:33:42.2765562Z",
                    "state": "Succeeded",
                    "stateDescription": "Completed",
                    "targetInstanceType": "Other",
                    "targetObjectId": "",
                    "targetObjectName": "",
                    "tasks": []
                  },
                  "startTime": "2017-05-04T14:33:42.2765562Z",
                  "status": "Succeeded"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}": {
      "get": {
        "description": "Get the details of an Azure Site Recovery job.",
        "operationId": "ReplicationJobs_Get",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Job identifier",
            "in": "path",
            "name": "jobName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Job"
            }
          }
        },
        "summary": "Gets the job details.",
        "tags": [
          "ReplicationJobs"
        ],
        "x-ms-examples": {
          "Gets the job details.": {
            "parameters": {
              "api-version": "2016-08-10",
              "jobName": "58776d0b-3141-48b2-a377-9ad863eb160d",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "endTime": "2017-04-27T11:25:57Z",
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/32ea4b9e-de62-49a1-b062-7864d5c3b897",
                  "name": "32ea4b9e-de62-49a1-b062-7864d5c3b897",
                  "properties": {
                    "activityId": "fc8e9c8f-0e76-4b6b-8e7e-d37c1b31eba0 ActivityId: c506b6ba-0711-411e-8b09-1f3f4dcb824b",
                    "allowedActions": [],
                    "customDetails": {
                      "affectedObjectDetails": {
                        "PrimaryFabricProviderId": "HyperVSite",
                        "PrimaryVmmId": "6d224fc6-f326-5d35-96de-fbf51efb3179",
                        "PrimaryVmmName": "cloud1",
                        "RecoveryFabricProviderId": "Azure",
                        "RecoveryVmmId": "21a9403c-6ec1-44f2-b744-b4e50b792387"
                      },
                      "instanceType": "AsrJobDetails"
                    },
                    "endTime": "2017-04-27T11:25:57Z",
                    "errors": [],
                    "friendlyName": "Delete a recovery plan",
                    "scenarioName": "DeleteRecoveryPlan",
                    "startTime": "2017-04-27T11:25:56.800358Z",
                    "state": "Succeeded",
                    "stateDescription": "Completed",
                    "targetInstanceType": "RecoveryPlan",
                    "targetObjectId": "966c33bb-66e7-4567-9786-f80b0694f5f9",
                    "targetObjectName": "RPtest1",
                    "tasks": [
                      {
                        "allowedActions": [],
                        "customDetails": {
                          "instanceType": "TaskDetails"
                        },
                        "endTime": "2017-04-27T11:25:57.318574Z",
                        "errors": [],
                        "friendlyName": "Delete a recovery plan task",
                        "name": "DeleteRecoveryPlanTask",
                        "startTime": "2017-04-27T11:25:57.3029434Z",
                        "state": "Succeeded",
                        "stateDescription": "Completed",
                        "taskId": "763326a2-01c9-4257-b2a1-0aac56465014",
                        "taskType": "TaskDetails"
                      }
                    ]
                  },
                  "startTime": "2017-04-27T11:25:56.800358Z",
                  "status": "Succeeded"
                }
              }
            }
          }
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/cancel": {
      "post": {
        "description": "The operation to cancel an Azure Site Recovery job.",
        "operationId": "ReplicationJobs_Cancel",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Job identifier.",
            "in": "path",
            "name": "jobName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Job"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Cancels the specified job.",
        "tags": [
          "ReplicationJobs"
        ],
        "x-ms-examples": {
          "Cancels the specified job.": {
            "parameters": {
              "api-version": "2016-08-10",
              "jobName": "2653c648-fc72-4316-86f3-fdf8eaa0066b",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "error": {
                    "code": "538",
                    "message": "The job was canceled."
                  },
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/2653c648-fc72-4316-86f3-fdf8eaa0066b",
                  "name": "2653c648-fc72-4316-86f3-fdf8eaa0066b",
                  "properties": {
                    "activityId": "bfbbf6dd-9cbb-4cbc-98a6-faecc8891579 ActivityId: 07cc35ca-b63f-4e42-83c9-81ae0191c322",
                    "allowedActions": [],
                    "customDetails": {
                      "affectedObjectDetails": {
                        "PrimaryCloudId": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
                        "PrimaryCloudName": "cloud1",
                        "PrimaryFabricProviderId": "HyperVSite",
                        "PrimaryVmId": "f8491e4f-817a-40dd-a90c-af773978c75b",
                        "PrimaryVmName": "vm1",
                        "PrimaryVmmId": "6d224fc6-f326-5d35-96de-fbf51efb3179",
                        "PrimaryVmmName": "cloud1",
                        "ProtectionProfileId": "af095a1e-1f1b-5365-87c9-99162ebcfaf0",
                        "RecoveryCloudId": "d38048d4-b460-4791-8ece-108395ee8478",
                        "RecoveryCloudName": "Microsoft Azure",
                        "RecoveryFabricProviderId": "Azure",
                        "RecoveryVmId": "",
                        "RecoveryVmName": "vm1",
                        "RecoveryVmmId": "21a9403c-6ec1-44f2-b744-b4e50b792387",
                        "RecoveryVmmName": "Microsoft Azure"
                      },
                      "instanceType": "AsrJobDetails"
                    },
                    "errors": [],
                    "friendlyName": "Planned failover",
                    "scenarioName": "PlannedFailover",
                    "startTime": "2017-05-03T06:16:06.3235186Z",
                    "state": "Cancelling",
                    "stateDescription": "Cancelling",
                    "targetInstanceType": "ProtectionEntity",
                    "targetObjectId": "f8491e4f-817a-40dd-a90c-af773978c75b",
                    "targetObjectName": "vm1",
                    "tasks": []
                  },
                  "startTime": "2017-05-03T06:16:06.3235186Z",
                  "status": "Cancelling"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/restart": {
      "post": {
        "description": "The operation to restart an Azure Site Recovery job.",
        "operationId": "ReplicationJobs_Restart",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Job identifier.",
            "in": "path",
            "name": "jobName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Job"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Restarts the specified job.",
        "tags": [
          "ReplicationJobs"
        ],
        "x-ms-examples": {
          "Restarts the specified job.": {
            "parameters": {
              "api-version": "2016-08-10",
              "jobName": "0664564c-353e-401a-ab0c-722257c10e25",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "endTime": "2017-05-03T10:45:14Z",
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/42c7d13b-790c-4609-8e0b-0936f1c5e5fb",
                  "name": "42c7d13b-790c-4609-8e0b-0936f1c5e5fb",
                  "properties": {
                    "activityId": "2443a5b4-e675-499f-8983-4126ea0e232c ActivityId: 2a776896-5e56-470b-af55-3c981283c4bc",
                    "allowedActions": [],
                    "customDetails": {
                      "affectedObjectDetails": {},
                      "instanceType": "AsrJobDetails"
                    },
                    "endTime": "2017-05-03T10:45:14Z",
                    "errors": [],
                    "friendlyName": "Restart job",
                    "scenarioName": "RestartJob",
                    "startTime": "2017-05-03T10:45:12.1320757Z",
                    "state": "Succeeded",
                    "stateDescription": "Completed",
                    "targetInstanceType": "ProtectionEntity",
                    "targetObjectId": "f8491e4f-817a-40dd-a90c-af773978c75b",
                    "targetObjectName": "vm1",
                    "tasks": [
                      {
                        "allowedActions": [],
                        "customDetails": {
                          "instanceType": "TaskDetails"
                        },
                        "endTime": "2017-05-03T10:45:13.6458467Z",
                        "errors": [],
                        "friendlyName": "Restarting job",
                        "name": "RemediateTask",
                        "startTime": "2017-05-03T10:45:13.5677237Z",
                        "state": "Succeeded",
                        "stateDescription": "Completed",
                        "taskId": "RemediateWfTask",
                        "taskType": "TaskDetails"
                      }
                    ]
                  },
                  "startTime": "2017-05-03T10:45:12.1320757Z",
                  "status": "Succeeded"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/resume": {
      "post": {
        "description": "The operation to resume an Azure Site Recovery job",
        "operationId": "ReplicationJobs_Resume",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Job identifier.",
            "in": "path",
            "name": "jobName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Resume rob comments.",
            "in": "body",
            "name": "resumeJobParams",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ResumeJobParams"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Job"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Resumes the specified job.",
        "tags": [
          "ReplicationJobs"
        ],
        "x-ms-examples": {
          "Resumes the specified job.": {
            "parameters": {
              "api-version": "2016-08-10",
              "jobName": "58776d0b-3141-48b2-a377-9ad863eb160d",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "resumeJobParams": {
                "properties": {
                  "comments": " "
                }
              },
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "endTime": "2017-04-25T09:59:12.0452175Z",
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/58776d0b-3141-48b2-a377-9ad863eb160d",
                  "name": "58776d0b-3141-48b2-a377-9ad863eb160d",
                  "properties": {
                    "activityId": "1b808dfe-0451-44ac-894c-c7270711cd8c ActivityId: 9f6f849e-922a-43ec-a7a6-0be45fc85c56",
                    "allowedActions": [
                      "Cancel",
                      "Resume"
                    ],
                    "customDetails": {
                      "affectedObjectDetails": {
                        "PrimaryCloudId": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
                        "PrimaryCloudName": "cloud1",
                        "PrimaryFabricProviderId": "HyperVSite",
                        "PrimaryVmId": "f8491e4f-817a-40dd-a90c-af773978c75b",
                        "PrimaryVmName": "vm1",
                        "PrimaryVmmId": "6d224fc6-f326-5d35-96de-fbf51efb3179",
                        "PrimaryVmmName": "cloud1",
                        "ProtectionProfileId": "af095a1e-1f1b-5365-87c9-99162ebcfaf0",
                        "RecoveryCloudId": "d38048d4-b460-4791-8ece-108395ee8478",
                        "RecoveryCloudName": "Microsoft Azure",
                        "RecoveryFabricProviderId": "Azure",
                        "RecoveryVmId": "",
                        "RecoveryVmName": "vm1",
                        "RecoveryVmmId": "21a9403c-6ec1-44f2-b744-b4e50b792387",
                        "RecoveryVmmName": "Microsoft Azure"
                      },
                      "comments": " ",
                      "instanceType": "TestFailoverJobDetails",
                      "networkFriendlyName": "vnetavrai",
                      "networkName": "vnetavrai",
                      "networkType": "VmNetworkAsInput",
                      "protectedItemDetails": [
                        {
                          "friendlyName": "vm1",
                          "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
                          "networkConnectionStatus": "Connected",
                          "networkFriendlyName": "vnetavrai",
                          "subnet": "Subnet1",
                          "testVmFriendlyName": "vm1-test",
                          "testVmName": "vm1-test"
                        }
                      ],
                      "testFailoverStatus": "Completed"
                    },
                    "errors": [],
                    "friendlyName": "Test failover",
                    "scenarioName": "TestFailover",
                    "startTime": "2017-04-25T09:57:57.0357829Z",
                    "state": "Suspended",
                    "stateDescription": "WaitingForStopTestFailover",
                    "targetInstanceType": "ProtectionEntity",
                    "targetObjectId": "f8491e4f-817a-40dd-a90c-af773978c75b",
                    "targetObjectName": "vm1",
                    "tasks": []
                  },
                  "startTime": "2017-04-25T09:57:57.0357829Z",
                  "status": "Suspended"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworkMappings": {
      "get": {
        "description": "Lists all ASR network mappings in the vault.",
        "operationId": "ReplicationNetworkMappings_List",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/NetworkMappingCollection"
            }
          }
        },
        "summary": "Gets all the network mappings under a vault.",
        "tags": [
          "ReplicationNetworkMappings"
        ],
        "x-ms-examples": {
          "Gets all the network mappings under a vault.": {
            "parameters": {
              "api-version": "2016-08-10",
              "resourceGroupName": "srcBvte2a14C27",
              "resourceName": "srce2avaultbvtaC27",
              "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServicesBVTD2/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06/replicationNetworkMappings/corpe2amap",
                      "name": "corpe2amap",
                      "properties": {
                        "fabricSpecificSettings": {
                          "instanceType": "VmmToAzure"
                        },
                        "primaryFabricFriendlyName": "CP-B3L30108-01.ntdev.corp.microsoft.com",
                        "primaryNetworkFriendlyName": "corp",
                        "primaryNetworkId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServicesBVTD2/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06",
                        "recoveryFabricArmId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServicesBVTD2/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5",
                        "recoveryFabricFriendlyName": "Microsoft Azure",
                        "recoveryNetworkFriendlyName": "vnetavrai",
                        "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai",
                        "state": "Paired"
                      },
                      "type": "Microsoft.RecoveryServicesBVTD2/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworks": {
      "get": {
        "description": "Lists the networks available in a vault",
        "operationId": "ReplicationNetworks_List",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/NetworkCollection"
            }
          }
        },
        "summary": "Gets the list of networks. View-only API.",
        "tags": [
          "ReplicationNetworks"
        ],
        "x-ms-examples": {
          "Gets the list of networks. View-only API.": {
            "parameters": {
              "api-version": "2016-08-10",
              "resourceGroupName": "srcBvte2a14C27",
              "resourceName": "srce2avaultbvtaC27",
              "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/93ce99d7-1219-4914-aa61-73fe5023988e",
                      "name": "93ce99d7-1219-4914-aa61-73fe5023988e",
                      "properties": {
                        "fabricType": "VMM",
                        "friendlyName": "VSwitch_VLan",
                        "networkType": "NoIsolation",
                        "subnets": []
                      },
                      "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks"
                    },
                    {
                      "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/b83bf8fd-f304-48d7-82c9-5d74e6215c1b",
                      "name": "b83bf8fd-f304-48d7-82c9-5d74e6215c1b",
                      "properties": {
                        "fabricType": "VMM",
                        "friendlyName": "VSwitch_NoIso",
                        "networkType": "NoIsolation",
                        "subnets": []
                      },
                      "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks"
                    },
                    {
                      "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06",
                      "name": "e2267b5c-2650-49bd-ab3f-d66aae694c06",
                      "properties": {
                        "fabricType": "VMM",
                        "friendlyName": "corp",
                        "networkType": "NoIsolation",
                        "subnets": []
                      },
                      "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies": {
      "get": {
        "description": "Lists the replication policies for a vault.",
        "operationId": "ReplicationPolicies_List",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PolicyCollection"
            }
          }
        },
        "summary": "Gets the list of replication policies",
        "tags": [
          "ReplicationPolicies"
        ],
        "x-ms-examples": {
          "Gets the list of replication policies": {
            "parameters": {
              "api-version": "2016-08-10",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
                      "name": "protectionprofile1",
                      "properties": {
                        "friendlyName": "protectionprofile1",
                        "providerSpecificDetails": {
                          "instanceType": "HyperVReplicaAzure"
                        }
                      },
                      "type": "Microsoft.RecoveryServices/vaults/replicationPolicies"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies/{policyName}": {
      "delete": {
        "description": "The operation to delete a replication policy.",
        "operationId": "ReplicationPolicies_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Replication policy name.",
            "in": "path",
            "name": "policyName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "NoContent"
          }
        },
        "summary": "Delete the policy.",
        "tags": [
          "ReplicationPolicies"
        ],
        "x-ms-examples": {
          "Delete the policy.": {
            "parameters": {
              "api-version": "2016-08-10",
              "policyName": "protectionprofile1",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "202": {},
              "204": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "Gets the details of a replication policy.",
        "operationId": "ReplicationPolicies_Get",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Replication policy name.",
            "in": "path",
            "name": "policyName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Policy"
            }
          }
        },
        "summary": "Gets the requested policy.",
        "tags": [
          "ReplicationPolicies"
        ],
        "x-ms-examples": {
          "Gets the requested policy.": {
            "parameters": {
              "api-version": "2016-08-10",
              "policyName": "protectionprofile1",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
                  "name": "protectionprofile1",
                  "properties": {
                    "friendlyName": "protectionprofile1",
                    "providerSpecificDetails": {
                      "instanceType": "HyperVReplicaAzure"
                    }
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationPolicies"
                }
              }
            }
          }
        }
      },
      "patch": {
        "description": "The operation to update a replication policy.",
        "operationId": "ReplicationPolicies_Update",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Protection profile Id.",
            "in": "path",
            "name": "policyName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Update Protection Profile Input",
            "in": "body",
            "name": "input",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UpdatePolicyInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Policy"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Updates the protection profile.",
        "tags": [
          "ReplicationPolicies"
        ],
        "x-ms-examples": {
          "Updates the protection profile.": {
            "parameters": {
              "api-version": "2016-08-10",
              "input": {
                "properties": {
                  "replicationProviderSettings": {
                    "instanceType": "HyperVReplicaAzure"
                  }
                }
              },
              "policyName": "protectionprofile1",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
                  "name": "protectionprofile1",
                  "properties": {
                    "friendlyName": "protectionprofile1",
                    "providerSpecificDetails": {
                      "instanceType": "HyperVReplicaAzure"
                    }
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationPolicies"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      },
      "put": {
        "description": "The operation to create a replication policy",
        "operationId": "ReplicationPolicies_Create",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Replication policy name",
            "in": "path",
            "name": "policyName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Create policy input",
            "in": "body",
            "name": "input",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreatePolicyInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Policy"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Creates the policy.",
        "tags": [
          "ReplicationPolicies"
        ],
        "x-ms-examples": {
          "Creates the policy.": {
            "parameters": {
              "api-version": "2016-08-10",
              "input": {
                "properties": {
                  "providerSpecificInput": {
                    "instanceType": "HyperVReplicaAzure"
                  }
                }
              },
              "policyName": "protectionprofile1",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
                  "name": "protectionprofile1",
                  "properties": {
                    "friendlyName": "protectionprofile1",
                    "providerSpecificDetails": {
                      "instanceType": "HyperVReplicaAzure"
                    }
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationPolicies"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectedItems": {
      "get": {
        "description": "Gets the list of ASR replication protected items in the vault.",
        "operationId": "ReplicationProtectedItems_List",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "The pagination token. Possible values: \"FabricId\" or \"FabricId_CloudId\" or null",
            "in": "query",
            "name": "skipToken",
            "required": false,
            "type": "string"
          },
          {
            "description": "OData filter options.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ReplicationProtectedItemCollection"
            }
          }
        },
        "summary": "Gets the list of replication protected items.",
        "tags": [
          "ReplicationProtectedItems"
        ],
        "x-ms-examples": {
          "Gets the list of replication protected items.": {
            "parameters": {
              "api-version": "2016-08-10",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                      "name": "f8491e4f-817a-40dd-a90c-af773978c75b",
                      "properties": {
                        "activeLocation": "Primary",
                        "allowedOperations": [
                          "PlannedFailover",
                          "UnplannedFailover",
                          "DisableProtection",
                          "TestFailover"
                        ],
                        "currentScenario": {
                          "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
                          "scenarioName": "None",
                          "startTime": "1753-01-01T01:01:01Z"
                        },
                        "friendlyName": "vm1",
                        "policyFriendlyName": "protectionprofile1",
                        "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
                        "primaryFabricFriendlyName": "cloud1",
                        "primaryProtectionContainerFriendlyName": "cloud1",
                        "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                        "protectedItemType": "HyperVVirtualMachine",
                        "protectionState": "Protected",
                        "protectionStateDescription": "Protected",
                        "providerSpecificDetails": {
                          "instanceType": "HyperVReplicaAzure"
                        },
                        "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478",
                        "recoveryFabricFriendlyName": "Microsoft Azure",
                        "recoveryFabricId": "Microsoft Azure",
                        "recoveryProtectionContainerFriendlyName": "Microsoft Azure",
                        "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
                        "replicationHealth": "Normal",
                        "replicationHealthErrors": [],
                        "testFailoverState": "None",
                        "testFailoverStateDescription": "None"
                      },
                      "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-odata": "#/definitions/ProtectedItemsQueryParameter",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainerMappings": {
      "get": {
        "description": "Lists the protection container mappings in the vault.",
        "operationId": "ReplicationProtectionContainerMappings_List",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ProtectionContainerMappingCollection"
            }
          }
        },
        "summary": "Gets the list of all protection container mappings in a vault.",
        "tags": [
          "ReplicationProtectionContainerMappings"
        ],
        "x-ms-examples": {
          "Gets the list of all protection container mappings in a vault.": {
            "parameters": {
              "api-version": "2016-08-10",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectionContainerMappings/cloud1protectionprofile1",
                      "name": "cloud1protectionprofile1",
                      "properties": {
                        "health": "Normal",
                        "healthErrorDetails": [],
                        "policyFriendlyName": "protectionprofile1",
                        "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1",
                        "sourceFabricFriendlyName": "cloud1",
                        "sourceProtectionContainerFriendlyName": "cloud1",
                        "state": "Paired",
                        "targetFabricFriendlyName": "Microsoft Azure",
                        "targetProtectionContainerFriendlyName": "Microsoft Azure",
                        "targetProtectionContainerId": "Microsoft Azure"
                      },
                      "type": "Microsoft.RecoveryServices/vaults/replicationProtectionContainerMappings"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainers": {
      "get": {
        "description": "Lists the protection containers in a vault.",
        "operationId": "ReplicationProtectionContainers_List",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ProtectionContainerCollection"
            }
          }
        },
        "summary": "Gets the list of all protection containers in a vault.",
        "tags": [
          "ReplicationProtectionContainers"
        ],
        "x-ms-examples": {
          "Gets the list of all protection containers in a vault.": {
            "parameters": {
              "api-version": "2016-08-10",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
                      "name": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
                      "properties": {
                        "fabricFriendlyName": "cloud1",
                        "fabricType": "HyperVSite",
                        "friendlyName": "cloud1",
                        "pairingStatus": "NotPaired",
                        "protectedItemCount": 0,
                        "role": ""
                      },
                      "type": "Microsoft.RecoveryServices/vaults/replicationProtectionContainers"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans": {
      "get": {
        "description": "Lists the recovery plans in the vault.",
        "operationId": "ReplicationRecoveryPlans_List",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/RecoveryPlanCollection"
            }
          }
        },
        "summary": "Gets the list of recovery plans.",
        "tags": [
          "ReplicationRecoveryPlans"
        ],
        "x-ms-examples": {
          "Gets the list of recovery plans.": {
            "parameters": {
              "api-version": "2016-08-10",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
                      "name": "RPtest1",
                      "properties": {
                        "allowedOperations": [
                          "PlannedFailover",
                          "UnplannedFailover",
                          "TestFailover"
                        ],
                        "failoverDeploymentModel": "ResourceManager",
                        "friendlyName": "RPtest1",
                        "groups": [],
                        "primaryFabricFriendlyName": "cloud1",
                        "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
                        "recoveryFabricFriendlyName": "Microsoft Azure",
                        "recoveryFabricId": "Microsoft Azure",
                        "replicationProviders": [
                          "HyperVReplicaAzure"
                        ]
                      },
                      "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}": {
      "delete": {
        "description": "Delete a recovery plan.",
        "operationId": "ReplicationRecoveryPlans_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Recovery plan name.",
            "in": "path",
            "name": "recoveryPlanName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "NoContent"
          }
        },
        "summary": "Deletes the specified recovery plan.",
        "tags": [
          "ReplicationRecoveryPlans"
        ],
        "x-ms-examples": {
          "Deletes the specified recovery plan.": {
            "parameters": {
              "api-version": "2016-08-10",
              "recoveryPlanName": "RPtest1",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "202": {},
              "204": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "Gets the details of the recovery plan.",
        "operationId": "ReplicationRecoveryPlans_Get",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Name of the recovery plan.",
            "in": "path",
            "name": "recoveryPlanName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/RecoveryPlan"
            }
          }
        },
        "summary": "Gets the requested recovery plan.",
        "tags": [
          "ReplicationRecoveryPlans"
        ],
        "x-ms-examples": {
          "Gets the requested recovery plan.": {
            "parameters": {
              "api-version": "2016-08-10",
              "recoveryPlanName": "RPtest1",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
                  "name": "RPtest1",
                  "properties": {
                    "allowedOperations": [
                      "PlannedFailover",
                      "UnplannedFailover",
                      "TestFailover"
                    ],
                    "failoverDeploymentModel": "ResourceManager",
                    "friendlyName": "RPtest1",
                    "groups": [
                      {
                        "endGroupActions": [],
                        "groupType": "Shutdown",
                        "replicationProtectedItems": [],
                        "startGroupActions": []
                      },
                      {
                        "endGroupActions": [],
                        "groupType": "Failover",
                        "replicationProtectedItems": [],
                        "startGroupActions": []
                      },
                      {
                        "endGroupActions": [],
                        "groupType": "Boot",
                        "replicationProtectedItems": [
                          {
                            "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                            "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
                          }
                        ],
                        "startGroupActions": []
                      },
                      {
                        "endGroupActions": [],
                        "groupType": "Boot",
                        "replicationProtectedItems": [
                          {
                            "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
                            "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
                          }
                        ],
                        "startGroupActions": []
                      }
                    ],
                    "primaryFabricFriendlyName": "cloud1",
                    "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
                    "recoveryFabricFriendlyName": "Microsoft Azure",
                    "recoveryFabricId": "Microsoft Azure",
                    "replicationProviders": [
                      "HyperVReplicaAzure"
                    ]
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans"
                }
              }
            }
          }
        }
      },
      "patch": {
        "description": "The operation to update a recovery plan.",
        "operationId": "ReplicationRecoveryPlans_Update",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Recovery plan name.",
            "in": "path",
            "name": "recoveryPlanName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Update recovery plan input",
            "in": "body",
            "name": "input",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UpdateRecoveryPlanInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/RecoveryPlan"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Updates the given recovery plan.",
        "tags": [
          "ReplicationRecoveryPlans"
        ],
        "x-ms-examples": {
          "Updates the given recovery plan.": {
            "parameters": {
              "api-version": "2016-08-10",
              "input": {
                "properties": {
                  "groups": [
                    {
                      "endGroupActions": [],
                      "groupType": "Shutdown",
                      "replicationProtectedItems": [],
                      "startGroupActions": []
                    },
                    {
                      "endGroupActions": [],
                      "groupType": "Failover",
                      "replicationProtectedItems": [],
                      "startGroupActions": []
                    },
                    {
                      "endGroupActions": [],
                      "groupType": "Boot",
                      "replicationProtectedItems": [
                        {
                          "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                          "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
                        }
                      ],
                      "startGroupActions": []
                    },
                    {
                      "endGroupActions": [],
                      "groupType": "Boot",
                      "replicationProtectedItems": [
                        {
                          "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
                          "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
                        }
                      ],
                      "startGroupActions": []
                    }
                  ]
                }
              },
              "recoveryPlanName": "RPtest1",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
                  "name": "RPtest1",
                  "properties": {
                    "allowedOperations": [
                      "PlannedFailover",
                      "UnplannedFailover",
                      "TestFailover"
                    ],
                    "failoverDeploymentModel": "ResourceManager",
                    "friendlyName": "RPtest1",
                    "groups": [
                      {
                        "endGroupActions": [],
                        "groupType": "Shutdown",
                        "replicationProtectedItems": [],
                        "startGroupActions": []
                      },
                      {
                        "endGroupActions": [],
                        "groupType": "Failover",
                        "replicationProtectedItems": [],
                        "startGroupActions": []
                      },
                      {
                        "endGroupActions": [],
                        "groupType": "Boot",
                        "replicationProtectedItems": [
                          {
                            "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                            "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
                          }
                        ],
                        "startGroupActions": []
                      },
                      {
                        "endGroupActions": [],
                        "groupType": "Boot",
                        "replicationProtectedItems": [
                          {
                            "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
                            "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
                          }
                        ],
                        "startGroupActions": []
                      }
                    ],
                    "primaryFabricFriendlyName": "cloud1",
                    "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
                    "recoveryFabricFriendlyName": "Microsoft Azure",
                    "recoveryFabricId": "Microsoft Azure",
                    "replicationProviders": [
                      "HyperVReplicaAzure"
                    ]
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      },
      "put": {
        "description": "The operation to create a recovery plan.",
        "operationId": "ReplicationRecoveryPlans_Create",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Recovery plan name.",
            "in": "path",
            "name": "recoveryPlanName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Recovery Plan creation input.",
            "in": "body",
            "name": "input",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateRecoveryPlanInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/RecoveryPlan"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Creates a recovery plan with the given details.",
        "tags": [
          "ReplicationRecoveryPlans"
        ],
        "x-ms-examples": {
          "Creates a recovery plan with the given details.": {
            "parameters": {
              "api-version": "2016-08-10",
              "input": {
                "properties": {
                  "failoverDeploymentModel": "ResourceManager",
                  "groups": [
                    {
                      "endGroupActions": [],
                      "groupType": "Boot",
                      "replicationProtectedItems": [
                        {
                          "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                          "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
                        }
                      ],
                      "startGroupActions": []
                    }
                  ],
                  "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
                  "recoveryFabricId": "Microsoft Azure"
                }
              },
              "recoveryPlanName": "RPtest1",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
                  "name": "RPtest1",
                  "properties": {
                    "allowedOperations": [
                      "PlannedFailover",
                      "UnplannedFailover",
                      "TestFailover"
                    ],
                    "failoverDeploymentModel": "ResourceManager",
                    "friendlyName": "RPtest1",
                    "groups": [
                      {
                        "endGroupActions": [],
                        "groupType": "Shutdown",
                        "replicationProtectedItems": [],
                        "startGroupActions": []
                      },
                      {
                        "endGroupActions": [],
                        "groupType": "Failover",
                        "replicationProtectedItems": [],
                        "startGroupActions": []
                      },
                      {
                        "endGroupActions": [],
                        "groupType": "Boot",
                        "replicationProtectedItems": [
                          {
                            "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                            "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
                          }
                        ],
                        "startGroupActions": []
                      }
                    ],
                    "primaryFabricFriendlyName": "cloud1",
                    "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
                    "recoveryFabricFriendlyName": "Microsoft Azure",
                    "recoveryFabricId": "Microsoft Azure",
                    "replicationProviders": [
                      "HyperVReplicaAzure"
                    ]
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/failoverCommit": {
      "post": {
        "description": "The operation to commit the fail over of a recovery plan.",
        "operationId": "ReplicationRecoveryPlans_FailoverCommit",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Recovery plan name.",
            "in": "path",
            "name": "recoveryPlanName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/RecoveryPlan"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Execute commit failover of the recovery plan.",
        "tags": [
          "ReplicationRecoveryPlans"
        ],
        "x-ms-examples": {
          "Execute commit failover of the recovery plan.": {
            "parameters": {
              "api-version": "2016-08-10",
              "recoveryPlanName": "RPtest1",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
                  "name": "RPtest1",
                  "properties": {
                    "allowedOperations": [
                      "PlannedFailover",
                      "UnplannedFailover",
                      "TestFailover"
                    ],
                    "currentScenario": {
                      "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/5276a7bc-12a3-43a1-bc53-9bf80e0be87b",
                      "scenarioName": "CommitFailover",
                      "startTime": "2017-04-27T08:52:42.1587592Z"
                    },
                    "currentScenarioStatus": "Succeeded",
                    "currentScenarioStatusDescription": "Completed",
                    "failoverDeploymentModel": "ResourceManager",
                    "friendlyName": "RPtest1",
                    "groups": [
                      {
                        "endGroupActions": [],
                        "groupType": "Shutdown",
                        "replicationProtectedItems": [],
                        "startGroupActions": []
                      },
                      {
                        "endGroupActions": [],
                        "groupType": "Failover",
                        "replicationProtectedItems": [],
                        "startGroupActions": []
                      },
                      {
                        "endGroupActions": [],
                        "groupType": "Boot",
                        "replicationProtectedItems": [
                          {
                            "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                            "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
                          }
                        ],
                        "startGroupActions": []
                      },
                      {
                        "endGroupActions": [],
                        "groupType": "Boot",
                        "replicationProtectedItems": [
                          {
                            "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
                            "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
                          }
                        ],
                        "startGroupActions": []
                      }
                    ],
                    "lastPlannedFailoverTime": "2017-04-27T07:33:49.1372448Z",
                    "lastTestFailoverTime": "2017-04-27T07:00:27.8354747Z",
                    "primaryFabricFriendlyName": "cloud1",
                    "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
                    "recoveryFabricFriendlyName": "Microsoft Azure",
                    "recoveryFabricId": "Microsoft Azure",
                    "replicationProviders": [
                      "HyperVReplicaAzure"
                    ]
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/plannedFailover": {
      "post": {
        "description": "The operation to start the planned failover of a recovery plan.",
        "operationId": "ReplicationRecoveryPlans_PlannedFailover",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Recovery plan name.",
            "in": "path",
            "name": "recoveryPlanName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Failover input.",
            "in": "body",
            "name": "input",
            "required": true,
            "schema": {
              "$ref": "#/definitions/RecoveryPlanPlannedFailoverInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/RecoveryPlan"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Execute planned failover of the recovery plan.",
        "tags": [
          "ReplicationRecoveryPlans"
        ],
        "x-ms-examples": {
          "Execute planned failover of the recovery plan.": {
            "parameters": {
              "api-version": "2016-08-10",
              "input": {
                "properties": {
                  "failoverDirection": "PrimaryToRecovery",
                  "providerSpecificDetails": [
                    {
                      "instanceType": "HyperVReplicaAzure"
                    }
                  ]
                }
              },
              "recoveryPlanName": "RPtest1",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
                  "name": "RPtest1",
                  "properties": {
                    "allowedOperations": [
                      "PlannedFailover",
                      "UnplannedFailover",
                      "TestFailover",
                      "Commit"
                    ],
                    "currentScenario": {
                      "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/d4821a53-90da-4fcb-bc11-a280d13e3350",
                      "scenarioName": "PlannedFailover",
                      "startTime": "2017-04-27T07:34:02.6176524Z"
                    },
                    "currentScenarioStatus": "Succeeded",
                    "currentScenarioStatusDescription": "Completed",
                    "failoverDeploymentModel": "ResourceManager",
                    "friendlyName": "RPtest1",
                    "groups": [
                      {
                        "endGroupActions": [],
                        "groupType": "Shutdown",
                        "replicationProtectedItems": [],
                        "startGroupActions": []
                      },
                      {
                        "endGroupActions": [],
                        "groupType": "Failover",
                        "replicationProtectedItems": [],
                        "startGroupActions": []
                      },
                      {
                        "endGroupActions": [],
                        "groupType": "Boot",
                        "replicationProtectedItems": [
                          {
                            "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                            "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
                          }
                        ],
                        "startGroupActions": []
                      },
                      {
                        "endGroupActions": [],
                        "groupType": "Boot",
                        "replicationProtectedItems": [
                          {
                            "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
                            "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
                          }
                        ],
                        "startGroupActions": []
                      }
                    ],
                    "lastPlannedFailoverTime": "2017-04-27T07:33:49.1372448Z",
                    "lastTestFailoverTime": "2017-04-27T07:00:27.8354747Z",
                    "primaryFabricFriendlyName": "cloud1",
                    "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
                    "recoveryFabricFriendlyName": "Microsoft Azure",
                    "recoveryFabricId": "Microsoft Azure",
                    "replicationProviders": [
                      "HyperVReplicaAzure"
                    ]
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/reProtect": {
      "post": {
        "description": "The operation to reprotect(reverse replicate) a recovery plan.",
        "operationId": "ReplicationRecoveryPlans_Reprotect",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Recovery plan name.",
            "in": "path",
            "name": "recoveryPlanName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/RecoveryPlan"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Execute reprotect of the recovery plan.",
        "tags": [
          "ReplicationRecoveryPlans"
        ],
        "x-ms-examples": {
          "Execute reprotect of the recovery plan.": {
            "parameters": {
              "api-version": "2016-08-10",
              "recoveryPlanName": "RPtest1",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
                  "name": "RPtest1",
                  "properties": {
                    "allowedOperations": [
                      "PlannedFailover",
                      "UnplannedFailover",
                      "TestFailover"
                    ],
                    "currentScenario": {
                      "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/edf01dfb-b649-4802-91e4-3d55ce3bebf0",
                      "scenarioName": "ReverseReplication",
                      "startTime": "2017-04-27T09:52:16.9818841Z"
                    },
                    "currentScenarioStatus": "Succeeded",
                    "currentScenarioStatusDescription": "Completed",
                    "failoverDeploymentModel": "ResourceManager",
                    "friendlyName": "RPtest1",
                    "groups": [
                      {
                        "endGroupActions": [],
                        "groupType": "Shutdown",
                        "replicationProtectedItems": [],
                        "startGroupActions": []
                      },
                      {
                        "endGroupActions": [],
                        "groupType": "Failover",
                        "replicationProtectedItems": [],
                        "startGroupActions": []
                      },
                      {
                        "endGroupActions": [],
                        "groupType": "Boot",
                        "replicationProtectedItems": [
                          {
                            "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                            "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
                          }
                        ],
                        "startGroupActions": []
                      },
                      {
                        "endGroupActions": [],
                        "groupType": "Boot",
                        "replicationProtectedItems": [
                          {
                            "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
                            "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
                          }
                        ],
                        "startGroupActions": []
                      }
                    ],
                    "lastPlannedFailoverTime": "2017-04-27T08:58:35.9062813Z",
                    "lastTestFailoverTime": "2017-04-27T07:00:27.8354747Z",
                    "primaryFabricFriendlyName": "cloud1",
                    "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
                    "recoveryFabricFriendlyName": "Microsoft Azure",
                    "recoveryFabricId": "Microsoft Azure",
                    "replicationProviders": [
                      "HyperVReplicaAzure"
                    ]
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailover": {
      "post": {
        "description": "The operation to start the test failover of a recovery plan.",
        "operationId": "ReplicationRecoveryPlans_TestFailover",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Recovery plan name.",
            "in": "path",
            "name": "recoveryPlanName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Failover input.",
            "in": "body",
            "name": "input",
            "required": true,
            "schema": {
              "$ref": "#/definitions/RecoveryPlanTestFailoverInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/RecoveryPlan"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Execute test failover of the recovery plan.",
        "tags": [
          "ReplicationRecoveryPlans"
        ],
        "x-ms-examples": {
          "Execute test failover of the recovery plan.": {
            "parameters": {
              "api-version": "2016-08-10",
              "input": {
                "properties": {
                  "failoverDirection": "PrimaryToRecovery",
                  "networkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai",
                  "networkType": "VmNetworkAsInput",
                  "providerSpecificDetails": [
                    {
                      "instanceType": "HyperVReplicaAzure"
                    }
                  ]
                }
              },
              "recoveryPlanName": "RPtest1",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
                  "name": "RPtest1",
                  "properties": {
                    "allowedOperations": [
                      "TestFailoverCleanup"
                    ],
                    "currentScenario": {
                      "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/d40bfb40-aaaa-4c0d-87d3-41b15439a84b",
                      "scenarioName": "TestFailover",
                      "startTime": "2017-04-27T07:00:58.8191916Z"
                    },
                    "currentScenarioStatus": "Suspended",
                    "currentScenarioStatusDescription": "WaitingForStopTestFailover",
                    "failoverDeploymentModel": "ResourceManager",
                    "friendlyName": "RPtest1",
                    "groups": [
                      {
                        "endGroupActions": [],
                        "groupType": "Shutdown",
                        "replicationProtectedItems": [],
                        "startGroupActions": []
                      },
                      {
                        "endGroupActions": [],
                        "groupType": "Failover",
                        "replicationProtectedItems": [],
                        "startGroupActions": []
                      },
                      {
                        "endGroupActions": [],
                        "groupType": "Boot",
                        "replicationProtectedItems": [
                          {
                            "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                            "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
                          }
                        ],
                        "startGroupActions": []
                      },
                      {
                        "endGroupActions": [],
                        "groupType": "Boot",
                        "replicationProtectedItems": [
                          {
                            "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
                            "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
                          }
                        ],
                        "startGroupActions": []
                      }
                    ],
                    "primaryFabricFriendlyName": "cloud1",
                    "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
                    "recoveryFabricFriendlyName": "Microsoft Azure",
                    "recoveryFabricId": "Microsoft Azure",
                    "replicationProviders": [
                      "HyperVReplicaAzure"
                    ]
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailoverCleanup": {
      "post": {
        "description": "The operation to cleanup test failover of a recovery plan.",
        "operationId": "ReplicationRecoveryPlans_TestFailoverCleanup",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Recovery plan name.",
            "in": "path",
            "name": "recoveryPlanName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Test failover cleanup input.",
            "in": "body",
            "name": "input",
            "required": true,
            "schema": {
              "$ref": "#/definitions/RecoveryPlanTestFailoverCleanupInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/RecoveryPlan"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Execute test failover cleanup of the recovery plan.",
        "tags": [
          "ReplicationRecoveryPlans"
        ],
        "x-ms-examples": {
          "Execute test failover cleanup of the recovery plan.": {
            "parameters": {
              "api-version": "2016-08-10",
              "input": {
                "properties": {
                  "comments": "Test Failover Cleanup"
                }
              },
              "recoveryPlanName": "RPtest1",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
                  "name": "RPtest1",
                  "properties": {
                    "allowedOperations": [
                      "PlannedFailover",
                      "UnplannedFailover",
                      "TestFailover"
                    ],
                    "currentScenario": {
                      "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/4ae8eaa8-a384-42cb-9768-152cb5b8a1ff",
                      "scenarioName": "TestFailoverCleanup",
                      "startTime": "2017-04-27T07:10:52.8424747Z"
                    },
                    "currentScenarioStatus": "Succeeded",
                    "currentScenarioStatusDescription": "Completed",
                    "failoverDeploymentModel": "ResourceManager",
                    "friendlyName": "RPtest1",
                    "groups": [
                      {
                        "endGroupActions": [],
                        "groupType": "Shutdown",
                        "replicationProtectedItems": [],
                        "startGroupActions": []
                      },
                      {
                        "endGroupActions": [],
                        "groupType": "Failover",
                        "replicationProtectedItems": [],
                        "startGroupActions": []
                      },
                      {
                        "endGroupActions": [],
                        "groupType": "Boot",
                        "replicationProtectedItems": [
                          {
                            "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                            "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
                          }
                        ],
                        "startGroupActions": []
                      },
                      {
                        "endGroupActions": [],
                        "groupType": "Boot",
                        "replicationProtectedItems": [
                          {
                            "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
                            "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
                          }
                        ],
                        "startGroupActions": []
                      }
                    ],
                    "lastPlannedFailoverTime": "2017-04-27T07:33:49.1372448Z",
                    "lastTestFailoverTime": "2017-04-27T07:00:27.8354747Z",
                    "primaryFabricFriendlyName": "cloud1",
                    "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
                    "recoveryFabricFriendlyName": "Microsoft Azure",
                    "recoveryFabricId": "Microsoft Azure",
                    "replicationProviders": [
                      "HyperVReplicaAzure"
                    ]
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/unplannedFailover": {
      "post": {
        "description": "The operation to start the failover of a recovery plan.",
        "operationId": "ReplicationRecoveryPlans_UnplannedFailover",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          },
          {
            "description": "Recovery plan name.",
            "in": "path",
            "name": "recoveryPlanName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Failover input.",
            "in": "body",
            "name": "input",
            "required": true,
            "schema": {
              "$ref": "#/definitions/RecoveryPlanUnplannedFailoverInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/RecoveryPlan"
            }
          },
          "202": {
            "description": "Accepted"
          }
        },
        "summary": "Execute unplanned failover of the recovery plan.",
        "tags": [
          "ReplicationRecoveryPlans"
        ],
        "x-ms-examples": {
          "Execute unplanned failover of the recovery plan.": {
            "parameters": {
              "api-version": "2016-08-10",
              "input": {
                "properties": {
                  "failoverDirection": "PrimaryToRecovery",
                  "providerSpecificDetails": [
                    {
                      "instanceType": "HyperVReplicaAzure"
                    }
                  ],
                  "sourceSiteOperations": "Required"
                }
              },
              "recoveryPlanName": "RPtest1",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1",
                  "name": "RPtest1",
                  "properties": {
                    "allowedOperations": [
                      "PlannedFailover",
                      "UnplannedFailover",
                      "TestFailover",
                      "Commit"
                    ],
                    "currentScenario": {
                      "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/60b84068-9adb-4867-a49d-88be40bff14b",
                      "scenarioName": "UnplannedFailover",
                      "startTime": "2017-04-27T10:03:03.2206946Z"
                    },
                    "currentScenarioStatus": "Succeeded",
                    "currentScenarioStatusDescription": "Completed",
                    "failoverDeploymentModel": "ResourceManager",
                    "friendlyName": "RPtest1",
                    "groups": [
                      {
                        "endGroupActions": [],
                        "groupType": "Shutdown",
                        "replicationProtectedItems": [],
                        "startGroupActions": []
                      },
                      {
                        "endGroupActions": [],
                        "groupType": "Failover",
                        "replicationProtectedItems": [],
                        "startGroupActions": []
                      },
                      {
                        "endGroupActions": [],
                        "groupType": "Boot",
                        "replicationProtectedItems": [
                          {
                            "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b",
                            "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b"
                          }
                        ],
                        "startGroupActions": []
                      },
                      {
                        "endGroupActions": [],
                        "groupType": "Boot",
                        "replicationProtectedItems": [
                          {
                            "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6",
                            "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6"
                          }
                        ],
                        "startGroupActions": []
                      }
                    ],
                    "lastPlannedFailoverTime": "2017-04-27T08:58:35.9062813Z",
                    "lastTestFailoverTime": "2017-04-27T07:00:27.8354747Z",
                    "primaryFabricFriendlyName": "cloud1",
                    "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1",
                    "recoveryFabricFriendlyName": "Microsoft Azure",
                    "recoveryFabricId": "Microsoft Azure",
                    "replicationProviders": [
                      "HyperVReplicaAzure"
                    ]
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryServicesProviders": {
      "get": {
        "description": "Lists the registered recovery services providers in the vault",
        "operationId": "ReplicationRecoveryServicesProviders_List",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/RecoveryServicesProviderCollection"
            }
          }
        },
        "summary": "Gets the list of registered recovery services providers in the vault. This is a view only api.",
        "tags": [
          "ReplicationRecoveryServicesProviders"
        ],
        "x-ms-examples": {
          "Gets the list of registered recovery services providers in the vault. This is a view only api.": {
            "parameters": {
              "api-version": "2016-08-10",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa",
                      "name": "241641e6-ee7b-4ee4-8141-821fadda43fa",
                      "properties": {
                        "allowedScenarios": [
                          "Refresh"
                        ],
                        "connectionStatus": "Connected",
                        "fabricFriendlyName": "cloud1",
                        "fabricType": "HyperVSite",
                        "friendlyName": "CP-B3L40406-12.ntdev.corp.microsoft.com",
                        "lastHeartBeat": "2017-04-27T09:06:38.2728455Z",
                        "protectedItemCount": 2,
                        "providerVersion": "5.1.2250.0",
                        "providerVersionState": "Latest",
                        "serverVersion": "3.2.7510.0"
                      },
                      "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassificationMappings": {
      "get": {
        "description": "Lists the storage classification mappings in the vault.",
        "operationId": "ReplicationStorageClassificationMappings_List",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/StorageClassificationMappingCollection"
            }
          }
        },
        "summary": "Gets the list of storage classification mappings objects under a vault.",
        "tags": [
          "ReplicationStorageClassificationMappings"
        ],
        "x-ms-examples": {
          "Gets the list of storage classification mappings objects under a vault.": {
            "parameters": {
              "api-version": "2016-08-10",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09/replicationStorageClassificationMappings/testStorageMapping",
                      "name": "testStorageMapping",
                      "properties": {
                        "targetStorageClassificationId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09"
                      },
                      "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassifications": {
      "get": {
        "description": "Lists the storage classifications in the vault.",
        "operationId": "ReplicationStorageClassifications_List",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/StorageClassificationCollection"
            }
          }
        },
        "summary": "Gets the list of storage classification objects under a vault.",
        "tags": [
          "ReplicationStorageClassifications"
        ],
        "x-ms-examples": {
          "Gets the list of storage classification objects under a vault.": {
            "parameters": {
              "api-version": "2016-08-10",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09",
                      "name": "8891569e-aaef-4a46-a4a0-78c14f2d7b09",
                      "properties": {
                        "friendlyName": "testStorageClassification"
                      },
                      "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth": {
      "get": {
        "description": "Gets the health details of the vault.",
        "operationId": "ReplicationVaultHealth_Get",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/VaultHealthDetails"
            }
          }
        },
        "summary": "Gets the health summary for the vault.",
        "tags": [
          "ReplicationVaultHealth"
        ],
        "x-ms-examples": {
          "Gets the health summary for the vault.": {
            "parameters": {
              "api-version": "2016-08-10",
              "resourceGroupName": "resourceGroupPS1",
              "resourceName": "vault1",
              "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationVaultHealth/Default",
                  "name": "Default",
                  "properties": {
                    "fabricsHealth": {
                      "issues": [],
                      "resourceCount": 1
                    },
                    "protectedItemsHealth": {
                      "issues": [
                        {
                          "affectedResourceCorrelationIds": [
                            "c183865e-6077-46f2-a3b1-deb0f4f4650a",
                            "c183865e-6077-46f2-a3b1-ceb0a4c3751e"
                          ],
                          "affectedResourceSubtype": "",
                          "affectedResourceType": "replicationProtectedItems",
                          "category": "Replication",
                          "severity": "Error",
                          "summaryCode": "10008",
                          "summaryMessage": "RPO Throttled"
                        }
                      ],
                      "resourceCount": 6
                    },
                    "vaultErrors": []
                  },
                  "type": "Microsoft.RecoveryServices/vaults/replicationVaultHealth"
                }
              }
            }
          }
        }
      }
    },
    "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationvCenters": {
      "get": {
        "description": "Lists the vCenter servers registered in the vault.",
        "operationId": "ReplicationvCenters_List",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersion"
          },
          {
            "$ref": "#/parameters/ResourceName"
          },
          {
            "$ref": "#/parameters/ResourceGroupName"
          },
          {
            "$ref": "#/parameters/SubscriptionId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/VCenterCollection"
            }
          }
        },
        "summary": "Gets the list of vCenter registered under the vault.",
        "tags": [
          "ReplicationvCenters"
        ],
        "x-ms-examples": {
          "Gets the list of vCenter registered under the vault.": {
            "parameters": {
              "api-version": "2016-08-10",
              "resourceGroupName": "MadhaviVRG",
              "resourceName": "MadhaviVault",
              "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationvCenters/esx-78",
                      "name": "esx-78",
                      "properties": {
                        "discoveryStatus": "Pending",
                        "fabricArmResourceName": "239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d",
                        "friendlyName": "esx-78",
                        "internalId": "inmtest78",
                        "ipAddress": "inmtest78",
                        "port": "443",
                        "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5",
                        "runAsAccountId": "2"
                      },
                      "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    }
  },
  "definitions": {
    "A2AApplyRecoveryPointInput": {
      "allOf": [
        {
          "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput"
        }
      ],
      "description": "ApplyRecoveryPoint input specific to A2A provider.",
      "properties": {},
      "type": "object",
      "x-ms-discriminator-value": "A2A"
    },
    "A2AContainerCreationInput": {
      "allOf": [
        {
          "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput"
        }
      ],
      "description": "A2A cloud creation input.",
      "properties": {},
      "type": "object",
      "x-ms-discriminator-value": "A2A"
    },
    "A2AEnableProtectionInput": {
      "allOf": [
        {
          "$ref": "#/definitions/EnableProtectionProviderSpecificInput"
        }
      ],
      "description": "A2A enable protection input.",
      "properties": {
        "fabricObjectId": {
          "description": "The fabric specific object Id of the virtual machine.",
          "type": "string"
        },
        "recoveryAvailabilitySetId": {
          "description": "The recovery availability set Id.",
          "type": "string"
        },
        "recoveryCloudServiceId": {
          "description": "The recovery cloud service Id. Valid for V1 scenarios.",
          "type": "string"
        },
        "recoveryContainerId": {
          "description": "The recovery container Id.",
          "type": "string"
        },
        "recoveryResourceGroupId": {
          "description": "The recovery resource group Id. Valid for V2 scenarios.",
          "type": "string"
        },
        "vmDisks": {
          "description": "The list of vm disk details.",
          "items": {
            "$ref": "#/definitions/A2AVmDiskInputDetails"
          },
          "type": "array"
        },
        "vmManagedDisks": {
          "description": "The list of vm managed disk details.",
          "items": {
            "$ref": "#/definitions/A2AVmManagedDiskInputDetails"
          },
          "type": "array"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "A2A"
    },
    "A2AEventDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/EventProviderSpecificDetails"
        }
      ],
      "description": "Model class for event details of a A2A event.",
      "properties": {
        "fabricLocation": {
          "description": "The fabric location.",
          "type": "string"
        },
        "fabricName": {
          "description": "Fabric arm name.",
          "type": "string"
        },
        "fabricObjectId": {
          "description": "The azure vm arm id.",
          "type": "string"
        },
        "protectedItemName": {
          "description": "The protected item arm name.",
          "type": "string"
        },
        "remoteFabricLocation": {
          "description": "Remote fabric location.",
          "type": "string"
        },
        "remoteFabricName": {
          "description": "Remote fabric arm name.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "A2A"
    },
    "A2AFailoverProviderInput": {
      "allOf": [
        {
          "$ref": "#/definitions/ProviderSpecificFailoverInput"
        }
      ],
      "description": "A2A provider specific input for failover.",
      "properties": {
        "cloudServiceCreationOption": {
          "description": "A value indicating whether to use recovery cloud service for TFO or not.",
          "type": "string"
        },
        "recoveryPointId": {
          "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "A2A"
    },
    "A2APolicyCreationInput": {
      "allOf": [
        {
          "$ref": "#/definitions/PolicyProviderSpecificInput"
        }
      ],
      "description": "A2A Policy creation input.",
      "properties": {
        "appConsistentFrequencyInMinutes": {
          "description": "The app consistent snapshot frequency (in minutes).",
          "format": "int32",
          "type": "integer"
        },
        "crashConsistentFrequencyInMinutes": {
          "description": "The crash consistent snapshot frequency (in minutes).",
          "format": "int32",
          "type": "integer"
        },
        "multiVmSyncStatus": {
          "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.",
          "enum": [
            "Enable",
            "Disable"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "SetMultiVmSyncStatus"
          }
        },
        "recoveryPointHistory": {
          "description": "The duration in minutes until which the recovery points need to be stored.",
          "format": "int32",
          "type": "integer"
        }
      },
      "required": [
        "multiVmSyncStatus"
      ],
      "type": "object",
      "x-ms-discriminator-value": "A2A"
    },
    "A2APolicyDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/PolicyProviderSpecificDetails"
        }
      ],
      "description": "A2A specific policy details.",
      "properties": {
        "appConsistentFrequencyInMinutes": {
          "description": "The app consistent snapshot frequency in minutes.",
          "format": "int32",
          "type": "integer"
        },
        "crashConsistentFrequencyInMinutes": {
          "description": "The crash consistent snapshot frequency in minutes.",
          "format": "int32",
          "type": "integer"
        },
        "multiVmSyncStatus": {
          "description": "A value indicating whether multi-VM sync has to be enabled.",
          "type": "string"
        },
        "recoveryPointHistory": {
          "description": "The duration in minutes until which the recovery points need to be stored.",
          "format": "int32",
          "type": "integer"
        },
        "recoveryPointThresholdInMinutes": {
          "description": "The recovery point threshold in minutes.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "A2A"
    },
    "A2AProtectedDiskDetails": {
      "description": "A2A protected disk details.",
      "properties": {
        "dataPendingAtSourceAgentInMB": {
          "description": "The data pending at source virtual machine in MB.",
          "format": "double",
          "type": "number"
        },
        "dataPendingInStagingStorageAccountInMB": {
          "description": "The data pending for replication in MB at staging account.",
          "format": "double",
          "type": "number"
        },
        "diskCapacityInBytes": {
          "description": "The disk capacity in bytes.",
          "format": "int64",
          "type": "integer"
        },
        "diskName": {
          "description": "The disk name.",
          "type": "string"
        },
        "diskType": {
          "description": "The type of disk.",
          "type": "string"
        },
        "diskUri": {
          "description": "The disk uri.",
          "type": "string"
        },
        "monitoringJobType": {
          "description": "The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.",
          "type": "string"
        },
        "monitoringPercentageCompletion": {
          "description": "The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.",
          "format": "int32",
          "type": "integer"
        },
        "primaryDiskAzureStorageAccountId": {
          "description": "The primary disk storage account.",
          "type": "string"
        },
        "primaryStagingAzureStorageAccountId": {
          "description": "The primary staging storage account.",
          "type": "string"
        },
        "recoveryAzureStorageAccountId": {
          "description": "The recovery disk storage account.",
          "type": "string"
        },
        "recoveryDiskUri": {
          "description": "Recovery disk uri.",
          "type": "string"
        },
        "resyncRequired": {
          "description": "A value indicating whether resync is required for this disk.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "A2AProtectedManagedDiskDetails": {
      "description": "A2A protected managed disk details.",
      "properties": {
        "dataPendingAtSourceAgentInMB": {
          "description": "The data pending at source virtual machine in MB.",
          "format": "double",
          "type": "number"
        },
        "dataPendingInStagingStorageAccountInMB": {
          "description": "The data pending for replication in MB at staging account.",
          "format": "double",
          "type": "number"
        },
        "diskCapacityInBytes": {
          "description": "The disk capacity in bytes.",
          "format": "int64",
          "type": "integer"
        },
        "diskId": {
          "description": "The managed disk Arm id.",
          "type": "string"
        },
        "diskName": {
          "description": "The disk name.",
          "type": "string"
        },
        "diskType": {
          "description": "The type of disk.",
          "type": "string"
        },
        "monitoringJobType": {
          "description": "The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.",
          "type": "string"
        },
        "monitoringPercentageCompletion": {
          "description": "The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.",
          "format": "int32",
          "type": "integer"
        },
        "primaryStagingAzureStorageAccountId": {
          "description": "The primary staging storage account.",
          "type": "string"
        },
        "recoveryAzureResourceGroupId": {
          "description": "The recovery disk resource group Arm Id.",
          "type": "string"
        },
        "recoveryDiskId": {
          "description": "Recovery disk Arm Id.",
          "type": "string"
        },
        "resyncRequired": {
          "description": "A value indicating whether resync is required for this disk.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "A2AReplicationDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/ReplicationProviderSpecificSettings"
        }
      ],
      "description": "A2A provider specific settings.",
      "properties": {
        "agentVersion": {
          "description": "The agent version.",
          "type": "string"
        },
        "fabricObjectId": {
          "description": "The fabric specific object Id of the virtual machine.",
          "type": "string"
        },
        "isReplicationAgentUpdateRequired": {
          "description": "A value indicating whether replication agent update is required.",
          "type": "boolean"
        },
        "lastHeartbeat": {
          "description": "The last heartbeat received from the source server.",
          "format": "date-time",
          "type": "string"
        },
        "lastRpoCalculatedTime": {
          "description": "The time (in UTC) when the last RPO value was calculated by Protection Service.",
          "format": "date-time",
          "type": "string"
        },
        "lifecycleId": {
          "description": "An id associated with the PE that survives actions like switch protection which change the backing PE/CPE objects internally.The lifecycle id gets carried forward to have a link/continuity in being able to have an Id that denotes the \"same\" protected item even though other internal Ids/ARM Id might be changing.",
          "type": "string"
        },
        "managementId": {
          "description": "The management Id.",
          "type": "string"
        },
        "monitoringJobType": {
          "description": "The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.",
          "type": "string"
        },
        "monitoringPercentageCompletion": {
          "description": "The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.",
          "format": "int32",
          "type": "integer"
        },
        "multiVmGroupId": {
          "description": "The multi vm group Id.",
          "type": "string"
        },
        "multiVmGroupName": {
          "description": "The multi vm group name.",
          "type": "string"
        },
        "osType": {
          "description": "The type of operating system.",
          "type": "string"
        },
        "primaryFabricLocation": {
          "description": "Primary fabric location.",
          "type": "string"
        },
        "protectedDisks": {
          "description": "The list of protected disks.",
          "items": {
            "$ref": "#/definitions/A2AProtectedDiskDetails"
          },
          "type": "array"
        },
        "protectedManagedDisks": {
          "description": "The list of protected managed disks.",
          "items": {
            "$ref": "#/definitions/A2AProtectedManagedDiskDetails"
          },
          "type": "array"
        },
        "recoveryAvailabilitySet": {
          "description": "The recovery availability set.",
          "type": "string"
        },
        "recoveryAzureResourceGroupId": {
          "description": "The recovery resource group.",
          "type": "string"
        },
        "recoveryAzureVMName": {
          "description": "The name of recovery virtual machine.",
          "type": "string"
        },
        "recoveryAzureVMSize": {
          "description": "The size of recovery virtual machine.",
          "type": "string"
        },
        "recoveryCloudService": {
          "description": "The recovery cloud service.",
          "type": "string"
        },
        "recoveryFabricLocation": {
          "description": "The recovery fabric location.",
          "type": "string"
        },
        "recoveryFabricObjectId": {
          "description": "The recovery fabric object Id.",
          "type": "string"
        },
        "rpoInSeconds": {
          "description": "The last RPO value in seconds.",
          "format": "int64",
          "type": "integer"
        },
        "selectedRecoveryAzureNetworkId": {
          "description": "The recovery virtual network.",
          "type": "string"
        },
        "testFailoverRecoveryFabricObjectId": {
          "description": "The test failover fabric object Id.",
          "type": "string"
        },
        "vmNics": {
          "description": "The virtual machine nic details.",
          "items": {
            "$ref": "#/definitions/VMNicDetails"
          },
          "type": "array"
        },
        "vmProtectionState": {
          "description": "The protection state for the vm.",
          "type": "string"
        },
        "vmProtectionStateDescription": {
          "description": "The protection state description for the vm.",
          "type": "string"
        },
        "vmSyncedConfigDetails": {
          "$ref": "#/definitions/AzureToAzureVmSyncedConfigDetails",
          "description": "The synced configuration details."
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "A2A"
    },
    "A2AReprotectInput": {
      "allOf": [
        {
          "$ref": "#/definitions/ReverseReplicationProviderSpecificInput"
        }
      ],
      "description": "Azure specific reprotect input.",
      "properties": {
        "policyId": {
          "description": "The Policy Id.",
          "type": "string"
        },
        "recoveryAvailabilitySetId": {
          "description": "The recovery availability set.",
          "type": "string"
        },
        "recoveryCloudServiceId": {
          "description": "The recovery cloud service Id. Valid for V1 scenarios.",
          "type": "string"
        },
        "recoveryContainerId": {
          "description": "The recovery container Id.",
          "type": "string"
        },
        "recoveryResourceGroupId": {
          "description": "The recovery resource group Id. Valid for V2 scenarios.",
          "type": "string"
        },
        "vmDisks": {
          "description": "The list of vm disk details.",
          "items": {
            "$ref": "#/definitions/A2AVmDiskInputDetails"
          },
          "type": "array"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "A2A"
    },
    "A2ASwitchProtectionInput": {
      "allOf": [
        {
          "$ref": "#/definitions/SwitchProtectionProviderSpecificInput"
        }
      ],
      "description": "A2A specific switch protection input.",
      "properties": {
        "policyId": {
          "description": "The Policy Id.",
          "type": "string"
        },
        "recoveryAvailabilitySetId": {
          "description": "The recovery availability set.",
          "type": "string"
        },
        "recoveryCloudServiceId": {
          "description": "The recovery cloud service Id. Valid for V1 scenarios.",
          "type": "string"
        },
        "recoveryContainerId": {
          "description": "The recovery container Id.",
          "type": "string"
        },
        "recoveryResourceGroupId": {
          "description": "The recovery resource group Id. Valid for V2 scenarios.",
          "type": "string"
        },
        "vmDisks": {
          "description": "The list of vm disk details.",
          "items": {
            "$ref": "#/definitions/A2AVmDiskInputDetails"
          },
          "type": "array"
        },
        "vmManagedDisks": {
          "description": "The list of vm managed disk details.",
          "items": {
            "$ref": "#/definitions/A2AVmManagedDiskInputDetails"
          },
          "type": "array"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "A2A"
    },
    "A2AUpdateReplicationProtectedItemInput": {
      "allOf": [
        {
          "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput"
        }
      ],
      "description": "InMage Azure V2 input to update replication protected item.",
      "properties": {
        "recoveryCloudServiceId": {
          "description": "The target cloud service ARM Id (for V1).",
          "type": "string"
        },
        "recoveryResourceGroupId": {
          "description": "The target resource group ARM Id (for V2).",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "A2A"
    },
    "A2AVmDiskInputDetails": {
      "description": "Azure VM disk input details.",
      "properties": {
        "diskUri": {
          "description": "The disk Uri.",
          "type": "string"
        },
        "primaryStagingAzureStorageAccountId": {
          "description": "The primary staging storage account Id.",
          "type": "string"
        },
        "recoveryAzureStorageAccountId": {
          "description": "The recovery VHD storage account Id.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "A2AVmManagedDiskInputDetails": {
      "description": "Azure VM managed disk input details.",
      "properties": {
        "diskId": {
          "description": "The disk Id.",
          "type": "string"
        },
        "primaryStagingAzureStorageAccountId": {
          "description": "The primary staging storage account Arm Id.",
          "type": "string"
        },
        "recoveryResourceGroupId": {
          "description": "The target resource group Arm Id.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ARMException": {
      "description": "ARM inner exception class.",
      "properties": {
        "code": {
          "description": "Gets HTTP status code for the error.",
          "type": "string"
        },
        "details": {
          "description": "Gets service based error details.",
          "items": {
            "$ref": "#/definitions/ARMExceptionDetails"
          },
          "type": "array"
        },
        "innererror": {
          "$ref": "#/definitions/ARMInnerError",
          "description": "Gets private data for service debugging."
        },
        "message": {
          "description": "Gets exception message.",
          "type": "string"
        },
        "target": {
          "description": "Gets exception target.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ARMExceptionDetails": {
      "description": "Service based exception details.",
      "properties": {
        "activityId": {
          "description": "Gets the activity Id for the session.",
          "type": "string"
        },
        "clientRequestId": {
          "description": "Gets the client request Id for the session.",
          "type": "string"
        },
        "code": {
          "description": "Gets service error code.",
          "type": "string"
        },
        "message": {
          "description": "Gets error message.",
          "type": "string"
        },
        "possibleCauses": {
          "description": "Gets possible cause for error.",
          "type": "string"
        },
        "recommendedAction": {
          "description": "Gets recommended action for the error.",
          "type": "string"
        },
        "target": {
          "description": "Gets exception target.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ARMInnerError": {
      "description": "ARM internal error class for providing additional debug data.",
      "properties": {
        "cloudId": {
          "description": "Gets cloud Id in exception.",
          "type": "string"
        },
        "containerId": {
          "description": "Gets container Id of the caller.",
          "type": "string"
        },
        "fabricId": {
          "description": "Gets Fabric Id.",
          "type": "string"
        },
        "hVClusterId": {
          "description": "Gets hyperV cluster Id.",
          "type": "string"
        },
        "hVHostId": {
          "description": "Gets hyperV host ID.",
          "type": "string"
        },
        "liveId": {
          "description": "Gets Live Id of the caller.",
          "type": "string"
        },
        "methodStatus": {
          "$ref": "#/definitions/MethodCallStatus",
          "description": "Gets data related to method which threw the exception."
        },
        "networkId": {
          "description": "Gets network Id.",
          "type": "string"
        },
        "resourceId": {
          "description": "Gets resource id used in the call.",
          "type": "string"
        },
        "resourceName": {
          "description": "Gets caller resource name.",
          "type": "string"
        },
        "serializedSRSLogContext": {
          "description": "Gets serialized SRS log context.",
          "type": "string"
        },
        "source": {
          "description": "Gets exception source.",
          "type": "string"
        },
        "subscriptionId": {
          "description": "Gets subscription Id.",
          "type": "string"
        },
        "trace": {
          "description": "Gets complete stack trace of the exception.",
          "type": "string"
        },
        "vmId": {
          "description": "Gets Vm Id.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ASRTask": {
      "description": "Task of the Job.",
      "properties": {
        "allowedActions": {
          "description": "The state/actions applicable on this task.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "customDetails": {
          "$ref": "#/definitions/TaskTypeDetails",
          "description": "The custom task details based on the task type."
        },
        "endTime": {
          "description": "The end time.",
          "format": "date-time",
          "type": "string"
        },
        "errors": {
          "description": "The task error details.",
          "items": {
            "$ref": "#/definitions/JobErrorDetails"
          },
          "type": "array"
        },
        "friendlyName": {
          "description": "The name.",
          "type": "string"
        },
        "groupTaskCustomDetails": {
          "$ref": "#/definitions/GroupTaskDetails",
          "description": "The custom task details based on the task type, if the task type is GroupTaskDetails or one of the types derived from it."
        },
        "name": {
          "description": "The unique Task name.",
          "type": "string"
        },
        "startTime": {
          "description": "The start time.",
          "format": "date-time",
          "type": "string"
        },
        "state": {
          "description": "The State. It is one of these values - NotStarted, InProgress, Succeeded, Failed, Cancelled, Suspended or Other.",
          "type": "string"
        },
        "stateDescription": {
          "description": "The description of the task state. For example - For Succeeded state, description can be Completed, PartiallySucceeded, CompletedWithInformation or Skipped.",
          "type": "string"
        },
        "taskId": {
          "description": "The Id.",
          "type": "string"
        },
        "taskType": {
          "description": "The type of task. Details in CustomDetails property depend on this type.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "AddVCenterRequest": {
      "description": "Input required to add vCenter.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/AddVCenterRequestProperties",
          "description": "The properties of an add vCenter request."
        }
      },
      "type": "object"
    },
    "AddVCenterRequestProperties": {
      "description": "The properties of an add vCenter request.",
      "properties": {
        "friendlyName": {
          "description": "The friendly name of the vCenter.",
          "type": "string"
        },
        "ipAddress": {
          "description": "The IP address of the vCenter to be discovered.",
          "type": "string"
        },
        "port": {
          "description": "The port number for discovery.",
          "type": "string"
        },
        "processServerId": {
          "description": "The process server Id from where the discovery is orchestrated.",
          "type": "string"
        },
        "runAsAccountId": {
          "description": "The account Id which has privileges to discover the vCenter.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Alert": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "Implements the Alert class.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/AlertProperties",
          "description": "Alert related data."
        }
      },
      "type": "object"
    },
    "AlertCollection": {
      "description": "Collection of alerts.",
      "properties": {
        "nextLink": {
          "description": "The value of next link.",
          "type": "string"
        },
        "value": {
          "description": "The list of alerts.",
          "items": {
            "$ref": "#/definitions/Alert"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "AlertProperties": {
      "description": "The properties of an alert.",
      "properties": {
        "customEmailAddresses": {
          "description": "The custom email address for sending emails.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "locale": {
          "description": "The locale for the email notification.",
          "type": "string"
        },
        "sendToOwners": {
          "description": "A value indicating whether to send email to subscription administrator.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ApplyRecoveryPointInput": {
      "description": "Input to apply recovery point.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/ApplyRecoveryPointInputProperties",
          "description": "The input properties to apply recovery point."
        }
      },
      "type": "object"
    },
    "ApplyRecoveryPointInputProperties": {
      "description": "Input properties to apply recovery point.",
      "properties": {
        "providerSpecificDetails": {
          "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput",
          "description": "Provider specific input for applying recovery point."
        },
        "recoveryPointId": {
          "description": "The recovery point Id.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ApplyRecoveryPointProviderSpecificInput": {
      "description": "Provider specific input for apply recovery point.",
      "discriminator": "instanceType",
      "properties": {
        "instanceType": {
          "description": "The class type.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "AsrJobDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/JobDetails"
        }
      ],
      "description": "This class represents job details based on specific job type.",
      "properties": {},
      "type": "object",
      "x-ms-discriminator-value": "AsrJobDetails"
    },
    "AutomationRunbookTaskDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/TaskTypeDetails"
        }
      ],
      "description": "This class represents the task details for an automation runbook.",
      "properties": {
        "accountName": {
          "description": "The automation account name of the runbook.",
          "type": "string"
        },
        "cloudServiceName": {
          "description": "The cloud service of the automation runbook account.",
          "type": "string"
        },
        "isPrimarySideScript": {
          "description": "A value indicating whether it is a primary side script or not.",
          "type": "boolean"
        },
        "jobId": {
          "description": "The job Id of the runbook execution.",
          "type": "string"
        },
        "jobOutput": {
          "description": "The execution output of the runbook.",
          "type": "string"
        },
        "name": {
          "description": "The recovery plan task name.",
          "type": "string"
        },
        "runbookId": {
          "description": "The runbook Id.",
          "type": "string"
        },
        "runbookName": {
          "description": "The runbook name.",
          "type": "string"
        },
        "subscriptionId": {
          "description": "The subscription Id of the automation runbook account.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "AutomationRunbookTaskDetails"
    },
    "AzureFabricCreationInput": {
      "allOf": [
        {
          "$ref": "#/definitions/FabricSpecificCreationInput"
        }
      ],
      "description": "Fabric provider specific settings.",
      "properties": {
        "location": {
          "description": "The Location.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "Azure"
    },
    "AzureFabricSpecificDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/FabricSpecificDetails"
        }
      ],
      "description": "Azure Fabric Specific Details.",
      "properties": {
        "containerIds": {
          "description": "The container Ids for the Azure fabric.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "location": {
          "description": "The Location for the Azure fabric.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "Azure"
    },
    "AzureToAzureCreateNetworkMappingInput": {
      "allOf": [
        {
          "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput"
        }
      ],
      "description": "Create network mappings input properties/behavior specific to Azure to Azure Network mapping.",
      "properties": {
        "primaryNetworkId": {
          "description": "The primary azure vnet Id.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "AzureToAzure"
    },
    "AzureToAzureNetworkMappingSettings": {
      "allOf": [
        {
          "$ref": "#/definitions/NetworkMappingFabricSpecificSettings"
        }
      ],
      "description": "A2A Network Mapping fabric specific settings.",
      "properties": {
        "primaryFabricLocation": {
          "description": "The primary fabric location.",
          "type": "string"
        },
        "recoveryFabricLocation": {
          "description": "The recovery fabric location.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "AzureToAzure"
    },
    "AzureToAzureUpdateNetworkMappingInput": {
      "allOf": [
        {
          "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput"
        }
      ],
      "description": "Updates network mappings input.",
      "properties": {
        "primaryNetworkId": {
          "description": "The primary azure vnet Id.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "AzureToAzure"
    },
    "AzureToAzureVmSyncedConfigDetails": {
      "description": "Azure to Azure VM synced configuration details.",
      "properties": {
        "inputEndpoints": {
          "description": "The Azure VM input endpoints.",
          "items": {
            "$ref": "#/definitions/InputEndpoint"
          },
          "type": "array"
        },
        "roleAssignments": {
          "description": "The Azure role assignments.",
          "items": {
            "$ref": "#/definitions/RoleAssignment"
          },
          "type": "array"
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The Azure VM tags.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "AzureVmDiskDetails": {
      "description": "Disk details for E2A provider.",
      "properties": {
        "lunId": {
          "description": "Ordinal\\LunId of the disk for the Azure VM.",
          "type": "string"
        },
        "maxSizeMB": {
          "description": "Max side in MB.",
          "type": "string"
        },
        "targetDiskLocation": {
          "description": "Blob uri of the Azure disk.",
          "type": "string"
        },
        "targetDiskName": {
          "description": "The target Azure disk name.",
          "type": "string"
        },
        "vhdId": {
          "description": "The VHD id.",
          "type": "string"
        },
        "vhdName": {
          "description": "VHD name.",
          "type": "string"
        },
        "vhdType": {
          "description": "VHD type.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ConfigurationSettings": {
      "description": "Replication provider specific settings.",
      "discriminator": "instanceType",
      "properties": {
        "instanceType": {
          "description": "Gets the class type. Overridden in derived classes.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "ConfigureAlertRequest": {
      "description": "Request to configure alerts for the system.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/ConfigureAlertRequestProperties",
          "description": "The properties of a configure alert request."
        }
      },
      "type": "object"
    },
    "ConfigureAlertRequestProperties": {
      "description": "Properties of a configure alert request.",
      "properties": {
        "customEmailAddresses": {
          "description": "The custom email address for sending emails.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "locale": {
          "description": "The locale for the email notification.",
          "type": "string"
        },
        "sendToOwners": {
          "description": "A value indicating whether to send email to subscription administrator.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ConsistencyCheckTaskDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/TaskTypeDetails"
        }
      ],
      "description": "This class contains monitoring details of all the inconsistent Protected Entities in Vmm.",
      "properties": {
        "vmDetails": {
          "description": "The list of inconsistent Vm details.",
          "items": {
            "$ref": "#/definitions/InconsistentVmDetails"
          },
          "type": "array"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "ConsistencyCheckTaskDetails"
    },
    "CreateNetworkMappingInput": {
      "description": "Create network mappings input.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/CreateNetworkMappingInputProperties",
          "description": "Input properties for creating network mapping."
        }
      },
      "type": "object"
    },
    "CreateNetworkMappingInputProperties": {
      "description": "Common input details for network mapping operation.",
      "properties": {
        "fabricSpecificDetails": {
          "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput",
          "description": "Fabric specific input properties."
        },
        "recoveryFabricName": {
          "description": "Recovery fabric Name.",
          "type": "string"
        },
        "recoveryNetworkId": {
          "description": "Recovery network Id.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CreatePolicyInput": {
      "description": "Protection profile input.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/CreatePolicyInputProperties",
          "description": "Policy creation properties."
        }
      },
      "type": "object"
    },
    "CreatePolicyInputProperties": {
      "description": "Policy creation properties.",
      "properties": {
        "providerSpecificInput": {
          "$ref": "#/definitions/PolicyProviderSpecificInput",
          "description": "The ReplicationProviderSettings."
        }
      },
      "type": "object"
    },
    "CreateProtectionContainerInput": {
      "description": "Create protection container input.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/CreateProtectionContainerInputProperties",
          "description": "Create protection container input properties."
        }
      },
      "type": "object"
    },
    "CreateProtectionContainerInputProperties": {
      "description": "Create protection container input properties.",
      "properties": {
        "providerSpecificInput": {
          "description": "Provider specific inputs for container creation.",
          "items": {
            "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "CreateProtectionContainerMappingInput": {
      "description": "Configure pairing input.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/CreateProtectionContainerMappingInputProperties",
          "description": "Configure protection input properties."
        }
      },
      "type": "object"
    },
    "CreateProtectionContainerMappingInputProperties": {
      "description": "Configure pairing input properties.",
      "properties": {
        "PolicyId": {
          "description": "Applicable policy.",
          "type": "string"
        },
        "providerSpecificInput": {
          "$ref": "#/definitions/ReplicationProviderSpecificContainerMappingInput",
          "description": "Provider specific input for pairing."
        },
        "targetProtectionContainerId": {
          "description": "The target unique protection container name.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CreateRecoveryPlanInput": {
      "description": "Create recovery plan input class.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/CreateRecoveryPlanInputProperties",
          "description": "Recovery plan creation properties."
        }
      },
      "required": [
        "properties"
      ],
      "type": "object"
    },
    "CreateRecoveryPlanInputProperties": {
      "description": "Recovery plan creation properties.",
      "properties": {
        "failoverDeploymentModel": {
          "description": "The failover deployment model.",
          "enum": [
            "NotApplicable",
            "Classic",
            "ResourceManager"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "FailoverDeploymentModel"
          }
        },
        "groups": {
          "description": "The recovery plan groups.",
          "items": {
            "$ref": "#/definitions/RecoveryPlanGroup"
          },
          "type": "array"
        },
        "primaryFabricId": {
          "description": "The primary fabric Id.",
          "type": "string"
        },
        "recoveryFabricId": {
          "description": "The recovery fabric Id.",
          "type": "string"
        }
      },
      "required": [
        "primaryFabricId",
        "recoveryFabricId",
        "groups"
      ],
      "type": "object"
    },
    "CurrentScenarioDetails": {
      "description": "Current scenario details of the protected entity.",
      "properties": {
        "jobId": {
          "description": "ARM Id of the job being executed.",
          "type": "string"
        },
        "scenarioName": {
          "description": "Scenario name.",
          "type": "string"
        },
        "startTime": {
          "description": "Start time of the workflow.",
          "format": "date-time",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DataStore": {
      "description": "The data store details of the MT.",
      "properties": {
        "capacity": {
          "description": "The capacity of data store in GBs.",
          "type": "string"
        },
        "freeSpace": {
          "description": "The free space of data store in GBs.",
          "type": "string"
        },
        "symbolicName": {
          "description": "The symbolic name of data store.",
          "type": "string"
        },
        "type": {
          "description": "The type of data store.",
          "type": "string"
        },
        "uuid": {
          "description": "The uuid of data store.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DisableProtectionInput": {
      "description": "Disable protection input.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/DisableProtectionInputProperties",
          "description": "Disable protection input properties."
        }
      },
      "type": "object"
    },
    "DisableProtectionInputProperties": {
      "description": "Disable protection input properties.",
      "properties": {
        "disableProtectionReason": {
          "description": "Disable protection reason. It can have values NotSpecified/MigrationComplete.",
          "enum": [
            "NotSpecified",
            "MigrationComplete"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "DisableProtectionReason"
          }
        },
        "replicationProviderInput": {
          "$ref": "#/definitions/DisableProtectionProviderSpecificInput",
          "description": "Replication provider specific input."
        }
      },
      "type": "object"
    },
    "DisableProtectionProviderSpecificInput": {
      "description": "Disable protection provider specific input.",
      "discriminator": "instanceType",
      "properties": {
        "instanceType": {
          "description": "The class type.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DiscoverProtectableItemRequest": {
      "description": "Request to add a physical machine as a protectable item in a container.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/DiscoverProtectableItemRequestProperties",
          "description": "The properties of a discover protectable item request."
        }
      },
      "type": "object"
    },
    "DiscoverProtectableItemRequestProperties": {
      "description": "Discover protectable item properties.",
      "properties": {
        "friendlyName": {
          "description": "The friendly name of the physical machine.",
          "type": "string"
        },
        "ipAddress": {
          "description": "The IP address of the physical machine to be discovered.",
          "type": "string"
        },
        "osType": {
          "description": "The OS type on the physical machine.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DiskDetails": {
      "description": "On-prem disk details data.",
      "properties": {
        "maxSizeMB": {
          "description": "The hard disk max size in MB.",
          "format": "int64",
          "type": "integer"
        },
        "vhdId": {
          "description": "The VHD Id.",
          "type": "string"
        },
        "vhdName": {
          "description": "The VHD name.",
          "type": "string"
        },
        "vhdType": {
          "description": "The type of the volume.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DiskVolumeDetails": {
      "description": "Volume details.",
      "properties": {
        "label": {
          "description": "The volume label.",
          "type": "string"
        },
        "name": {
          "description": "The volume name.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Display": {
      "description": "Contains the localized display information for this particular operation / action. These value will be used by several clients for (1) custom role definitions for RBAC; (2) complex query filters for the event service; and (3) audit history / records for management operations.",
      "properties": {
        "description": {
          "description": "The description. The localized friendly description for the operation, as it should be shown to the user. It should be thorough, yet concise – it will be used in tool tips and detailed views. Prescriptive guidance for namespaces: Read any 'display.provider' resource Create or Update any 'display.provider' resource Delete any 'display.provider' resource Perform any other action on any 'display.provider' resource Prescriptive guidance for namespaces: Read any 'display.resource' Create or Update any 'display.resource' Delete any 'display.resource' 'ActionName' any 'display.resources'",
          "type": "string"
        },
        "operation": {
          "description": "The operation. The localized friendly name for the operation, as it should be shown to the user. It should be concise (to fit in drop downs) but clear (i.e. self-documenting). It should use Title Casing. Prescriptive guidance: Read Create or Update Delete 'ActionName'",
          "type": "string"
        },
        "provider": {
          "description": "The provider. The localized friendly form of the resource provider name – it is expected to also include the publisher/company responsible. It should use Title Casing and begin with \"Microsoft\" for 1st party services. e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute.\"",
          "type": "string"
        },
        "resource": {
          "description": "The resource. The localized friendly form of the resource related to this action/operation – it should match the public documentation for the resource provider. It should use Title Casing. This value should be unique for a particular URL type (e.g. nested types should *not* reuse their parent’s display.resource field). e.g. \"Virtual Machines\" or \"Scheduler Job Collections\", or \"Virtual Machine VM Sizes\" or \"Scheduler Jobs\"",
          "type": "string"
        }
      },
      "type": "object"
    },
    "EnableProtectionInput": {
      "description": "Enable protection input.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/EnableProtectionInputProperties",
          "description": "Enable protection input properties."
        }
      },
      "type": "object"
    },
    "EnableProtectionInputProperties": {
      "description": "Enable protection input properties.",
      "properties": {
        "policyId": {
          "description": "The Policy Id.",
          "type": "string"
        },
        "protectableItemId": {
          "description": "The protectable item Id.",
          "type": "string"
        },
        "providerSpecificDetails": {
          "$ref": "#/definitions/EnableProtectionProviderSpecificInput",
          "description": "The ReplicationProviderInput. For HyperVReplicaAzure provider, it will be AzureEnableProtectionInput object. For San provider, it will be SanEnableProtectionInput object. For HyperVReplicaAzure provider, it can be null."
        }
      },
      "type": "object"
    },
    "EnableProtectionProviderSpecificInput": {
      "description": "Enable protection provider specific input.",
      "discriminator": "instanceType",
      "properties": {
        "instanceType": {
          "description": "The class type.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "EncryptionDetails": {
      "description": "Encryption details for the fabric.",
      "properties": {
        "kekCertExpiryDate": {
          "description": "The key encryption key certificate expiry date.",
          "format": "date-time",
          "type": "string"
        },
        "kekCertThumbprint": {
          "description": "The key encryption key certificate thumbprint.",
          "type": "string"
        },
        "kekState": {
          "description": "The key encryption key state for the Vmm.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Event": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "Implements the Event class.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/EventProperties",
          "description": "Event related data."
        }
      },
      "type": "object"
    },
    "EventCollection": {
      "description": "Collection of fabric details.",
      "properties": {
        "nextLink": {
          "description": "The value of next link.",
          "type": "string"
        },
        "value": {
          "description": "The list of events.",
          "items": {
            "$ref": "#/definitions/Event"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "EventProperties": {
      "description": "The properties of a monitoring event.",
      "properties": {
        "affectedObjectFriendlyName": {
          "description": "The friendly name of the source of the event on which it is raised (for example, VM, VMM etc).",
          "type": "string"
        },
        "description": {
          "description": "The event name.",
          "type": "string"
        },
        "eventCode": {
          "description": "The Id of the monitoring event.",
          "type": "string"
        },
        "eventSpecificDetails": {
          "$ref": "#/definitions/EventSpecificDetails",
          "description": "The event specific settings."
        },
        "eventType": {
          "description": "The type of the event. for example: VM Health, Server Health, Job Failure etc.",
          "type": "string"
        },
        "fabricId": {
          "description": "The ARM ID of the fabric.",
          "type": "string"
        },
        "healthErrors": {
          "description": "The list of errors / warnings capturing details associated with the issue(s).",
          "items": {
            "$ref": "#/definitions/HealthError"
          },
          "type": "array"
        },
        "providerSpecificDetails": {
          "$ref": "#/definitions/EventProviderSpecificDetails",
          "description": "The provider specific settings."
        },
        "severity": {
          "description": "The severity of the event.",
          "type": "string"
        },
        "timeOfOccurrence": {
          "description": "The time of occurrence of the event.",
          "format": "date-time",
          "type": "string"
        }
      },
      "type": "object"
    },
    "EventProviderSpecificDetails": {
      "description": "Model class for provider specific details for an event.",
      "discriminator": "instanceType",
      "properties": {
        "instanceType": {
          "description": "Gets the class type. Overridden in derived classes.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "EventQueryParameter": {
      "description": "Implements the event query parameter.",
      "properties": {
        "AffectedObjectFriendlyName": {
          "description": "The affected object name of the events to be queried.",
          "type": "string"
        },
        "EndTime": {
          "description": "The end time of the time range within which the events are to be queried.",
          "format": "date-time",
          "type": "string"
        },
        "EventCode": {
          "description": "The source id of the events to be queried.",
          "type": "string"
        },
        "EventType": {
          "description": "The type of the events to be queried.",
          "type": "string"
        },
        "FabricName": {
          "description": "The affected object server id of the events to be queried.",
          "type": "string"
        },
        "Severity": {
          "description": "The severity of the events to be queried.",
          "type": "string"
        },
        "StartTime": {
          "description": "The start time of the time range within which the events are to be queried.",
          "format": "date-time",
          "type": "string"
        }
      },
      "type": "object"
    },
    "EventSpecificDetails": {
      "description": "Model class for event specific details for an event.",
      "discriminator": "instanceType",
      "properties": {
        "instanceType": {
          "description": "Gets the class type. Overridden in derived classes.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "ExportJobDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/JobDetails"
        }
      ],
      "description": "This class represents details for export jobs workflow.",
      "properties": {
        "blobUri": {
          "description": "BlobUri of the exported jobs.",
          "type": "string"
        },
        "sasToken": {
          "description": "The sas token to access blob.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "ExportJobDetails"
    },
    "Fabric": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "Fabric definition.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/FabricProperties",
          "description": "Fabric related data."
        }
      },
      "type": "object"
    },
    "FabricCollection": {
      "description": "Collection of fabric details.",
      "properties": {
        "nextLink": {
          "description": "The value of next link.",
          "type": "string"
        },
        "value": {
          "description": "The fabric details.",
          "items": {
            "$ref": "#/definitions/Fabric"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "FabricCreationInput": {
      "description": "Site details provided during the time of site creation",
      "properties": {
        "properties": {
          "$ref": "#/definitions/FabricCreationInputProperties",
          "description": "Fabric creation input."
        }
      },
      "type": "object"
    },
    "FabricCreationInputProperties": {
      "description": "Properties of site details provided during the time of site creation",
      "properties": {
        "customDetails": {
          "$ref": "#/definitions/FabricSpecificCreationInput",
          "description": "Fabric provider specific creation input."
        }
      },
      "type": "object"
    },
    "FabricProperties": {
      "description": "Fabric properties.",
      "properties": {
        "bcdrState": {
          "description": "BCDR state of the fabric.",
          "type": "string"
        },
        "customDetails": {
          "$ref": "#/definitions/FabricSpecificDetails",
          "description": "Fabric specific settings."
        },
        "encryptionDetails": {
          "$ref": "#/definitions/EncryptionDetails",
          "description": "Encryption details for the fabric."
        },
        "friendlyName": {
          "description": "Friendly name of the fabric.",
          "type": "string"
        },
        "health": {
          "description": "Health of fabric.",
          "type": "string"
        },
        "healthErrorDetails": {
          "description": "Fabric health error details.",
          "items": {
            "$ref": "#/definitions/HealthError"
          },
          "type": "array"
        },
        "internalIdentifier": {
          "description": "Dra Registration Id.",
          "type": "string"
        },
        "rolloverEncryptionDetails": {
          "$ref": "#/definitions/EncryptionDetails",
          "description": "Rollover encryption details for the fabric."
        }
      },
      "type": "object"
    },
    "FabricReplicationGroupTaskDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/TaskTypeDetails"
        }
      ],
      "description": "This class represents the fabric replication group task details.",
      "properties": {
        "jobTask": {
          "$ref": "#/definitions/JobEntity",
          "description": "The job entity."
        },
        "skippedReason": {
          "description": "The skipped reason.",
          "type": "string"
        },
        "skippedReasonString": {
          "description": "The skipped reason string.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "FabricReplicationGroupTaskDetails"
    },
    "FabricSpecificCreateNetworkMappingInput": {
      "description": "Input details specific to fabrics during Network Mapping.",
      "discriminator": "instanceType",
      "properties": {
        "instanceType": {
          "description": "The instance type.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "FabricSpecificCreationInput": {
      "description": "Fabric provider specific settings.",
      "discriminator": "instanceType",
      "properties": {
        "instanceType": {
          "description": "Gets the class type.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "FabricSpecificDetails": {
      "description": "Fabric specific details.",
      "discriminator": "instanceType",
      "properties": {
        "instanceType": {
          "description": "Gets the class type. Overridden in derived classes.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "FabricSpecificUpdateNetworkMappingInput": {
      "description": "Input details specific to fabrics during Network Mapping.",
      "discriminator": "instanceType",
      "properties": {
        "instanceType": {
          "description": "The instance type.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "FailoverJobDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/JobDetails"
        }
      ],
      "description": "This class represents the details for a failover job.",
      "properties": {
        "protectedItemDetails": {
          "description": "The test VM details.",
          "items": {
            "$ref": "#/definitions/FailoverReplicationProtectedItemDetails"
          },
          "type": "array"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "FailoverJobDetails"
    },
    "FailoverProcessServerRequest": {
      "description": "Request to failover a process server.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/FailoverProcessServerRequestProperties",
          "description": "The properties of the PS Failover request."
        }
      },
      "type": "object"
    },
    "FailoverProcessServerRequestProperties": {
      "description": "The properties of the Failover Process Server request.",
      "properties": {
        "containerName": {
          "description": "The container identifier.",
          "type": "string"
        },
        "sourceProcessServerId": {
          "description": "The source process server.",
          "type": "string"
        },
        "targetProcessServerId": {
          "description": "The new process server.",
          "type": "string"
        },
        "updateType": {
          "description": "A value for failover type. It can be systemlevel/serverlevel",
          "type": "string"
        },
        "vmsToMigrate": {
          "description": "The VMS to migrate.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "FailoverReplicationProtectedItemDetails": {
      "description": "Failover details for a replication protected item.",
      "properties": {
        "friendlyName": {
          "description": "The friendly name.",
          "type": "string"
        },
        "name": {
          "description": "The name.",
          "type": "string"
        },
        "networkConnectionStatus": {
          "description": "The network connection status.",
          "type": "string"
        },
        "networkFriendlyName": {
          "description": "The network friendly name.",
          "type": "string"
        },
        "recoveryPointId": {
          "description": "The recovery point Id.",
          "type": "string"
        },
        "recoveryPointTime": {
          "description": "The recovery point time.",
          "format": "date-time",
          "type": "string"
        },
        "subnet": {
          "description": "The network subnet.",
          "type": "string"
        },
        "testVmFriendlyName": {
          "description": "The test Vm friendly name.",
          "type": "string"
        },
        "testVmName": {
          "description": "The test Vm name.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GroupTaskDetails": {
      "description": "This class represents the group task details when parent child relationship exists in the drill down.",
      "discriminator": "instanceType",
      "properties": {
        "childTasks": {
          "description": "The child tasks.",
          "items": {
            "$ref": "#/definitions/ASRTask"
          },
          "type": "array"
        },
        "instanceType": {
          "description": "The type of task details.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "HealthError": {
      "description": "Health Error",
      "properties": {
        "childErrors": {
          "description": "The child health errors.",
          "items": {
            "$ref": "#/definitions/HealthError"
          },
          "type": "array"
        },
        "creationTimeUtc": {
          "description": "Error creation time (UTC)",
          "format": "date-time",
          "type": "string"
        },
        "entityId": {
          "description": "ID of the entity.",
          "type": "string"
        },
        "errorCode": {
          "description": "Error code.",
          "type": "string"
        },
        "errorLevel": {
          "description": "Level of error.",
          "type": "string"
        },
        "errorMessage": {
          "description": "Error message.",
          "type": "string"
        },
        "errorSource": {
          "description": "Source of error.",
          "type": "string"
        },
        "errorType": {
          "description": "Type of error.",
          "type": "string"
        },
        "possibleCauses": {
          "description": "Possible causes of error.",
          "type": "string"
        },
        "recommendedAction": {
          "description": "Recommended action to resolve error.",
          "type": "string"
        },
        "recoveryProviderErrorMessage": {
          "description": "DRA error message.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "HealthErrorSummary": {
      "description": "class to define the summary of the health error details.",
      "properties": {
        "affectedResourceCorrelationIds": {
          "description": "The list of affected resource correlation Ids. This can be used to uniquely identify the count of items affected by a specific category and severity as well as count of item affected by an specific issue.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "affectedResourceSubtype": {
          "description": "The sub type of any subcomponent within the ARM resource that this might be applicable. Value remains null if not applicable.",
          "type": "string"
        },
        "affectedResourceType": {
          "description": "The type of affected ARM resource.",
          "type": "string"
        },
        "category": {
          "description": "The category of the health error.",
          "enum": [
            "Replication",
            "TestFailover",
            "Configuration"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "HealthErrorCategory"
          }
        },
        "severity": {
          "description": "Severity of error.",
          "enum": [
            "NONE",
            "Warning",
            "Error",
            "Info"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "Severity"
          }
        },
        "summaryCode": {
          "description": "The code of the health error.",
          "type": "string"
        },
        "summaryMessage": {
          "description": "The summary message of the health error.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "HyperVReplica2012EventDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/EventProviderSpecificDetails"
        }
      ],
      "description": "Model class for event details of a HyperVReplica E2E event.",
      "properties": {
        "containerName": {
          "description": "The container friendly name.",
          "type": "string"
        },
        "fabricName": {
          "description": "The fabric friendly name.",
          "type": "string"
        },
        "remoteContainerName": {
          "description": "The remote container name.",
          "type": "string"
        },
        "remoteFabricName": {
          "description": "The remote fabric name.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "HyperVReplica2012"
    },
    "HyperVReplica2012R2EventDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/EventProviderSpecificDetails"
        }
      ],
      "description": "Model class for event details of a HyperVReplica blue E2E event.",
      "properties": {
        "containerName": {
          "description": "The container friendly name.",
          "type": "string"
        },
        "fabricName": {
          "description": "The fabric friendly name.",
          "type": "string"
        },
        "remoteContainerName": {
          "description": "The remote container name.",
          "type": "string"
        },
        "remoteFabricName": {
          "description": "The remote fabric name.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "HyperVReplica2012R2"
    },
    "HyperVReplicaAzureApplyRecoveryPointInput": {
      "allOf": [
        {
          "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput"
        }
      ],
      "description": "ApplyRecoveryPoint input specific to HyperVReplicaAzure provider.",
      "properties": {
        "primaryKekCertificatePfx": {
          "description": "The primary kek certificate pfx.",
          "type": "string"
        },
        "secondaryKekCertificatePfx": {
          "description": "The secondary kek certificate pfx.",
          "type": "string"
        },
        "vaultLocation": {
          "description": "The vault location where the recovery Vm resides.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "HyperVReplicaAzure"
    },
    "HyperVReplicaAzureEnableProtectionInput": {
      "allOf": [
        {
          "$ref": "#/definitions/EnableProtectionProviderSpecificInput"
        }
      ],
      "description": "Azure specific enable protection input.",
      "properties": {
        "disksToInclude": {
          "description": "The list of VHD IDs of disks to be protected.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "enableRDPOnTargetOption": {
          "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.",
          "type": "string"
        },
        "hvHostVmId": {
          "description": "The Hyper-V host Vm Id.",
          "type": "string"
        },
        "logStorageAccountId": {
          "description": "The storage account to be used for logging during replication.",
          "type": "string"
        },
        "osType": {
          "description": "The OS type associated with vm.",
          "type": "string"
        },
        "targetAzureNetworkId": {
          "description": "The selected target Azure network Id.",
          "type": "string"
        },
        "targetAzureSubnetId": {
          "description": "The selected target Azure subnet Id.",
          "type": "string"
        },
        "targetAzureV1ResourceGroupId": {
          "description": "The Id of the target resource group (for classic deployment) in which the failover VM is to be created.",
          "type": "string"
        },
        "targetAzureV2ResourceGroupId": {
          "description": "The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created.",
          "type": "string"
        },
        "targetAzureVmName": {
          "description": "The target azure Vm Name.",
          "type": "string"
        },
        "targetStorageAccountId": {
          "description": "The storage account name.",
          "type": "string"
        },
        "useManagedDisks": {
          "description": "A value indicating whether managed disks should be used during failover.",
          "type": "string"
        },
        "vhdId": {
          "description": "The OS disk VHD id associated with vm.",
          "type": "string"
        },
        "vmName": {
          "description": "The Vm Name.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "HyperVReplicaAzure"
    },
    "HyperVReplicaAzureEventDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/EventProviderSpecificDetails"
        }
      ],
      "description": "Model class for event details of a HyperVReplica E2A event.",
      "properties": {
        "containerName": {
          "description": "The container friendly name.",
          "type": "string"
        },
        "fabricName": {
          "description": "The fabric friendly name.",
          "type": "string"
        },
        "remoteContainerName": {
          "description": "The remote container name.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "HyperVReplicaAzure"
    },
    "HyperVReplicaAzureFailbackProviderInput": {
      "allOf": [
        {
          "$ref": "#/definitions/ProviderSpecificFailoverInput"
        }
      ],
      "description": "HvrA provider specific input for failback.",
      "properties": {
        "dataSyncOption": {
          "description": "Data sync option.",
          "type": "string"
        },
        "providerIdForAlternateRecovery": {
          "description": "Provider ID for alternate location",
          "type": "string"
        },
        "recoveryVmCreationOption": {
          "description": "ALR options to create alternate recovery.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "HyperVReplicaAzureFailback"
    },
    "HyperVReplicaAzureFailoverProviderInput": {
      "allOf": [
        {
          "$ref": "#/definitions/ProviderSpecificFailoverInput"
        }
      ],
      "description": "HvrA provider specific input for failover.",
      "properties": {
        "primaryKekCertificatePfx": {
          "description": "Primary kek certificate pfx.",
          "type": "string"
        },
        "recoveryPointId": {
          "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.",
          "type": "string"
        },
        "secondaryKekCertificatePfx": {
          "description": "Secondary kek certificate pfx.",
          "type": "string"
        },
        "vaultLocation": {
          "description": "Location of the vault.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "HyperVReplicaAzure"
    },
    "HyperVReplicaAzurePolicyDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/PolicyProviderSpecificDetails"
        }
      ],
      "description": "Hyper-V Replica Azure specific protection profile details.",
      "properties": {
        "activeStorageAccountId": {
          "description": "The active storage account Id.",
          "type": "string"
        },
        "applicationConsistentSnapshotFrequencyInHours": {
          "description": "The interval (in hours) at which Hyper-V Replica should create an application consistent snapshot within the VM.",
          "format": "int32",
          "type": "integer"
        },
        "encryption": {
          "description": "A value indicating whether encryption is enabled for virtual machines in this cloud.",
          "type": "string"
        },
        "onlineReplicationStartTime": {
          "description": "The scheduled start time for the initial replication. If this parameter is Null, the initial replication starts immediately.",
          "type": "string"
        },
        "recoveryPointHistoryDurationInHours": {
          "description": "The duration (in hours) to which point the recovery history needs to be maintained.",
          "format": "int32",
          "type": "integer"
        },
        "replicationInterval": {
          "description": "The replication interval.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "HyperVReplicaAzure"
    },
    "HyperVReplicaAzurePolicyInput": {
      "allOf": [
        {
          "$ref": "#/definitions/PolicyProviderSpecificInput"
        }
      ],
      "description": "Hyper-V Replica Azure specific input for creating a protection profile.",
      "properties": {
        "applicationConsistentSnapshotFrequencyInHours": {
          "description": "The interval (in hours) at which Hyper-V Replica should create an application consistent snapshot within the VM.",
          "format": "int32",
          "type": "integer"
        },
        "encryption": {
          "description": "A value indicating whether encryption needs to be enabled for Vms in this cloud.",
          "type": "string"
        },
        "onlineReplicationStartTime": {
          "description": "The scheduled start time for the initial replication. If this parameter is Null, the initial replication starts immediately.",
          "type": "string"
        },
        "recoveryPointHistoryDuration": {
          "description": "The duration (in hours) to which point the recovery history needs to be maintained.",
          "format": "int32",
          "type": "integer"
        },
        "replicationInterval": {
          "description": "The replication interval.",
          "format": "int32",
          "type": "integer"
        },
        "storageAccounts": {
          "description": "The list of storage accounts to which the VMs in the primary cloud can replicate to.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "HyperVReplicaAzure"
    },
    "HyperVReplicaAzureReplicationDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/ReplicationProviderSpecificSettings"
        }
      ],
      "description": "Hyper V Replica Azure provider specific settings.",
      "properties": {
        "azureVMDiskDetails": {
          "description": "Azure VM Disk details.",
          "items": {
            "$ref": "#/definitions/AzureVmDiskDetails"
          },
          "type": "array"
        },
        "enableRDPOnTargetOption": {
          "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.",
          "type": "string"
        },
        "encryption": {
          "description": "The encryption info.",
          "type": "string"
        },
        "initialReplicationDetails": {
          "$ref": "#/definitions/InitialReplicationDetails",
          "description": "Initial replication details."
        },
        "lastReplicatedTime": {
          "description": "The Last replication time.",
          "format": "date-time",
          "type": "string"
        },
        "licenseType": {
          "description": "License Type of the VM to be used.",
          "type": "string"
        },
        "oSDetails": {
          "$ref": "#/definitions/OSDetails",
          "description": "The operating system info."
        },
        "recoveryAvailabilitySetId": {
          "description": "The recovery availability set Id.",
          "type": "string"
        },
        "recoveryAzureLogStorageAccountId": {
          "description": "The ARM id of the log storage account used for replication. This will be set to null if no log storage account was provided during enable protection.",
          "type": "string"
        },
        "recoveryAzureResourceGroupId": {
          "description": "The target resource group Id.",
          "type": "string"
        },
        "recoveryAzureStorageAccount": {
          "description": "The recovery Azure storage account.",
          "type": "string"
        },
        "recoveryAzureVMName": {
          "description": "Recovery Azure given name.",
          "type": "string"
        },
        "recoveryAzureVMSize": {
          "description": "The Recovery Azure VM size.",
          "type": "string"
        },
        "selectedRecoveryAzureNetworkId": {
          "description": "The selected recovery azure network Id.",
          "type": "string"
        },
        "sourceVmCPUCount": {
          "description": "The CPU count of the VM on the primary side.",
          "format": "int32",
          "type": "integer"
        },
        "sourceVmRAMSizeInMB": {
          "description": "The RAM size of the VM on the primary side.",
          "format": "int32",
          "type": "integer"
        },
        "useManagedDisks": {
          "description": "A value indicating whether managed disks should be used during failover.",
          "type": "string"
        },
        "vmId": {
          "description": "The virtual machine Id.",
          "type": "string"
        },
        "vmNics": {
          "description": "The PE Network details.",
          "items": {
            "$ref": "#/definitions/VMNicDetails"
          },
          "type": "array"
        },
        "vmProtectionState": {
          "description": "The protection state for the vm.",
          "type": "string"
        },
        "vmProtectionStateDescription": {
          "description": "The protection state description for the vm.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "HyperVReplicaAzure"
    },
    "HyperVReplicaAzureReprotectInput": {
      "allOf": [
        {
          "$ref": "#/definitions/ReverseReplicationProviderSpecificInput"
        }
      ],
      "description": "Azure specific reprotect input.",
      "properties": {
        "hvHostVmId": {
          "description": "The Hyper-V host Vm Id.",
          "type": "string"
        },
        "logStorageAccountId": {
          "description": "The storage account to be used for logging during replication.",
          "type": "string"
        },
        "osType": {
          "description": "The OS type associated with vm.",
          "type": "string"
        },
        "storageAccountId": {
          "description": "The storage account name.",
          "type": "string"
        },
        "vHDId": {
          "description": "The OS disk VHD id associated with vm.",
          "type": "string"
        },
        "vmName": {
          "description": "The Vm Name.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "HyperVReplicaAzure"
    },
    "HyperVReplicaAzureUpdateReplicationProtectedItemInput": {
      "allOf": [
        {
          "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput"
        }
      ],
      "description": "HyperV replica Azure input to update replication protected item.",
      "properties": {
        "recoveryAzureV1ResourceGroupId": {
          "description": "The recovery Azure resource group Id for classic deployment.",
          "type": "string"
        },
        "recoveryAzureV2ResourceGroupId": {
          "description": "The recovery Azure resource group Id for resource manager deployment.",
          "type": "string"
        },
        "useManagedDisks": {
          "description": "A value indicating whether managed disks should be used during failover.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "HyperVReplicaAzure"
    },
    "HyperVReplicaBaseEventDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/EventProviderSpecificDetails"
        }
      ],
      "description": "Abstract model class for event details of a HyperVReplica E2E event.",
      "properties": {
        "containerName": {
          "description": "The container friendly name.",
          "type": "string"
        },
        "fabricName": {
          "description": "The fabric friendly name.",
          "type": "string"
        },
        "remoteContainerName": {
          "description": "The remote container name.",
          "type": "string"
        },
        "remoteFabricName": {
          "description": "The remote fabric name.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "HyperVReplicaBaseEventDetails"
    },
    "HyperVReplicaBasePolicyDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/PolicyProviderSpecificDetails"
        }
      ],
      "description": "Base class for HyperVReplica policy details.",
      "properties": {
        "allowedAuthenticationType": {
          "description": "A value indicating the authentication type.",
          "format": "int32",
          "type": "integer"
        },
        "applicationConsistentSnapshotFrequencyInHours": {
          "description": "A value indicating the application consistent frequency.",
          "format": "int32",
          "type": "integer"
        },
        "compression": {
          "description": "A value indicating whether compression has to be enabled.",
          "type": "string"
        },
        "initialReplicationMethod": {
          "description": "A value indicating whether IR is online.",
          "type": "string"
        },
        "offlineReplicationExportPath": {
          "description": "A value indicating the offline IR export path.",
          "type": "string"
        },
        "offlineReplicationImportPath": {
          "description": "A value indicating the offline IR import path.",
          "type": "string"
        },
        "onlineReplicationStartTime": {
          "description": "A value indicating the online IR start time.",
          "type": "string"
        },
        "recoveryPoints": {
          "description": "A value indicating the number of recovery points.",
          "format": "int32",
          "type": "integer"
        },
        "replicaDeletionOption": {
          "description": "A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud",
          "type": "string"
        },
        "replicationPort": {
          "description": "A value indicating the recovery HTTPS port.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "HyperVReplicaBasePolicyDetails"
    },
    "HyperVReplicaBaseReplicationDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/ReplicationProviderSpecificSettings"
        }
      ],
      "description": "Hyper V replica provider specific settings base class.",
      "properties": {
        "initialReplicationDetails": {
          "$ref": "#/definitions/InitialReplicationDetails",
          "description": "Initial replication details."
        },
        "lastReplicatedTime": {
          "description": "The Last replication time.",
          "format": "date-time",
          "type": "string"
        },
        "vMDiskDetails": {
          "description": "VM disk details.",
          "items": {
            "$ref": "#/definitions/DiskDetails"
          },
          "type": "array"
        },
        "vmId": {
          "description": "The virtual machine Id.",
          "type": "string"
        },
        "vmNics": {
          "description": "The PE Network details.",
          "items": {
            "$ref": "#/definitions/VMNicDetails"
          },
          "type": "array"
        },
        "vmProtectionState": {
          "description": "The protection state for the vm.",
          "type": "string"
        },
        "vmProtectionStateDescription": {
          "description": "The protection state description for the vm.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "HyperVReplicaBaseReplicationDetails"
    },
    "HyperVReplicaBluePolicyDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/PolicyProviderSpecificDetails"
        }
      ],
      "description": "Hyper-V Replica Blue specific protection profile details.",
      "properties": {
        "allowedAuthenticationType": {
          "description": "A value indicating the authentication type.",
          "format": "int32",
          "type": "integer"
        },
        "applicationConsistentSnapshotFrequencyInHours": {
          "description": "A value indicating the application consistent frequency.",
          "format": "int32",
          "type": "integer"
        },
        "compression": {
          "description": "A value indicating whether compression has to be enabled.",
          "type": "string"
        },
        "initialReplicationMethod": {
          "description": "A value indicating whether IR is online.",
          "type": "string"
        },
        "offlineReplicationExportPath": {
          "description": "A value indicating the offline IR export path.",
          "type": "string"
        },
        "offlineReplicationImportPath": {
          "description": "A value indicating the offline IR import path.",
          "type": "string"
        },
        "onlineReplicationStartTime": {
          "description": "A value indicating the online IR start time.",
          "type": "string"
        },
        "recoveryPoints": {
          "description": "A value indicating the number of recovery points.",
          "format": "int32",
          "type": "integer"
        },
        "replicaDeletionOption": {
          "description": "A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud",
          "type": "string"
        },
        "replicationFrequencyInSeconds": {
          "description": "A value indicating the replication interval.",
          "format": "int32",
          "type": "integer"
        },
        "replicationPort": {
          "description": "A value indicating the recovery HTTPS port.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "HyperVReplica2012R2"
    },
    "HyperVReplicaBluePolicyInput": {
      "allOf": [
        {
          "$ref": "#/definitions/PolicyProviderSpecificInput"
        }
      ],
      "description": "HyperV Replica Blue policy input.",
      "properties": {
        "allowedAuthenticationType": {
          "description": "A value indicating the authentication type.",
          "format": "int32",
          "type": "integer"
        },
        "applicationConsistentSnapshotFrequencyInHours": {
          "description": "A value indicating the application consistent frequency.",
          "format": "int32",
          "type": "integer"
        },
        "compression": {
          "description": "A value indicating whether compression has to be enabled.",
          "type": "string"
        },
        "initialReplicationMethod": {
          "description": "A value indicating whether IR is online.",
          "type": "string"
        },
        "offlineReplicationExportPath": {
          "description": "A value indicating the offline IR export path.",
          "type": "string"
        },
        "offlineReplicationImportPath": {
          "description": "A value indicating the offline IR import path.",
          "type": "string"
        },
        "onlineReplicationStartTime": {
          "description": "A value indicating the online IR start time.",
          "type": "string"
        },
        "recoveryPoints": {
          "description": "A value indicating the number of recovery points.",
          "format": "int32",
          "type": "integer"
        },
        "replicaDeletion": {
          "description": "A value indicating whether the VM has to be auto deleted.",
          "type": "string"
        },
        "replicationFrequencyInSeconds": {
          "description": "A value indicating the replication interval.",
          "format": "int32",
          "type": "integer"
        },
        "replicationPort": {
          "description": "A value indicating the recovery HTTPS port.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "HyperVReplica2012R2"
    },
    "HyperVReplicaBlueReplicationDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/ReplicationProviderSpecificSettings"
        }
      ],
      "description": "HyperV replica 2012 R2 (Blue) replication details.",
      "properties": {
        "initialReplicationDetails": {
          "$ref": "#/definitions/InitialReplicationDetails",
          "description": "Initial replication details."
        },
        "lastReplicatedTime": {
          "description": "The Last replication time.",
          "format": "date-time",
          "type": "string"
        },
        "vMDiskDetails": {
          "description": "VM disk details.",
          "items": {
            "$ref": "#/definitions/DiskDetails"
          },
          "type": "array"
        },
        "vmId": {
          "description": "The virtual machine Id.",
          "type": "string"
        },
        "vmNics": {
          "description": "The PE Network details.",
          "items": {
            "$ref": "#/definitions/VMNicDetails"
          },
          "type": "array"
        },
        "vmProtectionState": {
          "description": "The protection state for the vm.",
          "type": "string"
        },
        "vmProtectionStateDescription": {
          "description": "The protection state description for the vm.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "HyperVReplica2012R2"
    },
    "HyperVReplicaPolicyDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/PolicyProviderSpecificDetails"
        }
      ],
      "description": "Hyper-V Replica Blue specific protection profile details.",
      "properties": {
        "allowedAuthenticationType": {
          "description": "A value indicating the authentication type.",
          "format": "int32",
          "type": "integer"
        },
        "applicationConsistentSnapshotFrequencyInHours": {
          "description": "A value indicating the application consistent frequency.",
          "format": "int32",
          "type": "integer"
        },
        "compression": {
          "description": "A value indicating whether compression has to be enabled.",
          "type": "string"
        },
        "initialReplicationMethod": {
          "description": "A value indicating whether IR is online.",
          "type": "string"
        },
        "offlineReplicationExportPath": {
          "description": "A value indicating the offline IR export path.",
          "type": "string"
        },
        "offlineReplicationImportPath": {
          "description": "A value indicating the offline IR import path.",
          "type": "string"
        },
        "onlineReplicationStartTime": {
          "description": "A value indicating the online IR start time.",
          "type": "string"
        },
        "recoveryPoints": {
          "description": "A value indicating the number of recovery points.",
          "format": "int32",
          "type": "integer"
        },
        "replicaDeletionOption": {
          "description": "A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud",
          "type": "string"
        },
        "replicationPort": {
          "description": "A value indicating the recovery HTTPS port.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "HyperVReplica2012"
    },
    "HyperVReplicaPolicyInput": {
      "allOf": [
        {
          "$ref": "#/definitions/PolicyProviderSpecificInput"
        }
      ],
      "description": "Hyper-V Replica specific protection profile Input.",
      "properties": {
        "allowedAuthenticationType": {
          "description": "A value indicating the authentication type.",
          "format": "int32",
          "type": "integer"
        },
        "applicationConsistentSnapshotFrequencyInHours": {
          "description": "A value indicating the application consistent frequency.",
          "format": "int32",
          "type": "integer"
        },
        "compression": {
          "description": "A value indicating whether compression has to be enabled.",
          "type": "string"
        },
        "initialReplicationMethod": {
          "description": "A value indicating whether IR is online.",
          "type": "string"
        },
        "offlineReplicationExportPath": {
          "description": "A value indicating the offline IR export path.",
          "type": "string"
        },
        "offlineReplicationImportPath": {
          "description": "A value indicating the offline IR import path.",
          "type": "string"
        },
        "onlineReplicationStartTime": {
          "description": "A value indicating the online IR start time.",
          "type": "string"
        },
        "recoveryPoints": {
          "description": "A value indicating the number of recovery points.",
          "format": "int32",
          "type": "integer"
        },
        "replicaDeletion": {
          "description": "A value indicating whether the VM has to be auto deleted.",
          "type": "string"
        },
        "replicationPort": {
          "description": "A value indicating the recovery HTTPS port.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "HyperVReplica2012"
    },
    "HyperVReplicaReplicationDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/ReplicationProviderSpecificSettings"
        }
      ],
      "description": "HyperV replica 2012 replication details.",
      "properties": {
        "initialReplicationDetails": {
          "$ref": "#/definitions/InitialReplicationDetails",
          "description": "Initial replication details."
        },
        "lastReplicatedTime": {
          "description": "The Last replication time.",
          "format": "date-time",
          "type": "string"
        },
        "vMDiskDetails": {
          "description": "VM disk details.",
          "items": {
            "$ref": "#/definitions/DiskDetails"
          },
          "type": "array"
        },
        "vmId": {
          "description": "The virtual machine Id.",
          "type": "string"
        },
        "vmNics": {
          "description": "The PE Network details.",
          "items": {
            "$ref": "#/definitions/VMNicDetails"
          },
          "type": "array"
        },
        "vmProtectionState": {
          "description": "The protection state for the vm.",
          "type": "string"
        },
        "vmProtectionStateDescription": {
          "description": "The protection state description for the vm.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "HyperVReplica2012"
    },
    "HyperVSiteDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/FabricSpecificDetails"
        }
      ],
      "description": "HyperVSite fabric specific details.",
      "properties": {},
      "type": "object",
      "x-ms-discriminator-value": "HyperVSite"
    },
    "HyperVVirtualMachineDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/ConfigurationSettings"
        }
      ],
      "description": "Hyper V replica provider specific settings",
      "properties": {
        "diskDetails": {
          "description": "The Last successful failover time.",
          "items": {
            "$ref": "#/definitions/DiskDetails"
          },
          "type": "array"
        },
        "generation": {
          "description": "The id of the object in fabric.",
          "type": "string"
        },
        "osDetails": {
          "$ref": "#/definitions/OSDetails",
          "description": "The Last replication time."
        },
        "sourceItemId": {
          "description": "The source id of the object.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "HyperVVirtualMachine"
    },
    "IdentityInformation": {
      "description": "Identity details.",
      "properties": {
        "aadAuthority": {
          "description": "The base authority for Azure Active Directory authentication.",
          "type": "string"
        },
        "applicationId": {
          "description": "The application/client Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services.",
          "type": "string"
        },
        "audience": {
          "description": "The intended Audience of the service principal with which the on-premise management/data plane components would communicate with our Azure services.",
          "type": "string"
        },
        "certificateThumbprint": {
          "description": "The certificate thumbprint. Applicable only if IdentityProviderType is RecoveryServicesActiveDirectory.",
          "type": "string"
        },
        "identityProviderType": {
          "description": "The identity provider type. Value is the ToString() of a IdentityProviderType value.",
          "enum": [
            "RecoveryServicesActiveDirectory",
            "CustomerActiveDirectory"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "IdentityProviderType"
          }
        },
        "objectId": {
          "description": "The object Id of the service principal with which the on-premise management/data plane components would communicate with our Azure services.",
          "type": "string"
        },
        "tenantId": {
          "description": "The tenant Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "InMageAgentDetails": {
      "description": "The details of the InMage agent.",
      "properties": {
        "agentUpdateStatus": {
          "description": "A value indicating whether installed agent needs to be updated.",
          "type": "string"
        },
        "agentVersion": {
          "description": "The agent version.",
          "type": "string"
        },
        "postUpdateRebootStatus": {
          "description": "A value indicating whether reboot is required after update is applied.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "InMageAzureV2ApplyRecoveryPointInput": {
      "allOf": [
        {
          "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput"
        }
      ],
      "description": "ApplyRecoveryPoint input specific to InMageAzureV2 provider.",
      "properties": {
        "vaultLocation": {
          "description": "The vault location where the recovery Vm resides.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "InMageAzureV2"
    },
    "InMageAzureV2EnableProtectionInput": {
      "allOf": [
        {
          "$ref": "#/definitions/EnableProtectionProviderSpecificInput"
        }
      ],
      "description": "VMware Azure specific enable protection input.",
      "properties": {
        "disksToInclude": {
          "description": "The disks to include list.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "enableRDPOnTargetOption": {
          "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.",
          "type": "string"
        },
        "logStorageAccountId": {
          "description": "The storage account to be used for logging during replication.",
          "type": "string"
        },
        "masterTargetId": {
          "description": "The Master target Id.",
          "type": "string"
        },
        "multiVmGroupId": {
          "description": "The multi vm group Id.",
          "type": "string"
        },
        "multiVmGroupName": {
          "description": "The multi vm group name.",
          "type": "string"
        },
        "processServerId": {
          "description": "The Process Server Id.",
          "type": "string"
        },
        "runAsAccountId": {
          "description": "The CS account Id.",
          "type": "string"
        },
        "storageAccountId": {
          "description": "The storage account name.",
          "type": "string"
        },
        "targetAzureNetworkId": {
          "description": "The selected target Azure network Id.",
          "type": "string"
        },
        "targetAzureSubnetId": {
          "description": "The selected target Azure subnet Id.",
          "type": "string"
        },
        "targetAzureV1ResourceGroupId": {
          "description": "The Id of the target resource group (for classic deployment) in which the failover VM is to be created.",
          "type": "string"
        },
        "targetAzureV2ResourceGroupId": {
          "description": "The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created.",
          "type": "string"
        },
        "targetAzureVmName": {
          "description": "The target azure Vm Name.",
          "type": "string"
        },
        "useManagedDisks": {
          "description": "A value indicating whether managed disks should be used during failover.",
          "type": "string"
        }
      },
      "required": [
        "storageAccountId"
      ],
      "type": "object",
      "x-ms-discriminator-value": "InMageAzureV2"
    },
    "InMageAzureV2EventDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/EventProviderSpecificDetails"
        }
      ],
      "description": "Model class for event details of a VMwareAzureV2 event.",
      "properties": {
        "category": {
          "description": "InMage Event Category.",
          "type": "string"
        },
        "component": {
          "description": "InMage Event Component.",
          "type": "string"
        },
        "correctiveAction": {
          "description": "Corrective Action string for the event.",
          "type": "string"
        },
        "details": {
          "description": "InMage Event Details.",
          "type": "string"
        },
        "eventType": {
          "description": "InMage Event type. Takes one of the values of {InMageDataContract.InMageMonitoringEventType}.",
          "type": "string"
        },
        "siteName": {
          "description": "VMware Site name.",
          "type": "string"
        },
        "summary": {
          "description": "InMage Event Summary.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "InMageAzureV2"
    },
    "InMageAzureV2FailoverProviderInput": {
      "allOf": [
        {
          "$ref": "#/definitions/ProviderSpecificFailoverInput"
        }
      ],
      "description": "InMageAzureV2 provider specific input for failover.",
      "properties": {
        "recoveryPointId": {
          "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.",
          "type": "string"
        },
        "vaultLocation": {
          "description": "Location of the vault.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "InMageAzureV2"
    },
    "InMageAzureV2PolicyDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/PolicyProviderSpecificDetails"
        }
      ],
      "description": "InMage Azure v2 specific protection profile details.",
      "properties": {
        "appConsistentFrequencyInMinutes": {
          "description": "The app consistent snapshot frequency in minutes.",
          "format": "int32",
          "type": "integer"
        },
        "crashConsistentFrequencyInMinutes": {
          "description": "The crash consistent snapshot frequency in minutes.",
          "format": "int32",
          "type": "integer"
        },
        "multiVmSyncStatus": {
          "description": "A value indicating whether multi-VM sync has to be enabled.",
          "type": "string"
        },
        "recoveryPointHistory": {
          "description": "The duration in minutes until which the recovery points need to be stored.",
          "format": "int32",
          "type": "integer"
        },
        "recoveryPointThresholdInMinutes": {
          "description": "The recovery point threshold in minutes.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "InMageAzureV2"
    },
    "InMageAzureV2PolicyInput": {
      "allOf": [
        {
          "$ref": "#/definitions/PolicyProviderSpecificInput"
        }
      ],
      "description": "VMWare Azure specific protection profile Input.",
      "properties": {
        "appConsistentFrequencyInMinutes": {
          "description": "The app consistent snapshot frequency (in minutes).",
          "format": "int32",
          "type": "integer"
        },
        "crashConsistentFrequencyInMinutes": {
          "description": "The crash consistent snapshot frequency (in minutes).",
          "format": "int32",
          "type": "integer"
        },
        "multiVmSyncStatus": {
          "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.",
          "enum": [
            "Enable",
            "Disable"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "SetMultiVmSyncStatus"
          }
        },
        "recoveryPointHistory": {
          "description": "The duration in minutes until which the recovery points need to be stored.",
          "format": "int32",
          "type": "integer"
        },
        "recoveryPointThresholdInMinutes": {
          "description": "The recovery point threshold in minutes.",
          "format": "int32",
          "type": "integer"
        }
      },
      "required": [
        "multiVmSyncStatus"
      ],
      "type": "object",
      "x-ms-discriminator-value": "InMageAzureV2"
    },
    "InMageAzureV2ProtectedDiskDetails": {
      "description": "InMageAzureV2 protected disk details.",
      "properties": {
        "diskCapacityInBytes": {
          "description": "The disk capacity in bytes.",
          "format": "int64",
          "type": "integer"
        },
        "diskId": {
          "description": "The disk id.",
          "type": "string"
        },
        "diskName": {
          "description": "The disk name.",
          "type": "string"
        },
        "diskResized": {
          "description": "A value indicating whether disk is resized.",
          "type": "string"
        },
        "fileSystemCapacityInBytes": {
          "description": "The disk file system capacity in bytes.",
          "format": "int64",
          "type": "integer"
        },
        "healthErrorCode": {
          "description": "The health error code for the disk.",
          "type": "string"
        },
        "lastRpoCalculatedTime": {
          "description": "The last RPO calculated time.",
          "format": "date-time",
          "type": "string"
        },
        "protectionStage": {
          "description": "The protection stage.",
          "type": "string"
        },
        "psDataInMegaBytes": {
          "description": "The PS data transit in MB.",
          "format": "double",
          "type": "number"
        },
        "resyncDurationInSeconds": {
          "description": "The resync duration in seconds.",
          "format": "int64",
          "type": "integer"
        },
        "resyncProgressPercentage": {
          "description": "The resync progress percentage.",
          "format": "int32",
          "type": "integer"
        },
        "resyncRequired": {
          "description": "A value indicating whether resync is required for this disk.",
          "type": "string"
        },
        "rpoInSeconds": {
          "description": "The RPO in seconds.",
          "format": "int64",
          "type": "integer"
        },
        "sourceDataInMegaBytes": {
          "description": "The source data transit in MB.",
          "format": "double",
          "type": "number"
        },
        "targetDataInMegaBytes": {
          "description": "The target data transit in MB.",
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "InMageAzureV2RecoveryPointDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails"
        }
      ],
      "description": "InMage Azure V2 provider specific recovery point details.",
      "properties": {
        "instanceType": {
          "description": "Gets the instance type.",
          "readOnly": true,
          "type": "string"
        },
        "isMultiVmSyncPoint": {
          "description": "A value indicating whether the recovery point is multi VM consistent.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "InMageAzureV2RecoveryPointDetails"
    },
    "InMageAzureV2ReplicationDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/ReplicationProviderSpecificSettings"
        }
      ],
      "description": "InMageAzureV2 provider specific settings",
      "properties": {
        "agentVersion": {
          "description": "The agent version.",
          "type": "string"
        },
        "azureVMDiskDetails": {
          "description": "Azure VM Disk details.",
          "items": {
            "$ref": "#/definitions/AzureVmDiskDetails"
          },
          "type": "array"
        },
        "compressedDataRateInMB": {
          "description": "The compressed data change rate in MB.",
          "format": "double",
          "type": "number"
        },
        "datastores": {
          "description": "The data stores of the on-premise machine. Value can be list of strings that contain data store names.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "discoveryType": {
          "description": "A value indicating the discovery type of the machine. Value can be vCenter or physical.",
          "type": "string"
        },
        "diskResized": {
          "description": "A value indicating whether any disk is resized for this VM.",
          "type": "string"
        },
        "enableRDPOnTargetOption": {
          "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.",
          "type": "string"
        },
        "infrastructureVmId": {
          "description": "The infrastructure VM Id.",
          "type": "string"
        },
        "ipAddress": {
          "description": "The source IP address.",
          "type": "string"
        },
        "isAgentUpdateRequired": {
          "description": "A value indicating whether installed agent needs to be updated.",
          "type": "string"
        },
        "isRebootAfterUpdateRequired": {
          "description": "A value indicating whether the source server requires a restart after update.",
          "type": "string"
        },
        "lastHeartbeat": {
          "description": "The last heartbeat received from the source server.",
          "format": "date-time",
          "type": "string"
        },
        "lastRpoCalculatedTime": {
          "description": "The last RPO calculated time.",
          "format": "date-time",
          "type": "string"
        },
        "lastUpdateReceivedTime": {
          "description": "The last update time received from on-prem components.",
          "format": "date-time",
          "type": "string"
        },
        "licenseType": {
          "description": "License Type of the VM to be used.",
          "type": "string"
        },
        "masterTargetId": {
          "description": "The master target Id.",
          "type": "string"
        },
        "multiVmGroupId": {
          "description": "The multi vm group Id.",
          "type": "string"
        },
        "multiVmGroupName": {
          "description": "The multi vm group name.",
          "type": "string"
        },
        "multiVmSyncStatus": {
          "description": "A value indicating whether multi vm sync is enabled or disabled.",
          "type": "string"
        },
        "osDiskId": {
          "description": "The id of the disk containing the OS.",
          "type": "string"
        },
        "osType": {
          "description": "The type of the OS on the VM.",
          "type": "string"
        },
        "osVersion": {
          "description": "The OS Version of the protected item.",
          "type": "string"
        },
        "processServerId": {
          "description": "The process server Id.",
          "type": "string"
        },
        "protectedDisks": {
          "description": "The list of protected disks.",
          "items": {
            "$ref": "#/definitions/InMageAzureV2ProtectedDiskDetails"
          },
          "type": "array"
        },
        "protectionStage": {
          "description": "The protection stage.",
          "type": "string"
        },
        "recoveryAvailabilitySetId": {
          "description": "The recovery availability set Id.",
          "type": "string"
        },
        "recoveryAzureLogStorageAccountId": {
          "description": "The ARM id of the log storage account used for replication. This will be set to null if no log storage account was provided during enable protection.",
          "type": "string"
        },
        "recoveryAzureResourceGroupId": {
          "description": "The target resource group Id.",
          "type": "string"
        },
        "recoveryAzureStorageAccount": {
          "description": "The recovery Azure storage account.",
          "type": "string"
        },
        "recoveryAzureVMName": {
          "description": "Recovery Azure given name.",
          "type": "string"
        },
        "recoveryAzureVMSize": {
          "description": "The Recovery Azure VM size.",
          "type": "string"
        },
        "replicaId": {
          "description": "The replica id of the protected item.",
          "type": "string"
        },
        "resyncProgressPercentage": {
          "description": "The resync progress percentage.",
          "format": "int32",
          "type": "integer"
        },
        "rpoInSeconds": {
          "description": "The RPO in seconds.",
          "format": "int64",
          "type": "integer"
        },
        "selectedRecoveryAzureNetworkId": {
          "description": "The selected recovery azure network Id.",
          "type": "string"
        },
        "sourceVmCPUCount": {
          "description": "The CPU count of the VM on the primary side.",
          "format": "int32",
          "type": "integer"
        },
        "sourceVmRAMSizeInMB": {
          "description": "The RAM size of the VM on the primary side.",
          "format": "int32",
          "type": "integer"
        },
        "targetVmId": {
          "description": "The ARM Id of the target Azure VM. This value will be null until the VM is failed over. Only after failure it will be populated with the ARM Id of the Azure VM.",
          "type": "string"
        },
        "uncompressedDataRateInMB": {
          "description": "The uncompressed data change rate in MB.",
          "format": "double",
          "type": "number"
        },
        "useManagedDisks": {
          "description": "A value indicating whether managed disks should be used during failover.",
          "type": "string"
        },
        "vCenterInfrastructureId": {
          "description": "The vCenter infrastructure Id.",
          "type": "string"
        },
        "validationErrors": {
          "description": "The validation errors of the on-premise machine Value can be list of validation errors.",
          "items": {
            "$ref": "#/definitions/HealthError"
          },
          "type": "array"
        },
        "vhdName": {
          "description": "The OS disk VHD name.",
          "type": "string"
        },
        "vmId": {
          "description": "The virtual machine Id.",
          "type": "string"
        },
        "vmNics": {
          "description": "The PE Network details.",
          "items": {
            "$ref": "#/definitions/VMNicDetails"
          },
          "type": "array"
        },
        "vmProtectionState": {
          "description": "The protection state for the vm.",
          "type": "string"
        },
        "vmProtectionStateDescription": {
          "description": "The protection state description for the vm.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "InMageAzureV2"
    },
    "InMageAzureV2ReprotectInput": {
      "allOf": [
        {
          "$ref": "#/definitions/ReverseReplicationProviderSpecificInput"
        }
      ],
      "description": "InMageAzureV2 specific provider input.",
      "properties": {
        "disksToInclude": {
          "description": "The disks to include list.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "logStorageAccountId": {
          "description": "The storage account to be used for logging during replication.",
          "type": "string"
        },
        "masterTargetId": {
          "description": "The Master target Id.",
          "type": "string"
        },
        "policyId": {
          "description": "The Policy Id.",
          "type": "string"
        },
        "processServerId": {
          "description": "The Process Server Id.",
          "type": "string"
        },
        "runAsAccountId": {
          "description": "The CS account Id.",
          "type": "string"
        },
        "storageAccountId": {
          "description": "The storage account id.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "InMageAzureV2"
    },
    "InMageAzureV2UpdateReplicationProtectedItemInput": {
      "allOf": [
        {
          "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput"
        }
      ],
      "description": "InMage Azure V2 input to update replication protected item.",
      "properties": {
        "recoveryAzureV1ResourceGroupId": {
          "description": "The recovery Azure resource group Id for classic deployment.",
          "type": "string"
        },
        "recoveryAzureV2ResourceGroupId": {
          "description": "The recovery Azure resource group Id for resource manager deployment.",
          "type": "string"
        },
        "useManagedDisks": {
          "description": "A value indicating whether managed disks should be used during failover.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "InMageAzureV2"
    },
    "InMageBasePolicyDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/PolicyProviderSpecificDetails"
        }
      ],
      "description": "Base class for the policies of providers using InMage replication.",
      "properties": {
        "appConsistentFrequencyInMinutes": {
          "description": "The app consistent snapshot frequency in minutes.",
          "format": "int32",
          "type": "integer"
        },
        "multiVmSyncStatus": {
          "description": "A value indicating whether multi-VM sync has to be enabled.",
          "type": "string"
        },
        "recoveryPointHistory": {
          "description": "The duration in minutes until which the recovery points need to be stored.",
          "format": "int32",
          "type": "integer"
        },
        "recoveryPointThresholdInMinutes": {
          "description": "The recovery point threshold in minutes.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "InMageBasePolicyDetails"
    },
    "InMageDisableProtectionProviderSpecificInput": {
      "allOf": [
        {
          "$ref": "#/definitions/DisableProtectionProviderSpecificInput"
        }
      ],
      "description": "InMage disable protection provider specific input.",
      "properties": {
        "replicaVmDeletionStatus": {
          "description": "A value indicating whether the replica VM should be destroyed or retained. Values from Delete and Retain.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "InMage"
    },
    "InMageDiskDetails": {
      "description": "VMware/Physical specific Disk Details",
      "properties": {
        "diskConfiguration": {
          "description": "Whether disk is dynamic disk or basic disk.",
          "type": "string"
        },
        "diskId": {
          "description": "The disk Id.",
          "type": "string"
        },
        "diskName": {
          "description": "The disk name.",
          "type": "string"
        },
        "diskSizeInMB": {
          "description": "The disk size in MB.",
          "type": "string"
        },
        "diskType": {
          "description": "Whether disk is system disk or data disk.",
          "type": "string"
        },
        "volumeList": {
          "description": "Volumes of the disk.",
          "items": {
            "$ref": "#/definitions/DiskVolumeDetails"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "InMageDiskExclusionInput": {
      "description": "DiskExclusionInput when doing enable protection of virtual machine in InMage provider.",
      "properties": {
        "diskSignatureOptions": {
          "description": "The guest disk signature based option for disk exclusion.",
          "items": {
            "$ref": "#/definitions/InMageDiskSignatureExclusionOptions"
          },
          "type": "array"
        },
        "volumeOptions": {
          "description": "The volume label based option for disk exclusion.",
          "items": {
            "$ref": "#/definitions/InMageVolumeExclusionOptions"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "InMageDiskSignatureExclusionOptions": {
      "description": "Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider.",
      "properties": {
        "diskSignature": {
          "description": "The guest signature of disk to be excluded from replication.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "InMageEnableProtectionInput": {
      "allOf": [
        {
          "$ref": "#/definitions/EnableProtectionProviderSpecificInput"
        }
      ],
      "description": "VMware Azure specific enable protection input.",
      "properties": {
        "datastoreName": {
          "description": "The target data store name.",
          "type": "string"
        },
        "diskExclusionInput": {
          "$ref": "#/definitions/InMageDiskExclusionInput",
          "description": "The enable disk exclusion input."
        },
        "disksToInclude": {
          "description": "The disks to include list.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "masterTargetId": {
          "description": "The Master Target Id.",
          "type": "string"
        },
        "multiVmGroupId": {
          "description": "The multi vm group Id.",
          "type": "string"
        },
        "multiVmGroupName": {
          "description": "The multi vm group name.",
          "type": "string"
        },
        "processServerId": {
          "description": "The Process Server Id.",
          "type": "string"
        },
        "retentionDrive": {
          "description": "The retention drive to use on the MT.",
          "type": "string"
        },
        "runAsAccountId": {
          "description": "The CS account Id.",
          "type": "string"
        },
        "vmFriendlyName": {
          "description": "The Vm Name.",
          "type": "string"
        }
      },
      "required": [
        "masterTargetId",
        "processServerId",
        "retentionDrive",
        "multiVmGroupId",
        "multiVmGroupName"
      ],
      "type": "object",
      "x-ms-discriminator-value": "InMage"
    },
    "InMageFailoverProviderInput": {
      "allOf": [
        {
          "$ref": "#/definitions/ProviderSpecificFailoverInput"
        }
      ],
      "description": "Provider specific input for InMage failover.",
      "properties": {
        "recoveryPointId": {
          "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.",
          "type": "string"
        },
        "recoveryPointType": {
          "description": "The recovery point type. Values from LatestTime, LatestTag or Custom. In the case of custom, the recovery point provided by RecoveryPointId will be used. In the other two cases, recovery point id will be ignored.",
          "enum": [
            "LatestTime",
            "LatestTag",
            "Custom"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "RecoveryPointType"
          }
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "InMage"
    },
    "InMagePolicyDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/PolicyProviderSpecificDetails"
        }
      ],
      "description": "InMage specific protection profile details.",
      "properties": {
        "appConsistentFrequencyInMinutes": {
          "description": "The app consistent snapshot frequency in minutes.",
          "format": "int32",
          "type": "integer"
        },
        "multiVmSyncStatus": {
          "description": "A value indicating whether multi-VM sync has to be enabled.",
          "type": "string"
        },
        "recoveryPointHistory": {
          "description": "The duration in minutes until which the recovery points need to be stored.",
          "format": "int32",
          "type": "integer"
        },
        "recoveryPointThresholdInMinutes": {
          "description": "The recovery point threshold in minutes.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "InMage"
    },
    "InMagePolicyInput": {
      "allOf": [
        {
          "$ref": "#/definitions/PolicyProviderSpecificInput"
        }
      ],
      "description": "VMWare Azure specific protection profile Input.",
      "properties": {
        "appConsistentFrequencyInMinutes": {
          "description": "The app consistent snapshot frequency (in minutes).",
          "format": "int32",
          "type": "integer"
        },
        "multiVmSyncStatus": {
          "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.",
          "enum": [
            "Enable",
            "Disable"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "SetMultiVmSyncStatus"
          }
        },
        "recoveryPointHistory": {
          "description": "The duration in minutes until which the recovery points need to be stored.",
          "format": "int32",
          "type": "integer"
        },
        "recoveryPointThresholdInMinutes": {
          "description": "The recovery point threshold in minutes.",
          "format": "int32",
          "type": "integer"
        }
      },
      "required": [
        "multiVmSyncStatus"
      ],
      "type": "object",
      "x-ms-discriminator-value": "InMage"
    },
    "InMageProtectedDiskDetails": {
      "description": "InMage protected disk details.",
      "properties": {
        "diskCapacityInBytes": {
          "description": "The disk capacity in bytes.",
          "format": "int64",
          "type": "integer"
        },
        "diskId": {
          "description": "The disk id.",
          "type": "string"
        },
        "diskName": {
          "description": "The disk name.",
          "type": "string"
        },
        "diskResized": {
          "description": "A value indicating whether disk is resized.",
          "type": "string"
        },
        "fileSystemCapacityInBytes": {
          "description": "The file system capacity in bytes.",
          "format": "int64",
          "type": "integer"
        },
        "healthErrorCode": {
          "description": "The health error code for the disk.",
          "type": "string"
        },
        "lastRpoCalculatedTime": {
          "description": "The last RPO calculated time.",
          "format": "date-time",
          "type": "string"
        },
        "protectionStage": {
          "description": "The protection stage.",
          "type": "string"
        },
        "psDataInMB": {
          "description": "The PS data transit in MB.",
          "format": "double",
          "type": "number"
        },
        "resyncDurationInSeconds": {
          "description": "The resync duration in seconds.",
          "format": "int64",
          "type": "integer"
        },
        "resyncProgressPercentage": {
          "description": "The resync progress percentage.",
          "format": "int32",
          "type": "integer"
        },
        "resyncRequired": {
          "description": "A value indicating whether resync is required for this disk.",
          "type": "string"
        },
        "rpoInSeconds": {
          "description": "The RPO in seconds.",
          "format": "int64",
          "type": "integer"
        },
        "sourceDataInMB": {
          "description": "The source data transit in MB.",
          "format": "double",
          "type": "number"
        },
        "targetDataInMB": {
          "description": "The target data transit in MB.",
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "InMageReplicationDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/ReplicationProviderSpecificSettings"
        }
      ],
      "description": "InMage provider specific settings",
      "properties": {
        "activeSiteType": {
          "description": "The active location of the VM. If the VM is being protected from Azure, this field will take values from { Azure, OnPrem }. If the VM is being protected between two data-centers, this field will be OnPrem always.",
          "type": "string"
        },
        "agentDetails": {
          "$ref": "#/definitions/InMageAgentDetails",
          "description": "The agent details."
        },
        "azureStorageAccountId": {
          "description": "A value indicating the underlying Azure storage account. If the VM is not running in Azure, this value shall be set to null.",
          "type": "string"
        },
        "compressedDataRateInMB": {
          "description": "The compressed data change rate in MB.",
          "format": "double",
          "type": "number"
        },
        "consistencyPoints": {
          "additionalProperties": {
            "format": "date-time",
            "type": "string"
          },
          "description": "The collection of Consistency points.",
          "type": "object"
        },
        "datastores": {
          "description": "The data stores of the on-premise machine Value can be list of strings that contain data store names",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "discoveryType": {
          "description": "A value indicating the discovery type of the machine.",
          "type": "string"
        },
        "diskResized": {
          "description": "A value indicating whether any disk is resized for this VM.",
          "type": "string"
        },
        "infrastructureVmId": {
          "description": "The infrastructure VM Id.",
          "type": "string"
        },
        "ipAddress": {
          "description": "The source IP address.",
          "type": "string"
        },
        "lastHeartbeat": {
          "description": "The last heartbeat received from the source server.",
          "format": "date-time",
          "type": "string"
        },
        "lastRpoCalculatedTime": {
          "description": "The last RPO calculated time.",
          "format": "date-time",
          "type": "string"
        },
        "lastUpdateReceivedTime": {
          "description": "The last update time received from on-prem components.",
          "format": "date-time",
          "type": "string"
        },
        "masterTargetId": {
          "description": "The master target Id.",
          "type": "string"
        },
        "multiVmGroupId": {
          "description": "The multi vm group Id, if any.",
          "type": "string"
        },
        "multiVmGroupName": {
          "description": "The multi vm group name, if any.",
          "type": "string"
        },
        "multiVmSyncStatus": {
          "description": "A value indicating whether the multi vm sync is enabled or disabled.",
          "type": "string"
        },
        "osDetails": {
          "$ref": "#/definitions/OSDiskDetails",
          "description": "The OS details."
        },
        "osVersion": {
          "description": "The OS Version of the protected item.",
          "type": "string"
        },
        "processServerId": {
          "description": "The process server Id.",
          "type": "string"
        },
        "protectedDisks": {
          "description": "The list of protected disks.",
          "items": {
            "$ref": "#/definitions/InMageProtectedDiskDetails"
          },
          "type": "array"
        },
        "protectionStage": {
          "description": "The protection stage.",
          "type": "string"
        },
        "rebootAfterUpdateStatus": {
          "description": "A value indicating whether the source server requires a restart after update.",
          "type": "string"
        },
        "replicaId": {
          "description": "The replica id of the protected item.",
          "type": "string"
        },
        "resyncDetails": {
          "$ref": "#/definitions/InitialReplicationDetails",
          "description": "The resync details of the machine"
        },
        "retentionWindowEnd": {
          "description": "The retention window end time.",
          "format": "date-time",
          "type": "string"
        },
        "retentionWindowStart": {
          "description": "The retention window start time.",
          "format": "date-time",
          "type": "string"
        },
        "rpoInSeconds": {
          "description": "The RPO in seconds.",
          "format": "int64",
          "type": "integer"
        },
        "sourceVmCPUCount": {
          "description": "The CPU count of the VM on the primary side.",
          "format": "int32",
          "type": "integer"
        },
        "sourceVmRAMSizeInMB": {
          "description": "The RAM size of the VM on the primary side.",
          "format": "int32",
          "type": "integer"
        },
        "uncompressedDataRateInMB": {
          "description": "The uncompressed data change rate in MB.",
          "format": "double",
          "type": "number"
        },
        "vCenterInfrastructureId": {
          "description": "The vCenter infrastructure Id.",
          "type": "string"
        },
        "validationErrors": {
          "description": "The validation errors of the on-premise machine Value can be list of validation errors",
          "items": {
            "$ref": "#/definitions/HealthError"
          },
          "type": "array"
        },
        "vmId": {
          "description": "The virtual machine Id.",
          "type": "string"
        },
        "vmNics": {
          "description": "The PE Network details.",
          "items": {
            "$ref": "#/definitions/VMNicDetails"
          },
          "type": "array"
        },
        "vmProtectionState": {
          "description": "The protection state for the vm.",
          "type": "string"
        },
        "vmProtectionStateDescription": {
          "description": "The protection state description for the vm.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "InMage"
    },
    "InMageReprotectInput": {
      "allOf": [
        {
          "$ref": "#/definitions/ReverseReplicationProviderSpecificInput"
        }
      ],
      "description": "InMageAzureV2 specific provider input.",
      "properties": {
        "datastoreName": {
          "description": "The target data store name.",
          "type": "string"
        },
        "diskExclusionInput": {
          "$ref": "#/definitions/InMageDiskExclusionInput",
          "description": "The enable disk exclusion input."
        },
        "disksToInclude": {
          "description": "The disks to include list.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "masterTargetId": {
          "description": "The Master Target Id.",
          "type": "string"
        },
        "processServerId": {
          "description": "The Process Server Id.",
          "type": "string"
        },
        "profileId": {
          "description": "The Policy Id.",
          "type": "string"
        },
        "retentionDrive": {
          "description": "The retention drive to use on the MT.",
          "type": "string"
        },
        "runAsAccountId": {
          "description": "The CS account Id.",
          "type": "string"
        }
      },
      "required": [
        "masterTargetId",
        "processServerId",
        "retentionDrive",
        "profileId"
      ],
      "type": "object",
      "x-ms-discriminator-value": "InMage"
    },
    "InMageVolumeExclusionOptions": {
      "description": "Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider.",
      "properties": {
        "OnlyExcludeIfSingleVolume": {
          "description": "The value indicating whether to exclude multi volume disk or not. If a disk has multiple volumes and one of the volume has label matching with VolumeLabel this disk will be excluded from replication if OnlyExcludeIfSingleVolume is false.",
          "type": "string"
        },
        "volumeLabel": {
          "description": "The volume label. The disk having any volume with this label will be excluded from replication.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "InconsistentVmDetails": {
      "description": "This class stores the monitoring details for consistency check of inconsistent Protected Entity.",
      "properties": {
        "cloudName": {
          "description": "The Cloud name.",
          "type": "string"
        },
        "details": {
          "description": "The list of details regarding state of the Protected Entity in SRS and On prem.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "errorIds": {
          "description": "The list of error ids.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "vmName": {
          "description": "The Vm name.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "InitialReplicationDetails": {
      "description": "Initial replication details.",
      "properties": {
        "initialReplicationProgressPercentage": {
          "description": "The initial replication progress percentage.",
          "type": "string"
        },
        "initialReplicationType": {
          "description": "Initial replication type.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "InlineWorkflowTaskDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/GroupTaskDetails"
        }
      ],
      "description": "This class represents the inline workflow task details.",
      "properties": {
        "workflowIds": {
          "description": "The list of child workflow ids.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "InlineWorkflowTaskDetails"
    },
    "InputEndpoint": {
      "description": "Azure VM input endpoint details.",
      "properties": {
        "endpointName": {
          "description": "The input endpoint name.",
          "type": "string"
        },
        "privatePort": {
          "description": "The input endpoint private port.",
          "format": "int32",
          "type": "integer"
        },
        "protocol": {
          "description": "The input endpoint protocol.",
          "type": "string"
        },
        "publicPort": {
          "description": "The input endpoint public port.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "Job": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "Job details.",
      "properties": {
        "endTime": {
          "description": "The start time.",
          "type": "string"
        },
        "error": {
          "$ref": "#/definitions/ARMException",
          "description": "The error."
        },
        "properties": {
          "$ref": "#/definitions/JobProperties",
          "description": "The custom data."
        },
        "startTime": {
          "description": "The start time.",
          "type": "string"
        },
        "status": {
          "description": "The status of the Job. ARM expects the terminal status to be one of (1) Succeeded, (2) Failed or (3) Canceled. All other values imply that the operation is still running / being applied.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "JobCollection": {
      "description": "Collection of jobs.",
      "properties": {
        "nextLink": {
          "description": "The value of next link.",
          "type": "string"
        },
        "value": {
          "description": "The list of jobs.",
          "items": {
            "$ref": "#/definitions/Job"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "JobDetails": {
      "description": "Job details based on specific job type.",
      "discriminator": "instanceType",
      "properties": {
        "affectedObjectDetails": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The affected object properties like source server, source cloud, target server, target cloud etc. based on the workflow object details.",
          "type": "object"
        },
        "instanceType": {
          "description": "Gets the type of job details (see JobDetailsTypes enum for possible values).",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "JobEntity": {
      "description": "This class contains the minimal job details required to navigate to the desired drill down.",
      "properties": {
        "jobFriendlyName": {
          "description": "The job display name.",
          "type": "string"
        },
        "jobId": {
          "description": "The job id.",
          "type": "string"
        },
        "jobScenarioName": {
          "description": "The job name. Enum type ScenarioName.",
          "type": "string"
        },
        "targetInstanceType": {
          "description": "The workflow affected object type.",
          "type": "string"
        },
        "targetObjectId": {
          "description": "The object id.",
          "type": "string"
        },
        "targetObjectName": {
          "description": "The object name.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "JobErrorDetails": {
      "description": "This class contains the error details per object.",
      "properties": {
        "creationTime": {
          "description": "The creation time of job error.",
          "format": "date-time",
          "type": "string"
        },
        "errorLevel": {
          "description": "Error level of error.",
          "type": "string"
        },
        "providerErrorDetails": {
          "$ref": "#/definitions/ProviderError",
          "description": "The Provider error details."
        },
        "serviceErrorDetails": {
          "$ref": "#/definitions/ServiceError",
          "description": "The Service error details."
        },
        "taskId": {
          "description": "The Id of the task.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "JobProperties": {
      "description": "Job custom data details.",
      "properties": {
        "activityId": {
          "description": "The activity id.",
          "type": "string"
        },
        "allowedActions": {
          "description": "The Allowed action the job.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "customDetails": {
          "$ref": "#/definitions/JobDetails",
          "description": "The custom job details like test failover job details."
        },
        "endTime": {
          "description": "The end time.",
          "format": "date-time",
          "type": "string"
        },
        "errors": {
          "description": "The errors.",
          "items": {
            "$ref": "#/definitions/JobErrorDetails"
          },
          "type": "array"
        },
        "friendlyName": {
          "description": "The DisplayName.",
          "type": "string"
        },
        "scenarioName": {
          "description": "The ScenarioName.",
          "type": "string"
        },
        "startTime": {
          "description": "The start time.",
          "format": "date-time",
          "type": "string"
        },
        "state": {
          "description": "The status of the Job. It is one of these values - NotStarted, InProgress, Succeeded, Failed, Cancelled, Suspended or Other.",
          "type": "string"
        },
        "stateDescription": {
          "description": "The description of the state of the Job. For e.g. - For Succeeded state, description can be Completed, PartiallySucceeded, CompletedWithInformation or Skipped.",
          "type": "string"
        },
        "targetInstanceType": {
          "description": "The type of the affected object which is of {Microsoft.Azure.SiteRecovery.V2015_11_10.AffectedObjectType} class.",
          "type": "string"
        },
        "targetObjectId": {
          "description": "The affected Object Id.",
          "type": "string"
        },
        "targetObjectName": {
          "description": "The name of the affected object.",
          "type": "string"
        },
        "tasks": {
          "description": "The tasks.",
          "items": {
            "$ref": "#/definitions/ASRTask"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "JobQueryParameter": {
      "description": "Query parameter to enumerate jobs.",
      "properties": {
        "affectedObjectTypes": {
          "description": "The type of objects.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "endTime": {
          "description": "Date time to get jobs up to.",
          "type": "string"
        },
        "fabricId": {
          "description": "The Id of the fabric to search jobs under.",
          "type": "string"
        },
        "jobStatus": {
          "description": "The states of the job to be filtered can be in.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "startTime": {
          "description": "Date time to get jobs from.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "JobStatusEventDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/EventSpecificDetails"
        }
      ],
      "description": "Model class for event details of a job status event.",
      "properties": {
        "affectedObjectType": {
          "description": "AffectedObjectType for the event.",
          "type": "string"
        },
        "jobFriendlyName": {
          "description": "JobName for the Event.",
          "type": "string"
        },
        "jobId": {
          "description": "Job arm id for the event.",
          "type": "string"
        },
        "jobStatus": {
          "description": "JobStatus for the Event.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "JobStatus"
    },
    "JobTaskDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/TaskTypeDetails"
        }
      ],
      "description": "This class represents a task which is actually a workflow so that one can navigate to its individual drill down.",
      "properties": {
        "jobTask": {
          "$ref": "#/definitions/JobEntity",
          "description": "The job entity."
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "JobTaskDetails"
    },
    "LogicalNetwork": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "Logical network data model.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/LogicalNetworkProperties",
          "description": "The Logical Network Properties."
        }
      },
      "type": "object"
    },
    "LogicalNetworkCollection": {
      "description": "List of logical networks.",
      "properties": {
        "nextLink": {
          "description": "The value of next link.",
          "type": "string"
        },
        "value": {
          "description": "The Logical Networks list details.",
          "items": {
            "$ref": "#/definitions/LogicalNetwork"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "LogicalNetworkProperties": {
      "description": "Logical Network Properties.",
      "properties": {
        "friendlyName": {
          "description": "The Friendly Name.",
          "type": "string"
        },
        "logicalNetworkDefinitionsStatus": {
          "description": "A value indicating whether logical network definitions are isolated.",
          "type": "string"
        },
        "logicalNetworkUsage": {
          "description": "A value indicating whether logical network is used as private test network by test failover.",
          "type": "string"
        },
        "networkVirtualizationStatus": {
          "description": "A value indicating whether Network Virtualization is enabled for the logical network.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ManualActionTaskDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/TaskTypeDetails"
        }
      ],
      "description": "This class represents the manual action task details.",
      "properties": {
        "instructions": {
          "description": "The instructions.",
          "type": "string"
        },
        "name": {
          "description": "The name.",
          "type": "string"
        },
        "observation": {
          "description": "The observation.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "ManualActionTaskDetails"
    },
    "MasterTargetServer": {
      "description": "Details of a Master Target Server.",
      "properties": {
        "agentVersion": {
          "description": "The version of the scout component on the server.",
          "type": "string"
        },
        "dataStores": {
          "description": "The list of data stores in the fabric.",
          "items": {
            "$ref": "#/definitions/DataStore"
          },
          "type": "array"
        },
        "diskCount": {
          "description": "Disk count of the master target.",
          "format": "int32",
          "type": "integer"
        },
        "id": {
          "description": "The server Id.",
          "type": "string"
        },
        "ipAddress": {
          "description": "The IP address of the server.",
          "type": "string"
        },
        "lastHeartbeat": {
          "description": "The last heartbeat received from the server.",
          "format": "date-time",
          "type": "string"
        },
        "name": {
          "description": "The server name.",
          "type": "string"
        },
        "osType": {
          "description": "The OS type of the server.",
          "type": "string"
        },
        "osVersion": {
          "description": "OS Version of the master target.",
          "type": "string"
        },
        "retentionVolumes": {
          "description": "The retention volumes of Master target Server.",
          "items": {
            "$ref": "#/definitions/RetentionVolume"
          },
          "type": "array"
        },
        "validationErrors": {
          "description": "Validation errors.",
          "items": {
            "$ref": "#/definitions/HealthError"
          },
          "type": "array"
        },
        "versionStatus": {
          "description": "Version status",
          "type": "string"
        }
      },
      "type": "object"
    },
    "MethodCallStatus": {
      "description": "Reports method status where exception was raised.",
      "properties": {
        "containsGenericParameters": {
          "description": "Gets a value indicating whether method container generic params.",
          "type": "string"
        },
        "isVirtual": {
          "description": "Gets a value indicating whether called method was virtual",
          "type": "string"
        },
        "parameters": {
          "description": "Gets parameter list passed to method.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "MobilityServiceUpdate": {
      "description": "The Mobility Service update details.",
      "properties": {
        "osType": {
          "description": "The OS type.",
          "type": "string"
        },
        "rebootStatus": {
          "description": "The reboot status of the update - whether it is required or not.",
          "type": "string"
        },
        "version": {
          "description": "The version of the latest update.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Network": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "Network model.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/NetworkProperties",
          "description": "The Network Properties."
        }
      },
      "type": "object"
    },
    "NetworkCollection": {
      "description": "List of networks.",
      "properties": {
        "nextLink": {
          "description": "The value of next link.",
          "type": "string"
        },
        "value": {
          "description": "The Networks list details.",
          "items": {
            "$ref": "#/definitions/Network"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "NetworkMapping": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "Network Mapping model. Ideally it should have been possible to inherit this class from prev version in InheritedModels as long as there is no difference in structure or method signature. Since there were no base Models for certain fields and methods viz NetworkMappingProperties and Load with required return type, the class has been introduced in its entirety with references to base models to facilitate extensions in subsequent versions.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/NetworkMappingProperties",
          "description": "The Network Mapping Properties."
        }
      },
      "type": "object"
    },
    "NetworkMappingCollection": {
      "description": "List of network mappings. As with NetworkMapping, it should be possible to reuse a prev version of this class. It doesn't seem likely this class could be anything more than a slightly bespoke collection of NetworkMapping. Hence it makes sense to override Load with Base.NetworkMapping instead of existing CurrentVersion.NetworkMapping.",
      "properties": {
        "nextLink": {
          "description": "The value of next link.",
          "type": "string"
        },
        "value": {
          "description": "The Network Mappings list.",
          "items": {
            "$ref": "#/definitions/NetworkMapping"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "NetworkMappingFabricSpecificSettings": {
      "description": "Network Mapping fabric specific settings.",
      "discriminator": "instanceType",
      "properties": {
        "instanceType": {
          "description": "Gets the Instance type.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "NetworkMappingProperties": {
      "description": "Network Mapping Properties.",
      "properties": {
        "fabricSpecificSettings": {
          "$ref": "#/definitions/NetworkMappingFabricSpecificSettings",
          "description": "The fabric specific settings."
        },
        "primaryFabricFriendlyName": {
          "description": "The primary fabric friendly name.",
          "type": "string"
        },
        "primaryNetworkFriendlyName": {
          "description": "The primary network friendly name.",
          "type": "string"
        },
        "primaryNetworkId": {
          "description": "The primary network id for network mapping.",
          "type": "string"
        },
        "recoveryFabricArmId": {
          "description": "The recovery fabric ARM id.",
          "type": "string"
        },
        "recoveryFabricFriendlyName": {
          "description": "The recovery fabric friendly name.",
          "type": "string"
        },
        "recoveryNetworkFriendlyName": {
          "description": "The recovery network friendly name.",
          "type": "string"
        },
        "recoveryNetworkId": {
          "description": "The recovery network id for network mapping.",
          "type": "string"
        },
        "state": {
          "description": "The pairing state for network mapping.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "NetworkProperties": {
      "description": "Network Properties",
      "properties": {
        "fabricType": {
          "description": "The Fabric Type.",
          "type": "string"
        },
        "friendlyName": {
          "description": "The Friendly Name.",
          "type": "string"
        },
        "networkType": {
          "description": "The Network Type.",
          "type": "string"
        },
        "subnets": {
          "description": "The List of subnets.",
          "items": {
            "$ref": "#/definitions/Subnet"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "OSDetails": {
      "description": "Disk Details.",
      "properties": {
        "oSMajorVersion": {
          "description": "The OS Major Version.",
          "type": "string"
        },
        "oSMinorVersion": {
          "description": "The OS Minor Version.",
          "type": "string"
        },
        "oSVersion": {
          "description": "The OS Version.",
          "type": "string"
        },
        "osEdition": {
          "description": "The OSEdition.",
          "type": "string"
        },
        "osType": {
          "description": "VM Disk details.",
          "type": "string"
        },
        "productType": {
          "description": "Product type.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "OSDiskDetails": {
      "description": "Details of the OS Disk.",
      "properties": {
        "osType": {
          "description": "The type of the OS on the VM.",
          "type": "string"
        },
        "osVhdId": {
          "description": "The id of the disk containing the OS.",
          "type": "string"
        },
        "vhdName": {
          "description": "The OS disk VHD name.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Object": {
      "description": "Base of all objects.",
      "properties": {},
      "type": "object"
    },
    "OperationsDiscovery": {
      "description": "Operations discovery class.",
      "properties": {
        "display": {
          "$ref": "#/definitions/Display",
          "description": "Object type"
        },
        "name": {
          "description": "Name of the API. The name of the operation being performed on this particular object. It should match the action name that appears in RBAC / the event service. Examples of operations include: * Microsoft.Compute/virtualMachine/capture/action * Microsoft.Compute/virtualMachine/restart/action * Microsoft.Compute/virtualMachine/write * Microsoft.Compute/virtualMachine/read * Microsoft.Compute/virtualMachine/delete Each action should include, in order: (1) Resource Provider Namespace (2) Type hierarchy for which the action applies (e.g. server/databases for a SQL Azure database) (3) Read, Write, Action or Delete indicating which type applies. If it is a PUT/PATCH on a collection or named value, Write should be used. If it is a GET, Read should be used. If it is a DELETE, Delete should be used. If it is a POST, Action should be used. As a note: all resource providers would need to include the \"{Resource Provider Namespace}/register/action\" operation in their response. This API is used to register for their service, and should include details about the operation (e.g. a localized name for the resource provider + any special considerations like PII release)",
          "type": "string"
        },
        "origin": {
          "description": "Origin. The intended executor of the operation; governs the display of the operation in the RBAC UX and the audit logs UX. Default value is \"user,system\"",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/OperationsDiscoveryProperties",
          "description": "Properties. Reserved for future use."
        }
      },
      "type": "object"
    },
    "OperationsDiscoveryCollection": {
      "description": "Collection of ClientDiscovery details.",
      "properties": {
        "nextLink": {
          "description": "The value of next link.",
          "type": "string"
        },
        "value": {
          "description": "The ClientDiscovery details.",
          "items": {
            "$ref": "#/definitions/OperationsDiscovery"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "OperationsDiscoveryProperties": {
      "description": "ClientDiscovery properties.",
      "properties": {},
      "type": "object"
    },
    "PlannedFailoverInput": {
      "description": "Input definition for planned failover.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/PlannedFailoverInputProperties",
          "description": "Planned failover input properties"
        }
      },
      "type": "object"
    },
    "PlannedFailoverInputProperties": {
      "description": "Input definition for planned failover input properties.",
      "properties": {
        "failoverDirection": {
          "description": "Failover direction.",
          "type": "string"
        },
        "providerSpecificDetails": {
          "$ref": "#/definitions/ProviderSpecificFailoverInput",
          "description": "Provider specific settings"
        }
      },
      "type": "object"
    },
    "Policy": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "Protection profile details.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/PolicyProperties",
          "description": "The custom data."
        }
      },
      "type": "object"
    },
    "PolicyCollection": {
      "description": "Protection Profile Collection details.",
      "properties": {
        "nextLink": {
          "description": "The value of next link.",
          "type": "string"
        },
        "value": {
          "description": "The policy details.",
          "items": {
            "$ref": "#/definitions/Policy"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "PolicyProperties": {
      "description": "Protection profile custom data details.",
      "properties": {
        "friendlyName": {
          "description": "The FriendlyName.",
          "type": "string"
        },
        "providerSpecificDetails": {
          "$ref": "#/definitions/PolicyProviderSpecificDetails",
          "description": "The ReplicationChannelSetting."
        }
      },
      "type": "object"
    },
    "PolicyProviderSpecificDetails": {
      "description": "Base class for Provider specific details for policies.",
      "discriminator": "instanceType",
      "properties": {
        "instanceType": {
          "description": "Gets the class type. Overridden in derived classes.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "PolicyProviderSpecificInput": {
      "description": "Base class for provider specific input",
      "discriminator": "instanceType",
      "properties": {
        "instanceType": {
          "description": "The class type.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ProcessServer": {
      "description": "Details of the Process Server.",
      "properties": {
        "agentVersion": {
          "description": "The version of the scout component on the server.",
          "type": "string"
        },
        "availableMemoryInBytes": {
          "description": "The available memory.",
          "format": "int64",
          "type": "integer"
        },
        "availableSpaceInBytes": {
          "description": "The available space.",
          "format": "int64",
          "type": "integer"
        },
        "cpuLoad": {
          "description": "The percentage of the CPU load.",
          "type": "string"
        },
        "cpuLoadStatus": {
          "description": "The CPU load status.",
          "type": "string"
        },
        "friendlyName": {
          "description": "The Process Server's friendly name.",
          "type": "string"
        },
        "hostId": {
          "description": "The agent generated Id.",
          "type": "string"
        },
        "id": {
          "description": "The Process Server Id.",
          "type": "string"
        },
        "ipAddress": {
          "description": "The IP address of the server.",
          "type": "string"
        },
        "lastHeartbeat": {
          "description": "The last heartbeat received from the server.",
          "format": "date-time",
          "type": "string"
        },
        "machineCount": {
          "description": "The servers configured with this PS.",
          "type": "string"
        },
        "memoryUsageStatus": {
          "description": "The memory usage status.",
          "type": "string"
        },
        "mobilityServiceUpdates": {
          "description": "The list of the mobility service updates available on the Process Server.",
          "items": {
            "$ref": "#/definitions/MobilityServiceUpdate"
          },
          "type": "array"
        },
        "osType": {
          "description": "The OS type of the server.",
          "type": "string"
        },
        "osVersion": {
          "description": "OS Version of the process server. Note: This will get populated if user has CS version greater than 9.12.0.0.",
          "type": "string"
        },
        "psServiceStatus": {
          "description": "The PS service status.",
          "type": "string"
        },
        "replicationPairCount": {
          "description": "The number of replication pairs configured in this PS.",
          "type": "string"
        },
        "spaceUsageStatus": {
          "description": "The space usage status.",
          "type": "string"
        },
        "sslCertExpiryDate": {
          "description": "The PS SSL cert expiry date.",
          "format": "date-time",
          "type": "string"
        },
        "sslCertExpiryRemainingDays": {
          "description": "CS SSL cert expiry date.",
          "format": "int32",
          "type": "integer"
        },
        "systemLoad": {
          "description": "The percentage of the system load.",
          "type": "string"
        },
        "systemLoadStatus": {
          "description": "The system load status.",
          "type": "string"
        },
        "totalMemoryInBytes": {
          "description": "The total memory.",
          "format": "int64",
          "type": "integer"
        },
        "totalSpaceInBytes": {
          "description": "The total space.",
          "format": "int64",
          "type": "integer"
        },
        "versionStatus": {
          "description": "Version status",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ProtectableItem": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "Replication protected item",
      "properties": {
        "properties": {
          "$ref": "#/definitions/ProtectableItemProperties",
          "description": "The custom data."
        }
      },
      "type": "object"
    },
    "ProtectableItemCollection": {
      "description": "Protectable item collection.",
      "properties": {
        "nextLink": {
          "description": "The value of next link.",
          "type": "string"
        },
        "value": {
          "description": "The Protectable item details.",
          "items": {
            "$ref": "#/definitions/ProtectableItem"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ProtectableItemProperties": {
      "description": "Replication protected item custom data details.",
      "properties": {
        "customDetails": {
          "$ref": "#/definitions/ConfigurationSettings",
          "description": "The Replication provider custom settings."
        },
        "friendlyName": {
          "description": "The name.",
          "type": "string"
        },
        "protectionReadinessErrors": {
          "description": "The Current protection readiness errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "protectionStatus": {
          "description": "The protection status.",
          "type": "string"
        },
        "recoveryServicesProviderId": {
          "description": "The recovery provider ARM Id.",
          "type": "string"
        },
        "replicationProtectedItemId": {
          "description": "The ARM resource of protected items.",
          "type": "string"
        },
        "supportedReplicationProviders": {
          "description": "The list of replication providers supported for the protectable item.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ProtectedItemsQueryParameter": {
      "description": "Query parameter to enumerate protected items.",
      "properties": {
        "recoveryPlanName": {
          "description": "The recovery plan filter.",
          "type": "string"
        },
        "sourceFabricName": {
          "description": "The source fabric name filter.",
          "type": "string"
        },
        "vCenterName": {
          "description": "The vCenter name filter.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ProtectionContainer": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "Protection container details.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/ProtectionContainerProperties",
          "description": "The custom data."
        }
      },
      "type": "object"
    },
    "ProtectionContainerCollection": {
      "description": "Protection Container collection.",
      "properties": {
        "nextLink": {
          "description": "The value of next link.",
          "type": "string"
        },
        "value": {
          "description": "The Protection Container details.",
          "items": {
            "$ref": "#/definitions/ProtectionContainer"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ProtectionContainerFabricSpecificDetails": {
      "description": "Base class for fabric specific details of container.",
      "properties": {
        "instanceType": {
          "description": "Gets the class type. Overridden in derived classes.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "ProtectionContainerMapping": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "Protection container mapping object.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/ProtectionContainerMappingProperties",
          "description": "The custom data."
        }
      },
      "type": "object"
    },
    "ProtectionContainerMappingCollection": {
      "description": "Protection container mapping collection class.",
      "properties": {
        "nextLink": {
          "description": "Link to fetch rest of the data.",
          "type": "string"
        },
        "value": {
          "description": "List of container mappings.",
          "items": {
            "$ref": "#/definitions/ProtectionContainerMapping"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ProtectionContainerMappingProperties": {
      "description": "Protection container mapping properties.",
      "properties": {
        "health": {
          "description": "Health of pairing.",
          "type": "string"
        },
        "healthErrorDetails": {
          "description": "Health error.",
          "items": {
            "$ref": "#/definitions/HealthError"
          },
          "type": "array"
        },
        "policyFriendlyName": {
          "description": "Friendly name of replication policy.",
          "type": "string"
        },
        "policyId": {
          "description": "Policy ARM Id.",
          "type": "string"
        },
        "providerSpecificDetails": {
          "$ref": "#/definitions/ProtectionContainerMappingProviderSpecificDetails",
          "description": "Provider specific provider details."
        },
        "sourceFabricFriendlyName": {
          "description": "Friendly name of source fabric.",
          "type": "string"
        },
        "sourceProtectionContainerFriendlyName": {
          "description": "Friendly name of source protection container.",
          "type": "string"
        },
        "state": {
          "description": "Association Status",
          "type": "string"
        },
        "targetFabricFriendlyName": {
          "description": "Friendly name of target fabric.",
          "type": "string"
        },
        "targetProtectionContainerFriendlyName": {
          "description": "Friendly name of paired container.",
          "type": "string"
        },
        "targetProtectionContainerId": {
          "description": "Paired protection container ARM ID.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ProtectionContainerMappingProviderSpecificDetails": {
      "description": "Container mapping provider specific details.",
      "properties": {
        "instanceType": {
          "description": "Gets the class type. Overridden in derived classes.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "ProtectionContainerProperties": {
      "description": "Protection profile custom data details.",
      "properties": {
        "fabricFriendlyName": {
          "description": "Fabric friendly name.",
          "type": "string"
        },
        "fabricSpecificDetails": {
          "$ref": "#/definitions/ProtectionContainerFabricSpecificDetails",
          "description": "Fabric specific details."
        },
        "fabricType": {
          "description": "The fabric type.",
          "type": "string"
        },
        "friendlyName": {
          "description": "The name.",
          "type": "string"
        },
        "pairingStatus": {
          "description": "The pairing status of this cloud.",
          "type": "string"
        },
        "protectedItemCount": {
          "description": "Number of protected PEs",
          "format": "int32",
          "type": "integer"
        },
        "role": {
          "description": "The role of this cloud.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ProviderError": {
      "description": "This class contains the error details per object.",
      "properties": {
        "errorCode": {
          "description": "The Error code.",
          "format": "int32",
          "type": "integer"
        },
        "errorId": {
          "description": "The Provider error Id.",
          "type": "string"
        },
        "errorMessage": {
          "description": "The Error message.",
          "type": "string"
        },
        "possibleCauses": {
          "description": "The possible causes for the error.",
          "type": "string"
        },
        "recommendedAction": {
          "description": "The recommended action to resolve the error.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ProviderSpecificFailoverInput": {
      "description": "Provider specific failover input.",
      "discriminator": "instanceType",
      "properties": {
        "instanceType": {
          "description": "The class type.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ProviderSpecificRecoveryPointDetails": {
      "description": "Replication provider specific recovery point details.",
      "discriminator": "instanceType",
      "properties": {
        "Type": {
          "description": "Gets the provider type.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "RcmAzureMigrationPolicyDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/PolicyProviderSpecificDetails"
        }
      ],
      "description": "RCM based Azure migration specific policy details.",
      "properties": {
        "appConsistentFrequencyInMinutes": {
          "description": "The app consistent snapshot frequency in minutes.",
          "format": "int32",
          "type": "integer"
        },
        "crashConsistentFrequencyInMinutes": {
          "description": "The crash consistent snapshot frequency in minutes.",
          "format": "int32",
          "type": "integer"
        },
        "multiVmSyncStatus": {
          "description": "A value indicating whether multi-VM sync has to be enabled.",
          "enum": [
            "Enabled",
            "Disabled"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "MultiVmSyncStatus"
          }
        },
        "recoveryPointHistory": {
          "description": "The duration in minutes until which the recovery points need to be stored.",
          "format": "int32",
          "type": "integer"
        },
        "recoveryPointThresholdInMinutes": {
          "description": "The recovery point threshold in minutes.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "RcmAzureMigration"
    },
    "RecoveryPlan": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "Recovery plan details.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/RecoveryPlanProperties",
          "description": "The custom details."
        }
      },
      "type": "object"
    },
    "RecoveryPlanA2AFailoverInput": {
      "allOf": [
        {
          "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
        }
      ],
      "description": "Recovery plan A2A failover input.",
      "properties": {
        "cloudServiceCreationOption": {
          "description": "A value indicating whether to use recovery cloud service for TFO or not.",
          "type": "string"
        },
        "recoveryPointType": {
          "description": "The recovery point type.",
          "enum": [
            "Latest",
            "LatestApplicationConsistent",
            "LatestCrashConsistent",
            "LatestProcessed"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "A2ARpRecoveryPointType"
          }
        }
      },
      "required": [
        "recoveryPointType"
      ],
      "type": "object",
      "x-ms-discriminator-value": "A2A"
    },
    "RecoveryPlanAction": {
      "description": "Recovery plan action details.",
      "properties": {
        "actionName": {
          "description": "The action name.",
          "type": "string"
        },
        "customDetails": {
          "$ref": "#/definitions/RecoveryPlanActionDetails",
          "description": "The custom details."
        },
        "failoverDirections": {
          "description": "The list of failover directions.",
          "items": {
            "enum": [
              "PrimaryToRecovery",
              "RecoveryToPrimary"
            ],
            "type": "string",
            "x-ms-enum": {
              "modelAsString": false,
              "name": "PossibleOperationsDirections"
            }
          },
          "type": "array"
        },
        "failoverTypes": {
          "description": "The list of failover types.",
          "items": {
            "enum": [
              "ReverseReplicate",
              "Commit",
              "PlannedFailover",
              "UnplannedFailover",
              "DisableProtection",
              "TestFailover",
              "TestFailoverCleanup",
              "Failback",
              "FinalizeFailback",
              "ChangePit",
              "RepairReplication",
              "SwitchProtection",
              "CompleteMigration"
            ],
            "type": "string",
            "x-ms-enum": {
              "modelAsString": false,
              "name": "ReplicationProtectedItemOperation"
            }
          },
          "type": "array"
        }
      },
      "required": [
        "actionName",
        "failoverTypes",
        "failoverDirections",
        "customDetails"
      ],
      "type": "object"
    },
    "RecoveryPlanActionDetails": {
      "description": "Recovery plan action custom details.",
      "discriminator": "instanceType",
      "properties": {
        "instanceType": {
          "description": "Gets the type of action details (see RecoveryPlanActionDetailsTypes enum for possible values).",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "RecoveryPlanAutomationRunbookActionDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/RecoveryPlanActionDetails"
        }
      ],
      "description": "Recovery plan Automation runbook action details.",
      "properties": {
        "fabricLocation": {
          "description": "The fabric location.",
          "enum": [
            "Primary",
            "Recovery"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "RecoveryPlanActionLocation"
          }
        },
        "runbookId": {
          "description": "The runbook ARM Id.",
          "type": "string"
        },
        "timeout": {
          "description": "The runbook timeout.",
          "type": "string"
        }
      },
      "required": [
        "fabricLocation"
      ],
      "type": "object",
      "x-ms-discriminator-value": "AutomationRunbookActionDetails"
    },
    "RecoveryPlanCollection": {
      "description": "Recovery plan collection details.",
      "properties": {
        "nextLink": {
          "description": "The value of next link.",
          "type": "string"
        },
        "value": {
          "description": "The list of recovery plans.",
          "items": {
            "$ref": "#/definitions/RecoveryPlan"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "RecoveryPlanGroup": {
      "description": "Recovery plan group details.",
      "properties": {
        "endGroupActions": {
          "description": "The end group actions.",
          "items": {
            "$ref": "#/definitions/RecoveryPlanAction"
          },
          "type": "array"
        },
        "groupType": {
          "description": "The group type.",
          "enum": [
            "Shutdown",
            "Boot",
            "Failover"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "RecoveryPlanGroupType"
          }
        },
        "replicationProtectedItems": {
          "description": "The list of protected items.",
          "items": {
            "$ref": "#/definitions/RecoveryPlanProtectedItem"
          },
          "type": "array"
        },
        "startGroupActions": {
          "description": "The start group actions.",
          "items": {
            "$ref": "#/definitions/RecoveryPlanAction"
          },
          "type": "array"
        }
      },
      "required": [
        "groupType"
      ],
      "type": "object"
    },
    "RecoveryPlanGroupTaskDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/GroupTaskDetails"
        }
      ],
      "description": "This class represents the recovery plan group task.",
      "properties": {
        "groupId": {
          "description": "The group identifier.",
          "type": "string"
        },
        "name": {
          "description": "The name.",
          "type": "string"
        },
        "rpGroupType": {
          "description": "The group type.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "RecoveryPlanGroupTaskDetails"
    },
    "RecoveryPlanHyperVReplicaAzureFailbackInput": {
      "allOf": [
        {
          "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
        }
      ],
      "description": "Recovery plan HVR Azure failback input.",
      "properties": {
        "dataSyncOption": {
          "description": "The data sync option.",
          "enum": [
            "ForDownTime",
            "ForSynchronization"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "DataSyncStatus"
          }
        },
        "recoveryVmCreationOption": {
          "description": "The ALR option.",
          "enum": [
            "CreateVmIfNotFound",
            "NoAction"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "AlternateLocationRecoveryOption"
          }
        }
      },
      "required": [
        "dataSyncOption",
        "recoveryVmCreationOption"
      ],
      "type": "object",
      "x-ms-discriminator-value": "HyperVReplicaAzureFailback"
    },
    "RecoveryPlanHyperVReplicaAzureFailoverInput": {
      "allOf": [
        {
          "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
        }
      ],
      "description": "Recovery plan HVR Azure failover input.",
      "properties": {
        "primaryKekCertificatePfx": {
          "description": "The primary KEK certificate PFX.",
          "type": "string"
        },
        "recoveryPointType": {
          "description": "The recovery point type.",
          "enum": [
            "Latest",
            "LatestApplicationConsistent",
            "LatestProcessed"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "HyperVReplicaAzureRpRecoveryPointType"
          }
        },
        "secondaryKekCertificatePfx": {
          "description": "The secondary KEK certificate PFX.",
          "type": "string"
        },
        "vaultLocation": {
          "description": "The vault location.",
          "type": "string"
        }
      },
      "required": [
        "vaultLocation"
      ],
      "type": "object",
      "x-ms-discriminator-value": "HyperVReplicaAzure"
    },
    "RecoveryPlanInMageAzureV2FailoverInput": {
      "allOf": [
        {
          "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
        }
      ],
      "description": "Recovery plan InMageAzureV2 failover input.",
      "properties": {
        "recoveryPointType": {
          "description": "The recovery point type.",
          "enum": [
            "Latest",
            "LatestApplicationConsistent",
            "LatestCrashConsistent",
            "LatestProcessed"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "InMageV2RpRecoveryPointType"
          }
        },
        "useMultiVmSyncPoint": {
          "description": "A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover.",
          "type": "string"
        },
        "vaultLocation": {
          "description": "The vault location.",
          "type": "string"
        }
      },
      "required": [
        "vaultLocation",
        "recoveryPointType"
      ],
      "type": "object",
      "x-ms-discriminator-value": "InMageAzureV2"
    },
    "RecoveryPlanInMageFailoverInput": {
      "allOf": [
        {
          "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
        }
      ],
      "description": "Recovery plan InMage failover input.",
      "properties": {
        "recoveryPointType": {
          "description": "The recovery point type.",
          "enum": [
            "LatestTime",
            "LatestTag",
            "Custom"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "RpInMageRecoveryPointType"
          }
        }
      },
      "required": [
        "recoveryPointType"
      ],
      "type": "object",
      "x-ms-discriminator-value": "InMage"
    },
    "RecoveryPlanManualActionDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/RecoveryPlanActionDetails"
        }
      ],
      "description": "Recovery plan manual action details.",
      "properties": {
        "description": {
          "description": "The manual action description.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "ManualActionDetails"
    },
    "RecoveryPlanPlannedFailoverInput": {
      "description": "Recovery plan planned failover input.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/RecoveryPlanPlannedFailoverInputProperties",
          "description": "The recovery plan planned failover input properties."
        }
      },
      "required": [
        "properties"
      ],
      "type": "object"
    },
    "RecoveryPlanPlannedFailoverInputProperties": {
      "description": "Recovery plan planned failover input properties.",
      "properties": {
        "failoverDirection": {
          "description": "The failover direction.",
          "enum": [
            "PrimaryToRecovery",
            "RecoveryToPrimary"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "PossibleOperationsDirections"
          }
        },
        "providerSpecificDetails": {
          "description": "The provider specific properties.",
          "items": {
            "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
          },
          "type": "array"
        }
      },
      "required": [
        "failoverDirection"
      ],
      "type": "object"
    },
    "RecoveryPlanProperties": {
      "description": "Recovery plan custom details.",
      "properties": {
        "allowedOperations": {
          "description": "The list of allowed operations.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "currentScenario": {
          "$ref": "#/definitions/CurrentScenarioDetails",
          "description": "The current scenario details."
        },
        "currentScenarioStatus": {
          "description": "The recovery plan status.",
          "type": "string"
        },
        "currentScenarioStatusDescription": {
          "description": "The recovery plan status description.",
          "type": "string"
        },
        "failoverDeploymentModel": {
          "description": "The failover deployment model.",
          "type": "string"
        },
        "friendlyName": {
          "description": "The friendly name.",
          "type": "string"
        },
        "groups": {
          "description": "The recovery plan groups.",
          "items": {
            "$ref": "#/definitions/RecoveryPlanGroup"
          },
          "type": "array"
        },
        "lastPlannedFailoverTime": {
          "description": "The start time of the last planned failover.",
          "format": "date-time",
          "type": "string"
        },
        "lastTestFailoverTime": {
          "description": "The start time of the last test failover.",
          "format": "date-time",
          "type": "string"
        },
        "lastUnplannedFailoverTime": {
          "description": "The start time of the last unplanned failover.",
          "format": "date-time",
          "type": "string"
        },
        "primaryFabricFriendlyName": {
          "description": "The primary fabric friendly name.",
          "type": "string"
        },
        "primaryFabricId": {
          "description": "The primary fabric Id.",
          "type": "string"
        },
        "recoveryFabricFriendlyName": {
          "description": "The recovery fabric friendly name.",
          "type": "string"
        },
        "recoveryFabricId": {
          "description": "The recovery fabric Id.",
          "type": "string"
        },
        "replicationProviders": {
          "description": "The list of replication providers.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "RecoveryPlanProtectedItem": {
      "description": "Recovery plan protected item.",
      "properties": {
        "id": {
          "description": "The ARM Id of the recovery plan protected item.",
          "type": "string"
        },
        "virtualMachineId": {
          "description": "The virtual machine Id.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "RecoveryPlanProviderSpecificFailoverInput": {
      "description": "Recovery plan provider specific failover input base class.",
      "discriminator": "instanceType",
      "properties": {
        "instanceType": {
          "description": "The class type.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "RecoveryPlanScriptActionDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/RecoveryPlanActionDetails"
        }
      ],
      "description": "Recovery plan script action details.",
      "properties": {
        "fabricLocation": {
          "description": "The fabric location.",
          "enum": [
            "Primary",
            "Recovery"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "RecoveryPlanActionLocation"
          }
        },
        "path": {
          "description": "The script path.",
          "type": "string"
        },
        "timeout": {
          "description": "The script timeout.",
          "type": "string"
        }
      },
      "required": [
        "path",
        "fabricLocation"
      ],
      "type": "object",
      "x-ms-discriminator-value": "ScriptActionDetails"
    },
    "RecoveryPlanShutdownGroupTaskDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/GroupTaskDetails"
        }
      ],
      "description": "This class represents the recovery plan shutdown group task details.",
      "properties": {
        "groupId": {
          "description": "The group identifier.",
          "type": "string"
        },
        "name": {
          "description": "The name.",
          "type": "string"
        },
        "rpGroupType": {
          "description": "The group type.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "RecoveryPlanShutdownGroupTaskDetails"
    },
    "RecoveryPlanTestFailoverCleanupInput": {
      "description": "Recovery plan test failover cleanup input.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/RecoveryPlanTestFailoverCleanupInputProperties",
          "description": "The recovery plan test failover cleanup input properties."
        }
      },
      "required": [
        "properties"
      ],
      "type": "object"
    },
    "RecoveryPlanTestFailoverCleanupInputProperties": {
      "description": "Recovery plan test failover cleanup input properties.",
      "properties": {
        "comments": {
          "description": "The test failover cleanup comments.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "RecoveryPlanTestFailoverInput": {
      "description": "Recovery plan test failover input.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/RecoveryPlanTestFailoverInputProperties",
          "description": "The recovery plan test failover input properties."
        }
      },
      "required": [
        "properties"
      ],
      "type": "object"
    },
    "RecoveryPlanTestFailoverInputProperties": {
      "description": "Recovery plan test failover input properties.",
      "properties": {
        "failoverDirection": {
          "description": "The failover direction.",
          "enum": [
            "PrimaryToRecovery",
            "RecoveryToPrimary"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "PossibleOperationsDirections"
          }
        },
        "networkId": {
          "description": "The Id of the network to be used for test failover.",
          "type": "string"
        },
        "networkType": {
          "description": "The network type to be used for test failover.",
          "type": "string"
        },
        "providerSpecificDetails": {
          "description": "The provider specific properties.",
          "items": {
            "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
          },
          "type": "array"
        },
        "skipTestFailoverCleanup": {
          "description": "A value indicating whether the test failover cleanup is to be skipped.",
          "type": "string"
        }
      },
      "required": [
        "failoverDirection",
        "networkType"
      ],
      "type": "object"
    },
    "RecoveryPlanUnplannedFailoverInput": {
      "description": "Recovery plan unplanned failover input.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/RecoveryPlanUnplannedFailoverInputProperties",
          "description": "The recovery plan unplanned failover input properties."
        }
      },
      "required": [
        "properties"
      ],
      "type": "object"
    },
    "RecoveryPlanUnplannedFailoverInputProperties": {
      "description": "Recovery plan unplanned failover input properties.",
      "properties": {
        "failoverDirection": {
          "description": "The failover direction.",
          "enum": [
            "PrimaryToRecovery",
            "RecoveryToPrimary"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "PossibleOperationsDirections"
          }
        },
        "providerSpecificDetails": {
          "description": "The provider specific properties.",
          "items": {
            "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput"
          },
          "type": "array"
        },
        "sourceSiteOperations": {
          "description": "A value indicating whether source site operations are required.",
          "enum": [
            "Required",
            "NotRequired"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "SourceSiteOperations"
          }
        }
      },
      "required": [
        "failoverDirection",
        "sourceSiteOperations"
      ],
      "type": "object"
    },
    "RecoveryPoint": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "Base class representing a recovery point.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/RecoveryPointProperties",
          "description": "Recovery point related data."
        }
      },
      "type": "object"
    },
    "RecoveryPointCollection": {
      "description": "Collection of recovery point details.",
      "properties": {
        "nextLink": {
          "description": "The value of next link.",
          "type": "string"
        },
        "value": {
          "description": "The recovery point details.",
          "items": {
            "$ref": "#/definitions/RecoveryPoint"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "RecoveryPointProperties": {
      "description": "Recovery point properties.",
      "properties": {
        "providerSpecificDetails": {
          "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails",
          "description": "The provider specific details for the recovery point."
        },
        "recoveryPointTime": {
          "description": "The recovery point time.",
          "format": "date-time",
          "type": "string"
        },
        "recoveryPointType": {
          "description": "The recovery point type: ApplicationConsistent, CrashConsistent.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "RecoveryServicesProvider": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "Provider details.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/RecoveryServicesProviderProperties",
          "description": "Provider properties."
        }
      },
      "type": "object"
    },
    "RecoveryServicesProviderCollection": {
      "description": "Collection of providers.",
      "properties": {
        "nextLink": {
          "description": "The value of next link.",
          "type": "string"
        },
        "value": {
          "description": "The Servers details.",
          "items": {
            "$ref": "#/definitions/RecoveryServicesProvider"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "RecoveryServicesProviderProperties": {
      "description": "Recovery services provider properties.",
      "properties": {
        "allowedScenarios": {
          "description": "The scenarios allowed on this provider.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "connectionStatus": {
          "description": "A value indicating whether DRA is responsive.",
          "type": "string"
        },
        "draIdentifier": {
          "description": "The DRA Id.",
          "type": "string"
        },
        "fabricFriendlyName": {
          "description": "The fabric friendly name.",
          "type": "string"
        },
        "fabricType": {
          "description": "Type of the site.",
          "type": "string"
        },
        "friendlyName": {
          "description": "Friendly name of the DRA.",
          "type": "string"
        },
        "healthErrorDetails": {
          "description": "The recovery services provider health error details.",
          "items": {
            "$ref": "#/definitions/HealthError"
          },
          "type": "array"
        },
        "identityDetails": {
          "$ref": "#/definitions/IdentityInformation",
          "description": "The identity details."
        },
        "lastHeartBeat": {
          "description": "Time when last heartbeat was sent by the DRA.",
          "format": "date-time",
          "type": "string"
        },
        "protectedItemCount": {
          "description": "Number of protected VMs currently managed by the DRA.",
          "format": "int32",
          "type": "integer"
        },
        "providerVersion": {
          "description": "The provider version.",
          "type": "string"
        },
        "providerVersionExpiryDate": {
          "description": "Expiry date if the version is deprecated.",
          "format": "date-time",
          "type": "string"
        },
        "providerVersionState": {
          "description": "DRA version status.",
          "type": "string"
        },
        "serverVersion": {
          "description": "The fabric provider.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "RemoveProtectionContainerMappingInput": {
      "description": "Container unpairing input.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/RemoveProtectionContainerMappingInputProperties",
          "description": "Configure protection input properties."
        }
      },
      "type": "object"
    },
    "RemoveProtectionContainerMappingInputProperties": {
      "description": "Unpairing input properties.",
      "properties": {
        "providerSpecificInput": {
          "$ref": "#/definitions/ReplicationProviderContainerUnmappingInput",
          "description": "Provider specific input for unpairing."
        }
      },
      "type": "object"
    },
    "RenewCertificateInput": {
      "description": "Certificate renewal input.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/RenewCertificateInputProperties",
          "description": "Renew certificate input properties."
        }
      },
      "type": "object"
    },
    "RenewCertificateInputProperties": {
      "description": "Renew Certificate input properties.",
      "properties": {
        "renewCertificateType": {
          "description": "Renew certificate type.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ReplicationGroupDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/ConfigurationSettings"
        }
      ],
      "description": "Replication group details. This will be used in case of San and Wvr.",
      "properties": {},
      "type": "object",
      "x-ms-discriminator-value": "ReplicationGroupDetails"
    },
    "ReplicationProtectedItem": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "Replication protected item.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/ReplicationProtectedItemProperties",
          "description": "The custom data."
        }
      },
      "type": "object"
    },
    "ReplicationProtectedItemCollection": {
      "description": "Replication protected item collection.",
      "properties": {
        "nextLink": {
          "description": "The value of next link.",
          "type": "string"
        },
        "value": {
          "description": "The Replication protected item details.",
          "items": {
            "$ref": "#/definitions/ReplicationProtectedItem"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ReplicationProtectedItemProperties": {
      "description": "Replication protected item custom data details.",
      "properties": {
        "activeLocation": {
          "description": "The Current active location of the PE.",
          "type": "string"
        },
        "allowedOperations": {
          "description": "The allowed operations on the Replication protected item.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "currentScenario": {
          "$ref": "#/definitions/CurrentScenarioDetails",
          "description": "The current scenario."
        },
        "failoverHealth": {
          "description": "The consolidated failover health for the VM.",
          "type": "string"
        },
        "failoverHealthErrors": {
          "description": "List of failover health errors.",
          "items": {
            "$ref": "#/definitions/HealthError"
          },
          "type": "array"
        },
        "failoverRecoveryPointId": {
          "description": "The recovery point ARM Id to which the Vm was failed over.",
          "type": "string"
        },
        "friendlyName": {
          "description": "The name.",
          "type": "string"
        },
        "lastSuccessfulFailoverTime": {
          "description": "The Last successful failover time.",
          "format": "date-time",
          "type": "string"
        },
        "lastSuccessfulTestFailoverTime": {
          "description": "The Last successful test failover time.",
          "format": "date-time",
          "type": "string"
        },
        "policyFriendlyName": {
          "description": "The name of Policy governing this PE.",
          "type": "string"
        },
        "policyId": {
          "description": "The ID of Policy governing this PE.",
          "type": "string"
        },
        "primaryFabricFriendlyName": {
          "description": "The friendly name of the primary fabric.",
          "type": "string"
        },
        "primaryProtectionContainerFriendlyName": {
          "description": "The name of primary protection container friendly name.",
          "type": "string"
        },
        "protectableItemId": {
          "description": "The protected item ARM Id.",
          "type": "string"
        },
        "protectedItemType": {
          "description": "The type of protected item type.",
          "type": "string"
        },
        "protectionState": {
          "description": "The protection status.",
          "type": "string"
        },
        "protectionStateDescription": {
          "description": "The protection state description.",
          "type": "string"
        },
        "providerSpecificDetails": {
          "$ref": "#/definitions/ReplicationProviderSpecificSettings",
          "description": "The Replication provider custom settings."
        },
        "recoveryContainerId": {
          "description": "The recovery container Id.",
          "type": "string"
        },
        "recoveryFabricFriendlyName": {
          "description": "The friendly name of recovery fabric.",
          "type": "string"
        },
        "recoveryFabricId": {
          "description": "The Arm Id of recovery fabric.",
          "type": "string"
        },
        "recoveryProtectionContainerFriendlyName": {
          "description": "The name of recovery container friendly name.",
          "type": "string"
        },
        "recoveryServicesProviderId": {
          "description": "The recovery provider ARM Id.",
          "type": "string"
        },
        "replicationHealth": {
          "description": "The consolidated protection health for the VM taking any issues with SRS as well as all the replication units associated with the VM's replication group into account. This is a string representation of the ProtectionHealth enumeration.",
          "type": "string"
        },
        "replicationHealthErrors": {
          "description": "List of replication health errors.",
          "items": {
            "$ref": "#/definitions/HealthError"
          },
          "type": "array"
        },
        "testFailoverState": {
          "description": "The Test failover state.",
          "type": "string"
        },
        "testFailoverStateDescription": {
          "description": "The Test failover state description.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ReplicationProviderContainerUnmappingInput": {
      "description": "Provider specific input for unpairing operations.",
      "properties": {
        "instanceType": {
          "description": "The class type.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ReplicationProviderSpecificContainerCreationInput": {
      "description": "Provider specific input for container creation operation.",
      "discriminator": "instanceType",
      "properties": {
        "instanceType": {
          "description": "The class type.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ReplicationProviderSpecificContainerMappingInput": {
      "description": "Provider specific input for pairing operations.",
      "properties": {
        "instanceType": {
          "description": "The class type.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ReplicationProviderSpecificSettings": {
      "description": "Replication provider specific settings.",
      "discriminator": "instanceType",
      "properties": {
        "instanceType": {
          "description": "Gets the Instance type.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "Resource": {
      "description": "Azure resource.",
      "properties": {
        "id": {
          "description": "Resource Id",
          "readOnly": true,
          "type": "string"
        },
        "location": {
          "description": "Resource Location",
          "type": "string"
        },
        "name": {
          "description": "Resource Name",
          "readOnly": true,
          "type": "string"
        },
        "type": {
          "description": "Resource Type",
          "readOnly": true,
          "type": "string"
        }
      },
      "x-ms-azure-resource": true
    },
    "ResourceHealthSummary": {
      "description": "Base class to define the health summary of the resources contained under an Arm resource.",
      "properties": {
        "issues": {
          "description": "The list of summary of health errors across the resources under the container.",
          "items": {
            "$ref": "#/definitions/HealthErrorSummary"
          },
          "type": "array"
        },
        "resourceCount": {
          "description": "The count of total resources under the container.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "ResumeJobParams": {
      "description": "Resume job params.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/ResumeJobParamsProperties",
          "description": "Resume job properties."
        }
      },
      "type": "object"
    },
    "ResumeJobParamsProperties": {
      "description": "Resume job properties.",
      "properties": {
        "comments": {
          "description": "Resume job comments.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "RetentionVolume": {
      "description": "The retention details of the MT.",
      "properties": {
        "capacityInBytes": {
          "description": "The volume capacity.",
          "format": "int64",
          "type": "integer"
        },
        "freeSpaceInBytes": {
          "description": "The free space available in this volume.",
          "format": "int64",
          "type": "integer"
        },
        "thresholdPercentage": {
          "description": "The threshold percentage.",
          "format": "int32",
          "type": "integer"
        },
        "volumeName": {
          "description": "The volume name.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ReverseReplicationInput": {
      "description": "Reverse replication input.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/ReverseReplicationInputProperties",
          "description": "Reverse replication properties"
        }
      },
      "type": "object"
    },
    "ReverseReplicationInputProperties": {
      "description": "Reverse replication input properties.",
      "properties": {
        "failoverDirection": {
          "description": "Failover direction.",
          "type": "string"
        },
        "providerSpecificDetails": {
          "$ref": "#/definitions/ReverseReplicationProviderSpecificInput",
          "description": "Provider specific reverse replication input."
        }
      },
      "type": "object"
    },
    "ReverseReplicationProviderSpecificInput": {
      "description": "Provider specific reverse replication input.",
      "discriminator": "instanceType",
      "properties": {
        "instanceType": {
          "description": "The class type.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "RoleAssignment": {
      "description": "Azure role assignment details.",
      "properties": {
        "id": {
          "description": "The ARM Id of the role assignment.",
          "type": "string"
        },
        "name": {
          "description": "The name of the role assignment.",
          "type": "string"
        },
        "principalId": {
          "description": "Principal Id.",
          "type": "string"
        },
        "roleDefinitionId": {
          "description": "Role definition id.",
          "type": "string"
        },
        "scope": {
          "description": "Role assignment scope.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "RunAsAccount": {
      "description": "CS Accounts Details.",
      "properties": {
        "accountId": {
          "description": "The CS RunAs account Id.",
          "type": "string"
        },
        "accountName": {
          "description": "The CS RunAs account name.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "SanEnableProtectionInput": {
      "allOf": [
        {
          "$ref": "#/definitions/EnableProtectionProviderSpecificInput"
        }
      ],
      "description": "San enable protection provider specific input.",
      "properties": {},
      "type": "object",
      "x-ms-discriminator-value": "San"
    },
    "ScriptActionTaskDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/TaskTypeDetails"
        }
      ],
      "description": "This class represents the script action task details.",
      "properties": {
        "isPrimarySideScript": {
          "description": "A value indicating whether it is a primary side script or not.",
          "type": "boolean"
        },
        "name": {
          "description": "The name.",
          "type": "string"
        },
        "output": {
          "description": "The output.",
          "type": "string"
        },
        "path": {
          "description": "The path.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "ScriptActionTaskDetails"
    },
    "ServiceError": {
      "description": "ASR error model",
      "properties": {
        "activityId": {
          "description": "Activity Id.",
          "type": "string"
        },
        "code": {
          "description": "Error code.",
          "type": "string"
        },
        "message": {
          "description": "Error message.",
          "type": "string"
        },
        "possibleCauses": {
          "description": "Possible causes of error.",
          "type": "string"
        },
        "recommendedAction": {
          "description": "Recommended action to resolve error.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "StorageClassification": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "Storage object definition.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/StorageClassificationProperties",
          "description": "Properties of the storage object."
        }
      },
      "type": "object"
    },
    "StorageClassificationCollection": {
      "description": "Collection of storage details.",
      "properties": {
        "nextLink": {
          "description": "The value of next link.",
          "type": "string"
        },
        "value": {
          "description": "The storage details.",
          "items": {
            "$ref": "#/definitions/StorageClassification"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "StorageClassificationMapping": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "Storage mapping object.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/StorageClassificationMappingProperties",
          "description": "Properties of the storage mapping object."
        }
      },
      "type": "object"
    },
    "StorageClassificationMappingCollection": {
      "description": "Collection of storage mapping details.",
      "properties": {
        "nextLink": {
          "description": "The value of next link.",
          "type": "string"
        },
        "value": {
          "description": "The storage details.",
          "items": {
            "$ref": "#/definitions/StorageClassificationMapping"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "StorageClassificationMappingInput": {
      "description": "Storage mapping input.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/StorageMappingInputProperties",
          "description": "Storage mapping input properties."
        }
      },
      "type": "object"
    },
    "StorageClassificationMappingProperties": {
      "description": "Storage mapping properties.",
      "properties": {
        "targetStorageClassificationId": {
          "description": "Target storage object Id.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "StorageClassificationProperties": {
      "description": "Storage object properties.",
      "properties": {
        "friendlyName": {
          "description": "Friendly name of the Storage classification.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "StorageMappingInputProperties": {
      "description": "Storage mapping input properties.",
      "properties": {
        "targetStorageClassificationId": {
          "description": "The ID of the storage object.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Subnet": {
      "description": "Subnets of the network.",
      "properties": {
        "addressList": {
          "description": "The list of addresses for the subnet.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "friendlyName": {
          "description": "The subnet friendly name.",
          "type": "string"
        },
        "name": {
          "description": "The subnet name.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "SwitchProtectionInput": {
      "description": "Switch protection input.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/SwitchProtectionInputProperties",
          "description": "Switch protection properties"
        }
      },
      "type": "object"
    },
    "SwitchProtectionInputProperties": {
      "description": "Switch protection input properties.",
      "properties": {
        "providerSpecificDetails": {
          "$ref": "#/definitions/SwitchProtectionProviderSpecificInput",
          "description": "Provider specific switch protection input."
        },
        "replicationProtectedItemName": {
          "description": "The unique replication protected item name.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "SwitchProtectionJobDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/JobDetails"
        }
      ],
      "description": "This class represents details for switch protection job.",
      "properties": {
        "newReplicationProtectedItemId": {
          "description": "ARM Id of the new replication protected item.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "SwitchProtectionJobDetails"
    },
    "SwitchProtectionProviderSpecificInput": {
      "description": "Provider specific switch protection input.",
      "discriminator": "instanceType",
      "properties": {
        "instanceType": {
          "description": "Gets the Instance type.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "TaskTypeDetails": {
      "description": "Task details based on specific task type.",
      "discriminator": "instanceType",
      "properties": {
        "instanceType": {
          "description": "The type of task details.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "TestFailoverCleanupInput": {
      "description": "Input definition for test failover cleanup.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/TestFailoverCleanupInputProperties",
          "description": "Test failover cleanup input properties."
        }
      },
      "required": [
        "properties"
      ],
      "type": "object"
    },
    "TestFailoverCleanupInputProperties": {
      "description": "Input definition for test failover cleanup input properties.",
      "properties": {
        "comments": {
          "description": "Test failover cleanup comments.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "TestFailoverInput": {
      "description": "Input definition for planned failover.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/TestFailoverInputProperties",
          "description": "Planned failover input properties"
        }
      },
      "type": "object"
    },
    "TestFailoverInputProperties": {
      "description": "Input definition for planned failover input properties.",
      "properties": {
        "failoverDirection": {
          "description": "Failover direction.",
          "type": "string"
        },
        "networkId": {
          "description": "The id of the network to be used for test failover",
          "type": "string"
        },
        "networkType": {
          "description": "Network type to be used for test failover.",
          "type": "string"
        },
        "providerSpecificDetails": {
          "$ref": "#/definitions/ProviderSpecificFailoverInput",
          "description": "Provider specific settings"
        },
        "skipTestFailoverCleanup": {
          "description": "A value indicating whether the test failover cleanup is to be skipped.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "TestFailoverJobDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/JobDetails"
        }
      ],
      "description": "This class represents the details for a test failover job.",
      "properties": {
        "comments": {
          "description": "The test failover comments.",
          "type": "string"
        },
        "networkFriendlyName": {
          "description": "The test network friendly name.",
          "type": "string"
        },
        "networkName": {
          "description": "The test network name.",
          "type": "string"
        },
        "networkType": {
          "description": "The test network type (see TestFailoverInput enum for possible values).",
          "type": "string"
        },
        "protectedItemDetails": {
          "description": "The test VM details.",
          "items": {
            "$ref": "#/definitions/FailoverReplicationProtectedItemDetails"
          },
          "type": "array"
        },
        "testFailoverStatus": {
          "description": "The test failover status.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "TestFailoverJobDetails"
    },
    "UnplannedFailoverInput": {
      "description": "Input definition for planned failover.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/UnplannedFailoverInputProperties",
          "description": "Planned failover input properties"
        }
      },
      "type": "object"
    },
    "UnplannedFailoverInputProperties": {
      "description": "Input definition for planned failover input properties.",
      "properties": {
        "failoverDirection": {
          "description": "Failover direction.",
          "type": "string"
        },
        "providerSpecificDetails": {
          "$ref": "#/definitions/ProviderSpecificFailoverInput",
          "description": "Provider specific settings"
        },
        "sourceSiteOperations": {
          "description": "Source site operations status",
          "type": "string"
        }
      },
      "type": "object"
    },
    "UpdateMobilityServiceRequest": {
      "description": "Request to update the mobility service on a protected item.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/UpdateMobilityServiceRequestProperties",
          "description": "The properties of the update mobility service request."
        }
      },
      "type": "object"
    },
    "UpdateMobilityServiceRequestProperties": {
      "description": "The properties of an update mobility service request.",
      "properties": {
        "runAsAccountId": {
          "description": "The CS run as account Id.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "UpdateNetworkMappingInput": {
      "description": "Update network mapping input.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/UpdateNetworkMappingInputProperties",
          "description": "The input properties needed to update network mapping."
        }
      },
      "type": "object"
    },
    "UpdateNetworkMappingInputProperties": {
      "description": "Common input details for network mapping operation.",
      "properties": {
        "fabricSpecificDetails": {
          "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput",
          "description": "Fabrics specific input network Id."
        },
        "recoveryFabricName": {
          "description": "Recovery fabric name.",
          "type": "string"
        },
        "recoveryNetworkId": {
          "description": "Recovery network Id.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "UpdatePolicyInput": {
      "description": "Update protection profile input.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/UpdatePolicyInputProperties",
          "description": "The ReplicationProviderSettings."
        }
      },
      "type": "object"
    },
    "UpdatePolicyInputProperties": {
      "description": "Policy update properties.",
      "properties": {
        "replicationProviderSettings": {
          "$ref": "#/definitions/PolicyProviderSpecificInput",
          "description": "The ReplicationProviderSettings."
        }
      },
      "type": "object"
    },
    "UpdateRecoveryPlanInput": {
      "description": "Update recovery plan input class.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/UpdateRecoveryPlanInputProperties",
          "description": "Recovery plan update properties."
        }
      },
      "type": "object"
    },
    "UpdateRecoveryPlanInputProperties": {
      "description": "Recovery plan update properties.",
      "properties": {
        "groups": {
          "description": "The recovery plan groups.",
          "items": {
            "$ref": "#/definitions/RecoveryPlanGroup"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "UpdateReplicationProtectedItemInput": {
      "description": "Update replication protected item input.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/UpdateReplicationProtectedItemInputProperties",
          "description": "Update replication protected item properties."
        }
      },
      "type": "object"
    },
    "UpdateReplicationProtectedItemInputProperties": {
      "description": "Update protected item input properties.",
      "properties": {
        "enableRDPOnTargetOption": {
          "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum.",
          "type": "string"
        },
        "licenseType": {
          "description": "License type.",
          "enum": [
            "NotSpecified",
            "NoLicenseType",
            "WindowsServer"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "LicenseType"
          }
        },
        "providerSpecificDetails": {
          "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput",
          "description": "The provider specific input to update replication protected item."
        },
        "recoveryAvailabilitySetId": {
          "description": "The target availability set id.",
          "type": "string"
        },
        "recoveryAzureVMName": {
          "description": "Target azure VM name given by the user.",
          "type": "string"
        },
        "recoveryAzureVMSize": {
          "description": "Target Azure Vm size.",
          "type": "string"
        },
        "selectedRecoveryAzureNetworkId": {
          "description": "Target Azure Network Id.",
          "type": "string"
        },
        "vmNics": {
          "description": "The list of vm nic details.",
          "items": {
            "$ref": "#/definitions/VMNicInputDetails"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "UpdateReplicationProtectedItemProviderInput": {
      "description": "Update replication protected item provider specific input.",
      "discriminator": "instanceType",
      "properties": {
        "instanceType": {
          "description": "The class type.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "UpdateVCenterRequest": {
      "description": "Input required to update vCenter.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/UpdateVCenterRequestProperties",
          "description": "The update VCenter Request Properties."
        }
      },
      "type": "object"
    },
    "UpdateVCenterRequestProperties": {
      "description": "The properties of an update vCenter request.",
      "properties": {
        "friendlyName": {
          "description": "The friendly name of the vCenter.",
          "type": "string"
        },
        "ipAddress": {
          "description": "The IP address of the vCenter to be discovered.",
          "type": "string"
        },
        "port": {
          "description": "The port number for discovery.",
          "type": "string"
        },
        "processServerId": {
          "description": "The process server Id from where the update can be orchestrated.",
          "type": "string"
        },
        "runAsAccountId": {
          "description": "The CS account Id which has privileges to update the vCenter.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "VCenter": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "vCenter definition.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/VCenterProperties",
          "description": "VCenter related data."
        }
      },
      "type": "object"
    },
    "VCenterCollection": {
      "description": "Collection of vCenter details.",
      "properties": {
        "nextLink": {
          "description": "The value of next link.",
          "type": "string"
        },
        "value": {
          "description": "The vCenter details.",
          "items": {
            "$ref": "#/definitions/VCenter"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "VCenterProperties": {
      "description": "vCenter properties.",
      "properties": {
        "discoveryStatus": {
          "description": "The VCenter discovery status.",
          "type": "string"
        },
        "fabricArmResourceName": {
          "description": "The ARM resource name of the fabric containing this VCenter.",
          "type": "string"
        },
        "friendlyName": {
          "description": "Friendly name of the vCenter.",
          "type": "string"
        },
        "infrastructureId": {
          "description": "The infrastructure Id of vCenter.",
          "type": "string"
        },
        "internalId": {
          "description": "VCenter internal ID.",
          "type": "string"
        },
        "ipAddress": {
          "description": "The IP address of the vCenter.",
          "type": "string"
        },
        "lastHeartbeat": {
          "description": "The time when the last heartbeat was received by vCenter.",
          "format": "date-time",
          "type": "string"
        },
        "port": {
          "description": "The port number for discovery.",
          "type": "string"
        },
        "processServerId": {
          "description": "The process server Id.",
          "type": "string"
        },
        "runAsAccountId": {
          "description": "The account Id which has privileges to discover the vCenter.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "VMNicDetails": {
      "description": "Hyper V VM network details.",
      "properties": {
        "ipAddressType": {
          "description": "Ip address type.",
          "type": "string"
        },
        "nicId": {
          "description": "The nic Id.",
          "type": "string"
        },
        "primaryNicStaticIPAddress": {
          "description": "Primary nic static IP address.",
          "type": "string"
        },
        "recoveryNicIpAddressType": {
          "description": "IP allocation type for recovery VM.",
          "type": "string"
        },
        "recoveryVMNetworkId": {
          "description": "Recovery VM network Id.",
          "type": "string"
        },
        "recoveryVMSubnetName": {
          "description": "Recovery VM subnet name.",
          "type": "string"
        },
        "replicaNicId": {
          "description": "The replica nic Id.",
          "type": "string"
        },
        "replicaNicStaticIPAddress": {
          "description": "Replica nic static IP address.",
          "type": "string"
        },
        "selectionType": {
          "description": "Selection type for failover.",
          "type": "string"
        },
        "sourceNicArmId": {
          "description": "The source nic ARM Id.",
          "type": "string"
        },
        "vMNetworkName": {
          "description": "VM network name.",
          "type": "string"
        },
        "vMSubnetName": {
          "description": "VM subnet name.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "VMNicInputDetails": {
      "description": "Hyper V VM network input details.",
      "properties": {
        "nicId": {
          "description": "The nic Id.",
          "type": "string"
        },
        "recoveryVMSubnetName": {
          "description": "Recovery VM subnet name.",
          "type": "string"
        },
        "replicaNicStaticIPAddress": {
          "description": "Replica nic static IP address.",
          "type": "string"
        },
        "selectionType": {
          "description": "Selection type for failover.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "VMwareCbtPolicyCreationInput": {
      "allOf": [
        {
          "$ref": "#/definitions/PolicyProviderSpecificInput"
        }
      ],
      "description": "VMware Cbt Policy creation input.",
      "properties": {
        "appConsistentFrequencyInMinutes": {
          "description": "The app consistent snapshot frequency (in minutes).",
          "format": "int32",
          "type": "integer"
        },
        "crashConsistentFrequencyInMinutes": {
          "description": "The crash consistent snapshot frequency (in minutes).",
          "format": "int32",
          "type": "integer"
        },
        "recoveryPointHistory": {
          "description": "The duration in minutes until which the recovery points need to be stored.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "VMwareCbt"
    },
    "VMwareDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/FabricSpecificDetails"
        }
      ],
      "description": "Store the fabric details specific to the VMware fabric.",
      "properties": {
        "agentCount": {
          "description": "The number of source and target servers configured to talk to this CS.",
          "type": "string"
        },
        "agentVersion": {
          "description": "The agent Version.",
          "type": "string"
        },
        "availableMemoryInBytes": {
          "description": "The available memory.",
          "format": "int64",
          "type": "integer"
        },
        "availableSpaceInBytes": {
          "description": "The available space.",
          "format": "int64",
          "type": "integer"
        },
        "cpuLoad": {
          "description": "The percentage of the CPU load.",
          "type": "string"
        },
        "cpuLoadStatus": {
          "description": "The CPU load status.",
          "type": "string"
        },
        "csServiceStatus": {
          "description": "The CS service status.",
          "type": "string"
        },
        "databaseServerLoad": {
          "description": "The database server load.",
          "type": "string"
        },
        "databaseServerLoadStatus": {
          "description": "The database server load status.",
          "type": "string"
        },
        "hostName": {
          "description": "The host name.",
          "type": "string"
        },
        "ipAddress": {
          "description": "The IP address.",
          "type": "string"
        },
        "lastHeartbeat": {
          "description": "The last heartbeat received from CS server.",
          "format": "date-time",
          "type": "string"
        },
        "masterTargetServers": {
          "description": "The list of Master Target servers associated with the fabric.",
          "items": {
            "$ref": "#/definitions/MasterTargetServer"
          },
          "type": "array"
        },
        "memoryUsageStatus": {
          "description": "The memory usage status.",
          "type": "string"
        },
        "processServerCount": {
          "description": "The number of process servers.",
          "type": "string"
        },
        "processServers": {
          "description": "The list of Process Servers associated with the fabric.",
          "items": {
            "$ref": "#/definitions/ProcessServer"
          },
          "type": "array"
        },
        "protectedServers": {
          "description": "The number of protected servers.",
          "type": "string"
        },
        "psTemplateVersion": {
          "description": "PS template version.",
          "type": "string"
        },
        "replicationPairCount": {
          "description": "The number of replication pairs configured in this CS.",
          "type": "string"
        },
        "runAsAccounts": {
          "description": "The list of run as accounts created on the server.",
          "items": {
            "$ref": "#/definitions/RunAsAccount"
          },
          "type": "array"
        },
        "spaceUsageStatus": {
          "description": "The space usage status.",
          "type": "string"
        },
        "sslCertExpiryDate": {
          "description": "CS SSL cert expiry date.",
          "format": "date-time",
          "type": "string"
        },
        "sslCertExpiryRemainingDays": {
          "description": "CS SSL cert expiry date.",
          "format": "int32",
          "type": "integer"
        },
        "systemLoad": {
          "description": "The percentage of the system load.",
          "type": "string"
        },
        "systemLoadStatus": {
          "description": "The system load status.",
          "type": "string"
        },
        "totalMemoryInBytes": {
          "description": "The total memory.",
          "format": "int64",
          "type": "integer"
        },
        "totalSpaceInBytes": {
          "description": "The total space.",
          "format": "int64",
          "type": "integer"
        },
        "versionStatus": {
          "description": "Version status",
          "type": "string"
        },
        "webLoad": {
          "description": "The web load.",
          "type": "string"
        },
        "webLoadStatus": {
          "description": "The web load status.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "VMware"
    },
    "VMwareV2FabricCreationInput": {
      "allOf": [
        {
          "$ref": "#/definitions/FabricSpecificCreationInput"
        }
      ],
      "description": "Fabric provider specific settings.",
      "properties": {},
      "type": "object",
      "x-ms-discriminator-value": "VMwareV2"
    },
    "VMwareV2FabricSpecificDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/FabricSpecificDetails"
        }
      ],
      "description": "VMwareV2 fabric Specific Details.",
      "properties": {
        "rcmServiceEndpoint": {
          "description": "The endpoint for making requests to the RCM Service.",
          "type": "string"
        },
        "srsServiceEndpoint": {
          "description": "The endpoint for making requests to the SRS Service.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "VMwareV2"
    },
    "VMwareVirtualMachineDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/ConfigurationSettings"
        }
      ],
      "description": "VMware provider specific settings",
      "properties": {
        "agentGeneratedId": {
          "description": "The ID generated by the InMage agent after it gets installed on guest. This is the ID to be used during InMage CreateProtection.",
          "type": "string"
        },
        "agentInstalled": {
          "description": "The value indicating if InMage scout agent is installed on guest.",
          "type": "string"
        },
        "agentVersion": {
          "description": "The agent version.",
          "type": "string"
        },
        "discoveryType": {
          "description": "A value indicating the discovery type of the machine. Value can be vCenter or physical.",
          "type": "string"
        },
        "diskDetails": {
          "description": "The disk details.",
          "items": {
            "$ref": "#/definitions/InMageDiskDetails"
          },
          "type": "array"
        },
        "ipAddress": {
          "description": "The IP address.",
          "type": "string"
        },
        "osType": {
          "description": "The OsType installed on VM.",
          "type": "string"
        },
        "poweredOn": {
          "description": "The value indicating whether VM is powered on.",
          "type": "string"
        },
        "vCenterInfrastructureId": {
          "description": "The VCenter infrastructure Id.",
          "type": "string"
        },
        "validationErrors": {
          "description": "The validation errors.",
          "items": {
            "$ref": "#/definitions/HealthError"
          },
          "type": "array"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "VMwareVirtualMachine"
    },
    "VaultHealthDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "Vault health details definition.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/VaultHealthProperties",
          "description": "The vault health related data."
        }
      },
      "type": "object"
    },
    "VaultHealthProperties": {
      "description": "class to define the health summary of the Vault.",
      "properties": {
        "fabricsHealth": {
          "$ref": "#/definitions/ResourceHealthSummary",
          "description": "The list of the health detail of the fabrics in the vault."
        },
        "protectedItemsHealth": {
          "$ref": "#/definitions/ResourceHealthSummary",
          "description": "The list of the health detail of the protected items in the vault."
        },
        "vaultErrors": {
          "description": "The list of errors on the vault.",
          "items": {
            "$ref": "#/definitions/HealthError"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "VirtualMachineTaskDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/TaskTypeDetails"
        }
      ],
      "description": "This class represents the virtual machine task details.",
      "properties": {
        "jobTask": {
          "$ref": "#/definitions/JobEntity",
          "description": "The job entity."
        },
        "skippedReason": {
          "description": "The skipped reason.",
          "type": "string"
        },
        "skippedReasonString": {
          "description": "The skipped reason string.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "VirtualMachineTaskDetails"
    },
    "VmNicUpdatesTaskDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/TaskTypeDetails"
        }
      ],
      "description": "This class represents the vm NicUpdates task details.",
      "properties": {
        "name": {
          "description": "Name of the Nic.",
          "type": "string"
        },
        "nicId": {
          "description": "Nic Id.",
          "type": "string"
        },
        "vmId": {
          "description": "Virtual machine Id.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "VmNicUpdatesTaskDetails"
    },
    "VmmDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/FabricSpecificDetails"
        }
      ],
      "description": "VMM fabric specific details.",
      "properties": {},
      "type": "object",
      "x-ms-discriminator-value": "VMM"
    },
    "VmmToAzureCreateNetworkMappingInput": {
      "allOf": [
        {
          "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput"
        }
      ],
      "description": "Create network mappings input properties/behavior specific to Vmm to Azure Network mapping.",
      "properties": {},
      "type": "object",
      "x-ms-discriminator-value": "VmmToAzure"
    },
    "VmmToAzureNetworkMappingSettings": {
      "allOf": [
        {
          "$ref": "#/definitions/NetworkMappingFabricSpecificSettings"
        }
      ],
      "description": "E2A Network Mapping fabric specific settings.",
      "properties": {},
      "type": "object",
      "x-ms-discriminator-value": "VmmToAzure"
    },
    "VmmToAzureUpdateNetworkMappingInput": {
      "allOf": [
        {
          "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput"
        }
      ],
      "description": "Update network mappings input properties/behavior specific to vmm to azure.",
      "properties": {},
      "type": "object",
      "x-ms-discriminator-value": "VmmToAzure"
    },
    "VmmToVmmCreateNetworkMappingInput": {
      "allOf": [
        {
          "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput"
        }
      ],
      "description": "Create network mappings input properties/behavior specific to vmm to vmm Network mapping.",
      "properties": {},
      "type": "object",
      "x-ms-discriminator-value": "VmmToVmm"
    },
    "VmmToVmmNetworkMappingSettings": {
      "allOf": [
        {
          "$ref": "#/definitions/NetworkMappingFabricSpecificSettings"
        }
      ],
      "description": "E2E Network Mapping fabric specific settings.",
      "properties": {},
      "type": "object",
      "x-ms-discriminator-value": "VmmToVmm"
    },
    "VmmToVmmUpdateNetworkMappingInput": {
      "allOf": [
        {
          "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput"
        }
      ],
      "description": "Update network mappings input properties/behavior specific to vmm to vmm.",
      "properties": {},
      "type": "object",
      "x-ms-discriminator-value": "VmmToVmm"
    },
    "VmwareCbtPolicyDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/PolicyProviderSpecificDetails"
        }
      ],
      "description": "VMware Cbt specific policy details.",
      "properties": {
        "appConsistentFrequencyInMinutes": {
          "description": "The app consistent snapshot frequency in minutes.",
          "format": "int32",
          "type": "integer"
        },
        "crashConsistentFrequencyInMinutes": {
          "description": "The crash consistent snapshot frequency in minutes.",
          "format": "int32",
          "type": "integer"
        },
        "recoveryPointHistory": {
          "description": "The duration in minutes until which the recovery points need to be stored.",
          "format": "int32",
          "type": "integer"
        },
        "recoveryPointThresholdInMinutes": {
          "description": "The recovery point threshold in minutes.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "VMwareCbt"
    }
  }
}