diff --git a/schemas/2016-08-10/Microsoft.RecoveryServices.json b/schemas/2016-08-10/Microsoft.RecoveryServices.json new file mode 100644 index 0000000000..9f323e831f --- /dev/null +++ b/schemas/2016-08-10/Microsoft.RecoveryServices.json @@ -0,0 +1,2204 @@ +{ + "id": "https://schema.management.azure.com/schemas/2016-08-10/Microsoft.RecoveryServices.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.RecoveryServices", + "description": "Microsoft RecoveryServices Resource Types", + "resourceDefinitions": { + "vaults_replicationAlertSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-08-10" + ] + }, + "name": { + "type": "string", + "description": "The name of the email notification(alert) configuration." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConfigureAlertRequestProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a configure alert request." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationAlertSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationAlertSettings" + }, + "vaults_replicationFabrics": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-08-10" + ] + }, + "name": { + "type": "string", + "description": "Name of the ASR fabric." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/FabricCreationInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of site details provided during the time of site creation" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/vaults_replicationFabrics_replicationvCenters_childResource" + }, + { + "$ref": "#/definitions/vaults_replicationFabrics_replicationProtectionContainers_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationFabrics" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics" + }, + "vaults_replicationFabrics_replicationNetworks_replicationNetworkMappings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-08-10" + ] + }, + "name": { + "type": "string", + "description": "Network mapping name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CreateNetworkMappingInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Common input details for network mapping operation." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings" + }, + "vaults_replicationFabrics_replicationProtectionContainers": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-08-10" + ] + }, + "name": { + "type": "string", + "description": "Unique protection container ARM name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CreateProtectionContainerInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Create protection container input properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/vaults_replicationFabrics_replicationProtectionContainers_replicationProtectedItems_childResource" + }, + { + "$ref": "#/definitions/vaults_replicationFabrics_replicationProtectionContainers_replicationProtectionContainerMappings_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers" + }, + "vaults_replicationFabrics_replicationProtectionContainers_replicationProtectedItems": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-08-10" + ] + }, + "name": { + "type": "string", + "description": "A name for the replication protected item." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EnableProtectionInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable protection input properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems" + }, + "vaults_replicationFabrics_replicationProtectionContainers_replicationProtectionContainerMappings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-08-10" + ] + }, + "name": { + "type": "string", + "description": "Protection container mapping name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CreateProtectionContainerMappingInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configure pairing input properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings" + }, + "vaults_replicationFabrics_replicationStorageClassifications_replicationStorageClassificationMappings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-08-10" + ] + }, + "name": { + "type": "string", + "description": "Storage classification mapping name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/StorageMappingInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage mapping input properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings" + }, + "vaults_replicationFabrics_replicationvCenters": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-08-10" + ] + }, + "name": { + "type": "string", + "description": "vCenter name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AddVCenterRequestProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of an add vCenter request." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters" + }, + "vaults_replicationPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-08-10" + ] + }, + "name": { + "type": "string", + "description": "Replication policy name" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CreatePolicyInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy creation properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationPolicies" + }, + "vaults_replicationRecoveryPlans": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-08-10" + ] + }, + "name": { + "type": "string", + "description": "Recovery plan name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CreateRecoveryPlanInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Recovery plan creation properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans" + } + }, + "definitions": { + "A2AContainerCreationInput": { + "type": "object", + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "A2A" + ] + } + }, + "required": [ + "instanceType" + ], + "description": "A2A cloud creation input." + }, + "A2AEnableProtectionInput": { + "type": "object", + "properties": { + "fabricObjectId": { + "type": "string", + "description": "The fabric specific object Id of the virtual machine." + }, + "instanceType": { + "type": "string", + "enum": [ + "A2A" + ] + }, + "recoveryAvailabilitySetId": { + "type": "string", + "description": "The recovery availability set Id." + }, + "recoveryCloudServiceId": { + "type": "string", + "description": "The recovery cloud service Id. Valid for V1 scenarios." + }, + "recoveryContainerId": { + "type": "string", + "description": "The recovery container Id." + }, + "recoveryResourceGroupId": { + "type": "string", + "description": "The recovery resource group Id. Valid for V2 scenarios." + }, + "vmDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmDiskInputDetails" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of vm disk details." + }, + "vmManagedDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmManagedDiskInputDetails" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of vm managed disk details." + } + }, + "required": [ + "instanceType" + ], + "description": "A2A enable protection input." + }, + "A2APolicyCreationInput": { + "type": "object", + "properties": { + "appConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The app consistent snapshot frequency (in minutes)." + }, + "crashConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The crash consistent snapshot frequency (in minutes)." + }, + "instanceType": { + "type": "string", + "enum": [ + "A2A" + ] + }, + "multiVmSyncStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enable", + "Disable" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'." + }, + "recoveryPointHistory": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The duration in minutes until which the recovery points need to be stored." + } + }, + "required": [ + "instanceType", + "multiVmSyncStatus" + ], + "description": "A2A Policy creation input." + }, + "A2AVmDiskInputDetails": { + "type": "object", + "properties": { + "diskUri": { + "type": "string", + "description": "The disk Uri." + }, + "primaryStagingAzureStorageAccountId": { + "type": "string", + "description": "The primary staging storage account Id." + }, + "recoveryAzureStorageAccountId": { + "type": "string", + "description": "The recovery VHD storage account Id." + } + }, + "description": "Azure VM disk input details." + }, + "A2AVmManagedDiskInputDetails": { + "type": "object", + "properties": { + "diskId": { + "type": "string", + "description": "The disk Id." + }, + "primaryStagingAzureStorageAccountId": { + "type": "string", + "description": "The primary staging storage account Arm Id." + }, + "recoveryResourceGroupId": { + "type": "string", + "description": "The target resource group Arm Id." + } + }, + "description": "Azure VM managed disk input details." + }, + "AddVCenterRequestProperties": { + "type": "object", + "properties": { + "friendlyName": { + "type": "string", + "description": "The friendly name of the vCenter." + }, + "ipAddress": { + "type": "string", + "description": "The IP address of the vCenter to be discovered." + }, + "port": { + "type": "string", + "description": "The port number for discovery." + }, + "processServerId": { + "type": "string", + "description": "The process server Id from where the discovery is orchestrated." + }, + "runAsAccountId": { + "type": "string", + "description": "The account Id which has privileges to discover the vCenter." + } + }, + "description": "The properties of an add vCenter request." + }, + "AzureFabricCreationInput": { + "type": "object", + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "Azure" + ] + }, + "location": { + "type": "string", + "description": "The Location." + } + }, + "required": [ + "instanceType" + ], + "description": "Fabric provider specific settings." + }, + "AzureToAzureCreateNetworkMappingInput": { + "type": "object", + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "AzureToAzure" + ] + }, + "primaryNetworkId": { + "type": "string", + "description": "The primary azure vnet Id." + } + }, + "required": [ + "instanceType" + ], + "description": "Create network mappings input properties/behavior specific to Azure to Azure Network mapping." + }, + "ConfigureAlertRequestProperties": { + "type": "object", + "properties": { + "customEmailAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The custom email address for sending emails." + }, + "locale": { + "type": "string", + "description": "The locale for the email notification." + }, + "sendToOwners": { + "type": "string", + "description": "A value indicating whether to send email to subscription administrator." + } + }, + "description": "Properties of a configure alert request." + }, + "CreateNetworkMappingInputProperties": { + "type": "object", + "properties": { + "fabricSpecificDetails": { + "oneOf": [ + { + "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input details specific to fabrics during Network Mapping." + }, + "recoveryFabricName": { + "type": "string", + "description": "Recovery fabric Name." + }, + "recoveryNetworkId": { + "type": "string", + "description": "Recovery network Id." + } + }, + "description": "Common input details for network mapping operation." + }, + "CreatePolicyInputProperties": { + "type": "object", + "properties": { + "providerSpecificInput": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for provider specific input" + } + }, + "description": "Policy creation properties." + }, + "CreateProtectionContainerInputProperties": { + "type": "object", + "properties": { + "providerSpecificInput": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Provider specific inputs for container creation." + } + }, + "description": "Create protection container input properties." + }, + "CreateProtectionContainerMappingInputProperties": { + "type": "object", + "properties": { + "PolicyId": { + "type": "string", + "description": "Applicable policy." + }, + "providerSpecificInput": { + "oneOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificContainerMappingInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Provider specific input for pairing operations." + }, + "targetProtectionContainerId": { + "type": "string", + "description": "The target unique protection container name." + } + }, + "description": "Configure pairing input properties." + }, + "CreateRecoveryPlanInputProperties": { + "type": "object", + "properties": { + "failoverDeploymentModel": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotApplicable", + "Classic", + "ResourceManager" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The failover deployment model." + }, + "groups": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanGroup" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The recovery plan groups." + }, + "primaryFabricId": { + "type": "string", + "description": "The primary fabric Id." + }, + "recoveryFabricId": { + "type": "string", + "description": "The recovery fabric Id." + } + }, + "required": [ + "groups", + "primaryFabricId", + "recoveryFabricId" + ], + "description": "Recovery plan creation properties." + }, + "EnableProtectionInputProperties": { + "type": "object", + "properties": { + "policyId": { + "type": "string", + "description": "The Policy Id." + }, + "protectableItemId": { + "type": "string", + "description": "The protectable item Id." + }, + "providerSpecificDetails": { + "oneOf": [ + { + "$ref": "#/definitions/EnableProtectionProviderSpecificInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable protection provider specific input." + } + }, + "description": "Enable protection input properties." + }, + "EnableProtectionProviderSpecificInput": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/HyperVReplicaAzureEnableProtectionInput" + }, + { + "$ref": "#/definitions/SanEnableProtectionInput" + }, + { + "$ref": "#/definitions/InMageAzureV2EnableProtectionInput" + }, + { + "$ref": "#/definitions/InMageEnableProtectionInput" + }, + { + "$ref": "#/definitions/A2AEnableProtectionInput" + } + ], + "properties": {}, + "description": "Enable protection provider specific input." + }, + "FabricCreationInputProperties": { + "type": "object", + "properties": { + "customDetails": { + "oneOf": [ + { + "$ref": "#/definitions/FabricSpecificCreationInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Fabric provider specific settings." + } + }, + "description": "Properties of site details provided during the time of site creation" + }, + "FabricSpecificCreateNetworkMappingInput": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AzureToAzureCreateNetworkMappingInput" + }, + { + "$ref": "#/definitions/VmmToAzureCreateNetworkMappingInput" + }, + { + "$ref": "#/definitions/VmmToVmmCreateNetworkMappingInput" + } + ], + "properties": {}, + "description": "Input details specific to fabrics during Network Mapping." + }, + "FabricSpecificCreationInput": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AzureFabricCreationInput" + }, + { + "$ref": "#/definitions/VMwareV2FabricCreationInput" + } + ], + "properties": {}, + "description": "Fabric provider specific settings." + }, + "HyperVReplicaAzureEnableProtectionInput": { + "type": "object", + "properties": { + "disksToInclude": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of VHD IDs of disks to be protected." + }, + "enableRDPOnTargetOption": { + "type": "string", + "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum." + }, + "hvHostVmId": { + "type": "string", + "description": "The Hyper-V host Vm Id." + }, + "instanceType": { + "type": "string", + "enum": [ + "HyperVReplicaAzure" + ] + }, + "logStorageAccountId": { + "type": "string", + "description": "The storage account to be used for logging during replication." + }, + "osType": { + "type": "string", + "description": "The OS type associated with vm." + }, + "targetAzureNetworkId": { + "type": "string", + "description": "The selected target Azure network Id." + }, + "targetAzureSubnetId": { + "type": "string", + "description": "The selected target Azure subnet Id." + }, + "targetAzureV1ResourceGroupId": { + "type": "string", + "description": "The Id of the target resource group (for classic deployment) in which the failover VM is to be created." + }, + "targetAzureV2ResourceGroupId": { + "type": "string", + "description": "The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created." + }, + "targetAzureVmName": { + "type": "string", + "description": "The target azure Vm Name." + }, + "targetStorageAccountId": { + "type": "string", + "description": "The storage account name." + }, + "useManagedDisks": { + "type": "string", + "description": "A value indicating whether managed disks should be used during failover." + }, + "vhdId": { + "type": "string", + "description": "The OS disk VHD id associated with vm." + }, + "vmName": { + "type": "string", + "description": "The Vm Name." + } + }, + "required": [ + "instanceType" + ], + "description": "Azure specific enable protection input." + }, + "HyperVReplicaAzurePolicyInput": { + "type": "object", + "properties": { + "applicationConsistentSnapshotFrequencyInHours": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The interval (in hours) at which Hyper-V Replica should create an application consistent snapshot within the VM." + }, + "encryption": { + "type": "string", + "description": "A value indicating whether encryption needs to be enabled for Vms in this cloud." + }, + "instanceType": { + "type": "string", + "enum": [ + "HyperVReplicaAzure" + ] + }, + "onlineReplicationStartTime": { + "type": "string", + "description": "The scheduled start time for the initial replication. If this parameter is Null, the initial replication starts immediately." + }, + "recoveryPointHistoryDuration": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The duration (in hours) to which point the recovery history needs to be maintained." + }, + "replicationInterval": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The replication interval." + }, + "storageAccounts": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of storage accounts to which the VMs in the primary cloud can replicate to." + } + }, + "required": [ + "instanceType" + ], + "description": "Hyper-V Replica Azure specific input for creating a protection profile." + }, + "HyperVReplicaBluePolicyInput": { + "type": "object", + "properties": { + "allowedAuthenticationType": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating the authentication type." + }, + "applicationConsistentSnapshotFrequencyInHours": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating the application consistent frequency." + }, + "compression": { + "type": "string", + "description": "A value indicating whether compression has to be enabled." + }, + "initialReplicationMethod": { + "type": "string", + "description": "A value indicating whether IR is online." + }, + "instanceType": { + "type": "string", + "enum": [ + "HyperVReplica2012R2" + ] + }, + "offlineReplicationExportPath": { + "type": "string", + "description": "A value indicating the offline IR export path." + }, + "offlineReplicationImportPath": { + "type": "string", + "description": "A value indicating the offline IR import path." + }, + "onlineReplicationStartTime": { + "type": "string", + "description": "A value indicating the online IR start time." + }, + "recoveryPoints": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating the number of recovery points." + }, + "replicaDeletion": { + "type": "string", + "description": "A value indicating whether the VM has to be auto deleted." + }, + "replicationFrequencyInSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating the replication interval." + }, + "replicationPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating the recovery HTTPS port." + } + }, + "required": [ + "instanceType" + ], + "description": "HyperV Replica Blue policy input." + }, + "HyperVReplicaPolicyInput": { + "type": "object", + "properties": { + "allowedAuthenticationType": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating the authentication type." + }, + "applicationConsistentSnapshotFrequencyInHours": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating the application consistent frequency." + }, + "compression": { + "type": "string", + "description": "A value indicating whether compression has to be enabled." + }, + "initialReplicationMethod": { + "type": "string", + "description": "A value indicating whether IR is online." + }, + "instanceType": { + "type": "string", + "enum": [ + "HyperVReplica2012" + ] + }, + "offlineReplicationExportPath": { + "type": "string", + "description": "A value indicating the offline IR export path." + }, + "offlineReplicationImportPath": { + "type": "string", + "description": "A value indicating the offline IR import path." + }, + "onlineReplicationStartTime": { + "type": "string", + "description": "A value indicating the online IR start time." + }, + "recoveryPoints": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating the number of recovery points." + }, + "replicaDeletion": { + "type": "string", + "description": "A value indicating whether the VM has to be auto deleted." + }, + "replicationPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating the recovery HTTPS port." + } + }, + "required": [ + "instanceType" + ], + "description": "Hyper-V Replica specific protection profile Input." + }, + "InMageAzureV2EnableProtectionInput": { + "type": "object", + "properties": { + "disksToInclude": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The disks to include list." + }, + "enableRDPOnTargetOption": { + "type": "string", + "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum." + }, + "instanceType": { + "type": "string", + "enum": [ + "InMageAzureV2" + ] + }, + "logStorageAccountId": { + "type": "string", + "description": "The storage account to be used for logging during replication." + }, + "masterTargetId": { + "type": "string", + "description": "The Master target Id." + }, + "multiVmGroupId": { + "type": "string", + "description": "The multi vm group Id." + }, + "multiVmGroupName": { + "type": "string", + "description": "The multi vm group name." + }, + "processServerId": { + "type": "string", + "description": "The Process Server Id." + }, + "runAsAccountId": { + "type": "string", + "description": "The CS account Id." + }, + "storageAccountId": { + "type": "string", + "description": "The storage account name." + }, + "targetAzureNetworkId": { + "type": "string", + "description": "The selected target Azure network Id." + }, + "targetAzureSubnetId": { + "type": "string", + "description": "The selected target Azure subnet Id." + }, + "targetAzureV1ResourceGroupId": { + "type": "string", + "description": "The Id of the target resource group (for classic deployment) in which the failover VM is to be created." + }, + "targetAzureV2ResourceGroupId": { + "type": "string", + "description": "The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created." + }, + "targetAzureVmName": { + "type": "string", + "description": "The target azure Vm Name." + }, + "useManagedDisks": { + "type": "string", + "description": "A value indicating whether managed disks should be used during failover." + } + }, + "required": [ + "instanceType", + "storageAccountId" + ], + "description": "VMware Azure specific enable protection input." + }, + "InMageAzureV2PolicyInput": { + "type": "object", + "properties": { + "appConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The app consistent snapshot frequency (in minutes)." + }, + "crashConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The crash consistent snapshot frequency (in minutes)." + }, + "instanceType": { + "type": "string", + "enum": [ + "InMageAzureV2" + ] + }, + "multiVmSyncStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enable", + "Disable" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'." + }, + "recoveryPointHistory": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The duration in minutes until which the recovery points need to be stored." + }, + "recoveryPointThresholdInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The recovery point threshold in minutes." + } + }, + "required": [ + "instanceType", + "multiVmSyncStatus" + ], + "description": "VMWare Azure specific protection profile Input." + }, + "InMageDiskExclusionInput": { + "type": "object", + "properties": { + "diskSignatureOptions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/InMageDiskSignatureExclusionOptions" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The guest disk signature based option for disk exclusion." + }, + "volumeOptions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/InMageVolumeExclusionOptions" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The volume label based option for disk exclusion." + } + }, + "description": "DiskExclusionInput when doing enable protection of virtual machine in InMage provider." + }, + "InMageDiskSignatureExclusionOptions": { + "type": "object", + "properties": { + "diskSignature": { + "type": "string", + "description": "The guest signature of disk to be excluded from replication." + } + }, + "description": "Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider." + }, + "InMageEnableProtectionInput": { + "type": "object", + "properties": { + "datastoreName": { + "type": "string", + "description": "The target data store name." + }, + "diskExclusionInput": { + "oneOf": [ + { + "$ref": "#/definitions/InMageDiskExclusionInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "DiskExclusionInput when doing enable protection of virtual machine in InMage provider." + }, + "disksToInclude": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The disks to include list." + }, + "instanceType": { + "type": "string", + "enum": [ + "InMage" + ] + }, + "masterTargetId": { + "type": "string", + "description": "The Master Target Id." + }, + "multiVmGroupId": { + "type": "string", + "description": "The multi vm group Id." + }, + "multiVmGroupName": { + "type": "string", + "description": "The multi vm group name." + }, + "processServerId": { + "type": "string", + "description": "The Process Server Id." + }, + "retentionDrive": { + "type": "string", + "description": "The retention drive to use on the MT." + }, + "runAsAccountId": { + "type": "string", + "description": "The CS account Id." + }, + "vmFriendlyName": { + "type": "string", + "description": "The Vm Name." + } + }, + "required": [ + "instanceType", + "masterTargetId", + "multiVmGroupId", + "multiVmGroupName", + "processServerId", + "retentionDrive" + ], + "description": "VMware Azure specific enable protection input." + }, + "InMagePolicyInput": { + "type": "object", + "properties": { + "appConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The app consistent snapshot frequency (in minutes)." + }, + "instanceType": { + "type": "string", + "enum": [ + "InMage" + ] + }, + "multiVmSyncStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enable", + "Disable" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'." + }, + "recoveryPointHistory": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The duration in minutes until which the recovery points need to be stored." + }, + "recoveryPointThresholdInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The recovery point threshold in minutes." + } + }, + "required": [ + "instanceType", + "multiVmSyncStatus" + ], + "description": "VMWare Azure specific protection profile Input." + }, + "InMageVolumeExclusionOptions": { + "type": "object", + "properties": { + "OnlyExcludeIfSingleVolume": { + "type": "string", + "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." + }, + "volumeLabel": { + "type": "string", + "description": "The volume label. The disk having any volume with this label will be excluded from replication." + } + }, + "description": "Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider." + }, + "PolicyProviderSpecificInput": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/HyperVReplicaAzurePolicyInput" + }, + { + "$ref": "#/definitions/HyperVReplicaPolicyInput" + }, + { + "$ref": "#/definitions/HyperVReplicaBluePolicyInput" + }, + { + "$ref": "#/definitions/InMageAzureV2PolicyInput" + }, + { + "$ref": "#/definitions/InMagePolicyInput" + }, + { + "$ref": "#/definitions/A2APolicyCreationInput" + }, + { + "$ref": "#/definitions/VMwareCbtPolicyCreationInput" + } + ], + "properties": {}, + "description": "Base class for provider specific input" + }, + "RecoveryPlanAction": { + "type": "object", + "properties": { + "actionName": { + "type": "string", + "description": "The action name." + }, + "customDetails": { + "oneOf": [ + { + "$ref": "#/definitions/RecoveryPlanActionDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Recovery plan action custom details." + }, + "failoverDirections": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "PrimaryToRecovery", + "RecoveryToPrimary" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of failover directions." + }, + "failoverTypes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "ReverseReplicate", + "Commit", + "PlannedFailover", + "UnplannedFailover", + "DisableProtection", + "TestFailover", + "TestFailoverCleanup", + "Failback", + "FinalizeFailback", + "ChangePit", + "RepairReplication", + "SwitchProtection", + "CompleteMigration" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of failover types." + } + }, + "required": [ + "actionName", + "customDetails", + "failoverDirections", + "failoverTypes" + ], + "description": "Recovery plan action details." + }, + "RecoveryPlanActionDetails": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/RecoveryPlanScriptActionDetails" + }, + { + "$ref": "#/definitions/RecoveryPlanAutomationRunbookActionDetails" + }, + { + "$ref": "#/definitions/RecoveryPlanManualActionDetails" + } + ], + "properties": {}, + "description": "Recovery plan action custom details." + }, + "RecoveryPlanAutomationRunbookActionDetails": { + "type": "object", + "properties": { + "fabricLocation": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Primary", + "Recovery" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The fabric location." + }, + "instanceType": { + "type": "string", + "enum": [ + "AutomationRunbookActionDetails" + ] + }, + "runbookId": { + "type": "string", + "description": "The runbook ARM Id." + }, + "timeout": { + "type": "string", + "description": "The runbook timeout." + } + }, + "required": [ + "fabricLocation", + "instanceType" + ], + "description": "Recovery plan Automation runbook action details." + }, + "RecoveryPlanGroup": { + "type": "object", + "properties": { + "endGroupActions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanAction" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The end group actions." + }, + "groupType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Shutdown", + "Boot", + "Failover" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The group type." + }, + "replicationProtectedItems": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanProtectedItem" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of protected items." + }, + "startGroupActions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanAction" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The start group actions." + } + }, + "required": [ + "groupType" + ], + "description": "Recovery plan group details." + }, + "RecoveryPlanManualActionDetails": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The manual action description." + }, + "instanceType": { + "type": "string", + "enum": [ + "ManualActionDetails" + ] + } + }, + "required": [ + "instanceType" + ], + "description": "Recovery plan manual action details." + }, + "RecoveryPlanProtectedItem": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The ARM Id of the recovery plan protected item." + }, + "virtualMachineId": { + "type": "string", + "description": "The virtual machine Id." + } + }, + "description": "Recovery plan protected item." + }, + "RecoveryPlanScriptActionDetails": { + "type": "object", + "properties": { + "fabricLocation": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Primary", + "Recovery" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The fabric location." + }, + "instanceType": { + "type": "string", + "enum": [ + "ScriptActionDetails" + ] + }, + "path": { + "type": "string", + "description": "The script path." + }, + "timeout": { + "type": "string", + "description": "The script timeout." + } + }, + "required": [ + "fabricLocation", + "instanceType", + "path" + ], + "description": "Recovery plan script action details." + }, + "ReplicationProviderSpecificContainerCreationInput": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/A2AContainerCreationInput" + } + ], + "properties": {}, + "description": "Provider specific input for container creation operation." + }, + "ReplicationProviderSpecificContainerMappingInput": { + "type": "object", + "properties": { + "instanceType": { + "type": "string", + "description": "The class type." + } + }, + "description": "Provider specific input for pairing operations." + }, + "SanEnableProtectionInput": { + "type": "object", + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "San" + ] + } + }, + "required": [ + "instanceType" + ], + "description": "San enable protection provider specific input." + }, + "StorageMappingInputProperties": { + "type": "object", + "properties": { + "targetStorageClassificationId": { + "type": "string", + "description": "The ID of the storage object." + } + }, + "description": "Storage mapping input properties." + }, + "vaults_replicationFabrics_replicationProtectionContainers_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-08-10" + ] + }, + "name": { + "type": "string", + "description": "Unique protection container ARM name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CreateProtectionContainerInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Create protection container input properties." + }, + "type": { + "type": "string", + "enum": [ + "replicationProtectionContainers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers" + }, + "vaults_replicationFabrics_replicationProtectionContainers_replicationProtectedItems_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-08-10" + ] + }, + "name": { + "type": "string", + "description": "A name for the replication protected item." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EnableProtectionInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable protection input properties." + }, + "type": { + "type": "string", + "enum": [ + "replicationProtectedItems" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems" + }, + "vaults_replicationFabrics_replicationProtectionContainers_replicationProtectionContainerMappings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-08-10" + ] + }, + "name": { + "type": "string", + "description": "Protection container mapping name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CreateProtectionContainerMappingInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configure pairing input properties." + }, + "type": { + "type": "string", + "enum": [ + "replicationProtectionContainerMappings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings" + }, + "vaults_replicationFabrics_replicationvCenters_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-08-10" + ] + }, + "name": { + "type": "string", + "description": "vCenter name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AddVCenterRequestProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of an add vCenter request." + }, + "type": { + "type": "string", + "enum": [ + "replicationvCenters" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters" + }, + "VmmToAzureCreateNetworkMappingInput": { + "type": "object", + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "VmmToAzure" + ] + } + }, + "required": [ + "instanceType" + ], + "description": "Create network mappings input properties/behavior specific to Vmm to Azure Network mapping." + }, + "VmmToVmmCreateNetworkMappingInput": { + "type": "object", + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "VmmToVmm" + ] + } + }, + "required": [ + "instanceType" + ], + "description": "Create network mappings input properties/behavior specific to vmm to vmm Network mapping." + }, + "VMwareCbtPolicyCreationInput": { + "type": "object", + "properties": { + "appConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The app consistent snapshot frequency (in minutes)." + }, + "crashConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The crash consistent snapshot frequency (in minutes)." + }, + "instanceType": { + "type": "string", + "enum": [ + "VMwareCbt" + ] + }, + "recoveryPointHistory": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The duration in minutes until which the recovery points need to be stored." + } + }, + "required": [ + "instanceType" + ], + "description": "VMware Cbt Policy creation input." + }, + "VMwareV2FabricCreationInput": { + "type": "object", + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "VMwareV2" + ] + } + }, + "required": [ + "instanceType" + ], + "description": "Fabric provider specific settings." + } + } +} \ No newline at end of file diff --git a/schemas/2018-01-10/Microsoft.RecoveryServices.json b/schemas/2018-01-10/Microsoft.RecoveryServices.json index a5c8f94d9b..743b1f8a06 100644 --- a/schemas/2018-01-10/Microsoft.RecoveryServices.json +++ b/schemas/2018-01-10/Microsoft.RecoveryServices.json @@ -7,21 +7,16 @@ "vaults_replicationAlertSettings": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.RecoveryServices/vaults/replicationAlertSettings" - ] - }, "apiVersion": { "type": "string", "enum": [ "2018-01-10" ] }, + "name": { + "type": "string", + "description": "The name of the email notification(alert) configuration." + }, "properties": { "oneOf": [ { @@ -31,35 +26,36 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The properties of a configure alert request." + "description": "Properties of a configure alert request." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationAlertSettings" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.RecoveryServices/vaults/replicationAlertSettings" }, "vaults_replicationFabrics": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.RecoveryServices/vaults/replicationFabrics" - ] - }, "apiVersion": { "type": "string", "enum": [ "2018-01-10" ] }, + "name": { + "type": "string", + "description": "Name of the ASR fabric." + }, "properties": { "oneOf": [ { @@ -69,51 +65,52 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Fabric creation input." + "description": "Properties of site details provided during the time of site creation" }, "resources": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/definitions/vaults_replicationFabrics_replicationvCenters_childResource" + "$ref": "#/definitions/vaults_replicationFabrics_replicationProtectionContainers_childResource" }, { "$ref": "#/definitions/vaults_replicationFabrics_replicationRecoveryServicesProviders_childResource" }, { - "$ref": "#/definitions/vaults_replicationFabrics_replicationProtectionContainers_childResource" + "$ref": "#/definitions/vaults_replicationFabrics_replicationvCenters_childResource" } ] } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationFabrics" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.RecoveryServices/vaults/replicationFabrics" }, "vaults_replicationFabrics_replicationNetworks_replicationNetworkMappings": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings" - ] - }, "apiVersion": { "type": "string", "enum": [ "2018-01-10" ] }, + "name": { + "type": "string", + "description": "Network mapping name." + }, "properties": { "oneOf": [ { @@ -123,35 +120,36 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Input properties for creating network mapping." + "description": "Common input details for network mapping operation." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings" }, "vaults_replicationFabrics_replicationProtectionContainers": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers" - ] - }, "apiVersion": { "type": "string", "enum": [ "2018-01-10" ] }, + "name": { + "type": "string", + "description": "Unique protection container ARM name." + }, "properties": { "oneOf": [ { @@ -168,44 +166,45 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/vaults_replicationFabrics_replicationProtectionContainers_replicationProtectionContainerMappings_childResource" + "$ref": "#/definitions/vaults_replicationFabrics_replicationProtectionContainers_replicationMigrationItems_childResource" }, { "$ref": "#/definitions/vaults_replicationFabrics_replicationProtectionContainers_replicationProtectedItems_childResource" }, { - "$ref": "#/definitions/vaults_replicationFabrics_replicationProtectionContainers_replicationMigrationItems_childResource" + "$ref": "#/definitions/vaults_replicationFabrics_replicationProtectionContainers_replicationProtectionContainerMappings_childResource" } ] } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers" }, "vaults_replicationFabrics_replicationProtectionContainers_replicationMigrationItems": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems" - ] - }, "apiVersion": { "type": "string", "enum": [ "2018-01-10" ] }, + "name": { + "type": "string", + "description": "Migration item name." + }, "properties": { "oneOf": [ { @@ -216,34 +215,35 @@ } ], "description": "Enable migration input properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems" }, "vaults_replicationFabrics_replicationProtectionContainers_replicationProtectedItems": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems" - ] - }, "apiVersion": { "type": "string", "enum": [ "2018-01-10" ] }, + "name": { + "type": "string", + "description": "A name for the replication protected item." + }, "properties": { "oneOf": [ { @@ -254,34 +254,35 @@ } ], "description": "Enable protection input properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems" }, "vaults_replicationFabrics_replicationProtectionContainers_replicationProtectionContainerMappings": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings" - ] - }, "apiVersion": { "type": "string", "enum": [ "2018-01-10" ] }, + "name": { + "type": "string", + "description": "Protection container mapping name." + }, "properties": { "oneOf": [ { @@ -291,35 +292,36 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Configure protection input properties." + "description": "Configure pairing input properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings" }, "vaults_replicationFabrics_replicationRecoveryServicesProviders": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders" - ] - }, "apiVersion": { "type": "string", "enum": [ "2018-01-10" ] }, + "name": { + "type": "string", + "description": "Recovery services provider name." + }, "properties": { "oneOf": [ { @@ -330,34 +332,35 @@ } ], "description": "The properties of an add provider request." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders" }, "vaults_replicationFabrics_replicationStorageClassifications_replicationStorageClassificationMappings": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings" - ] - }, "apiVersion": { "type": "string", "enum": [ "2018-01-10" ] }, + "name": { + "type": "string", + "description": "Storage classification mapping name." + }, "properties": { "oneOf": [ { @@ -368,34 +371,35 @@ } ], "description": "Storage mapping input properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings" }, "vaults_replicationFabrics_replicationvCenters": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters" - ] - }, "apiVersion": { "type": "string", "enum": [ "2018-01-10" ] }, + "name": { + "type": "string", + "description": "vCenter name." + }, "properties": { "oneOf": [ { @@ -406,34 +410,35 @@ } ], "description": "The properties of an add vCenter request." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters" }, "vaults_replicationPolicies": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.RecoveryServices/vaults/replicationPolicies" - ] - }, "apiVersion": { "type": "string", "enum": [ "2018-01-10" ] }, + "name": { + "type": "string", + "description": "Replication policy name" + }, "properties": { "oneOf": [ { @@ -444,34 +449,35 @@ } ], "description": "Policy creation properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationPolicies" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.RecoveryServices/vaults/replicationPolicies" }, "vaults_replicationRecoveryPlans": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans" - ] - }, "apiVersion": { "type": "string", "enum": [ "2018-01-10" ] }, + "name": { + "type": "string", + "description": "Recovery plan name." + }, "properties": { "oneOf": [ { @@ -482,13 +488,19 @@ } ], "description": "Recovery plan creation properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans" } @@ -496,32 +508,21 @@ "definitions": { "A2AContainerCreationInput": { "type": "object", - "allOf": [ - {} + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "A2A" + ] + } + }, + "required": [ + "instanceType" ], "description": "A2A cloud creation input." }, "A2AContainerMappingInput": { "type": "object", - "oneOf": [ - { - "properties": { - "instanceType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "A2A" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], "properties": { "agentAutoUpdateStatus": { "oneOf": [ @@ -543,7 +544,10 @@ "description": "The automation account arm id." }, "instanceType": { - "type": "string" + "type": "string", + "enum": [ + "A2A" + ] } }, "required": [ @@ -553,128 +557,147 @@ }, "A2AEnableProtectionInput": { "type": "object", - "allOf": [ - { - "properties": { - "fabricObjectId": { - "type": "string", - "description": "The fabric specific object Id of the virtual machine." - }, - "recoveryContainerId": { - "type": "string", - "description": "The recovery container Id." - }, - "recoveryResourceGroupId": { - "type": "string", - "description": "The recovery resource group Id. Valid for V2 scenarios." + "properties": { + "diskEncryptionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/DiskEncryptionInfo" }, - "recoveryCloudServiceId": { - "type": "string", - "description": "The recovery cloud service Id. Valid for V1 scenarios." + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Recovery disk encryption info (BEK and KEK)." + }, + "fabricObjectId": { + "type": "string", + "description": "The fabric specific object Id of the virtual machine." + }, + "instanceType": { + "type": "string", + "enum": [ + "A2A" + ] + }, + "multiVmGroupName": { + "type": "string", + "description": "The multi vm group name." + }, + "recoveryAvailabilitySetId": { + "type": "string", + "description": "The recovery availability set Id." + }, + "recoveryBootDiagStorageAccountId": { + "type": "string", + "description": "The boot diagnostic storage account." + }, + "recoveryCloudServiceId": { + "type": "string", + "description": "The recovery cloud service Id. Valid for V1 scenarios." + }, + "recoveryContainerId": { + "type": "string", + "description": "The recovery container Id." + }, + "recoveryResourceGroupId": { + "type": "string", + "description": "The recovery resource group Id. Valid for V2 scenarios." + }, + "vmDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmDiskInputDetails" + } }, - "recoveryAvailabilitySetId": { - "type": "string", - "description": "The recovery availability set Id." - }, - "vmDisks": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/A2AVmDiskInputDetails" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of vm disk details." - }, - "vmManagedDisks": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/A2AVmManagedDiskInputDetails" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of vm managed disk details." - }, - "multiVmGroupName": { - "type": "string", - "description": "The multi vm group name." + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of vm disk details." + }, + "vmManagedDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmManagedDiskInputDetails" + } }, - "recoveryBootDiagStorageAccountId": { - "type": "string", - "description": "The boot diagnostic storage account." + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - } + ], + "description": "The list of vm managed disk details." } + }, + "required": [ + "instanceType" ], "description": "A2A enable protection input." }, "A2APolicyCreationInput": { "type": "object", - "allOf": [ - { - "properties": { - "recoveryPointHistory": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The duration in minutes until which the recovery points need to be stored." - }, - "crashConsistentFrequencyInMinutes": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The crash consistent snapshot frequency (in minutes)." - }, - "appConsistentFrequencyInMinutes": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The app consistent snapshot frequency (in minutes)." - }, - "multiVmSyncStatus": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Enable", - "Disable" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'." - } - }, - "required": [ - "multiVmSyncStatus" + "properties": { + "appConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The app consistent snapshot frequency (in minutes)." + }, + "crashConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The crash consistent snapshot frequency (in minutes)." + }, + "instanceType": { + "type": "string", + "enum": [ + "A2A" ] + }, + "multiVmSyncStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enable", + "Disable" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'." + }, + "recoveryPointHistory": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The duration in minutes until which the recovery points need to be stored." } + }, + "required": [ + "instanceType", + "multiVmSyncStatus" ], "description": "A2A Policy creation input." }, @@ -685,13 +708,13 @@ "type": "string", "description": "The disk Uri." }, - "recoveryAzureStorageAccountId": { - "type": "string", - "description": "The recovery VHD storage account Id." - }, "primaryStagingAzureStorageAccountId": { "type": "string", "description": "The primary staging storage account Id." + }, + "recoveryAzureStorageAccountId": { + "type": "string", + "description": "The recovery VHD storage account Id." } }, "description": "Azure VM disk input details." @@ -707,14 +730,14 @@ "type": "string", "description": "The primary staging storage account Arm Id." }, - "recoveryResourceGroupId": { - "type": "string", - "description": "The target resource group Arm Id." - }, "recoveryReplicaDiskAccountType": { "type": "string", "description": "The replica disk type. Its an optional value and will be same as source disk type if not user provided." }, + "recoveryResourceGroupId": { + "type": "string", + "description": "The target resource group Arm Id." + }, "recoveryTargetDiskAccountType": { "type": "string", "description": "The target disk type after failover. Its an optional value and will be same as source disk type if not user provided." @@ -725,10 +748,6 @@ "AddRecoveryServicesProviderInputProperties": { "type": "object", "properties": { - "machineName": { - "type": "string", - "description": "The name of the machine where the provider is getting added." - }, "authenticationIdentityInput": { "oneOf": [ { @@ -738,7 +757,11 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The identity provider input for DRA authentication." + "description": "Identity provider input." + }, + "machineName": { + "type": "string", + "description": "The name of the machine where the provider is getting added." }, "resourceAccessIdentityInput": { "oneOf": [ @@ -749,12 +772,12 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The identity provider input for resource access." + "description": "Identity provider input." } }, "required": [ - "machineName", "authenticationIdentityInput", + "machineName", "resourceAccessIdentityInput" ], "description": "The properties of an add provider request." @@ -770,14 +793,14 @@ "type": "string", "description": "The IP address of the vCenter to be discovered." }, - "processServerId": { - "type": "string", - "description": "The process server Id from where the discovery is orchestrated." - }, "port": { "type": "string", "description": "The port number for discovery." }, + "processServerId": { + "type": "string", + "description": "The process server Id from where the discovery is orchestrated." + }, "runAsAccountId": { "type": "string", "description": "The account Id which has privileges to discover the vCenter." @@ -787,39 +810,45 @@ }, "AzureFabricCreationInput": { "type": "object", - "allOf": [ - { - "properties": { - "location": { - "type": "string", - "description": "The Location." - } - } + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "Azure" + ] + }, + "location": { + "type": "string", + "description": "The Location." } + }, + "required": [ + "instanceType" ], "description": "Fabric provider specific settings." }, "AzureToAzureCreateNetworkMappingInput": { "type": "object", - "allOf": [ - { - "properties": { - "primaryNetworkId": { - "type": "string", - "description": "The primary azure vnet Id." - } - } + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "AzureToAzure" + ] + }, + "primaryNetworkId": { + "type": "string", + "description": "The primary azure vnet Id." } + }, + "required": [ + "instanceType" ], - "description": "Create network mappings input properties/behaviour specific to Azure to Azure Network mapping." + "description": "Create network mappings input properties/behavior specific to Azure to Azure Network mapping." }, "ConfigureAlertRequestProperties": { "type": "object", "properties": { - "sendToOwners": { - "type": "string", - "description": "A value indicating whether to send email to subscription administrator." - }, "customEmailAddresses": { "oneOf": [ { @@ -837,6 +866,10 @@ "locale": { "type": "string", "description": "The locale for the email notification." + }, + "sendToOwners": { + "type": "string", + "description": "A value indicating whether to send email to subscription administrator." } }, "description": "Properties of a configure alert request." @@ -844,14 +877,6 @@ "CreateNetworkMappingInputProperties": { "type": "object", "properties": { - "recoveryFabricName": { - "type": "string", - "description": "Recovery fabric Name." - }, - "recoveryNetworkId": { - "type": "string", - "description": "Recovery network Id." - }, "fabricSpecificDetails": { "oneOf": [ { @@ -861,7 +886,15 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Fabric specific input properties." + "description": "Input details specific to fabrics during Network Mapping." + }, + "recoveryFabricName": { + "type": "string", + "description": "Recovery fabric Name." + }, + "recoveryNetworkId": { + "type": "string", + "description": "Recovery network Id." } }, "description": "Common input details for network mapping operation." @@ -878,7 +911,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The ReplicationProviderSettings." + "description": "Base class for provider specific input" } }, "description": "Policy creation properties." @@ -906,10 +939,6 @@ "CreateProtectionContainerMappingInputProperties": { "type": "object", "properties": { - "targetProtectionContainerId": { - "type": "string", - "description": "The target unique protection container name." - }, "policyId": { "type": "string", "description": "Applicable policy." @@ -923,7 +952,11 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Provider specific input for pairing." + "description": "Provider specific input for pairing operations." + }, + "targetProtectionContainerId": { + "type": "string", + "description": "The target unique protection container name." } }, "description": "Configure pairing input properties." @@ -931,14 +964,6 @@ "CreateRecoveryPlanInputProperties": { "type": "object", "properties": { - "primaryFabricId": { - "type": "string", - "description": "The primary fabric Id." - }, - "recoveryFabricId": { - "type": "string", - "description": "The recovery fabric Id." - }, "failoverDeploymentModel": { "oneOf": [ { @@ -968,15 +993,65 @@ } ], "description": "The recovery plan groups." + }, + "primaryFabricId": { + "type": "string", + "description": "The primary fabric Id." + }, + "recoveryFabricId": { + "type": "string", + "description": "The recovery fabric Id." } }, "required": [ + "groups", "primaryFabricId", - "recoveryFabricId", - "groups" + "recoveryFabricId" ], "description": "Recovery plan creation properties." }, + "DiskEncryptionInfo": { + "type": "object", + "properties": { + "diskEncryptionKeyInfo": { + "oneOf": [ + { + "$ref": "#/definitions/DiskEncryptionKeyInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disk Encryption Key Information (BitLocker Encryption Key (BEK) on Windows)." + }, + "keyEncryptionKeyInfo": { + "oneOf": [ + { + "$ref": "#/definitions/KeyEncryptionKeyInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Key Encryption Key (KEK) information." + } + }, + "description": "Recovery disk encryption info (BEK and KEK)." + }, + "DiskEncryptionKeyInfo": { + "type": "object", + "properties": { + "keyVaultResourceArmId": { + "type": "string", + "description": "The KeyVault resource ARM id for secret." + }, + "secretIdentifier": { + "type": "string", + "description": "The secret url / identifier." + } + }, + "description": "Disk Encryption Key Information (BitLocker Encryption Key (BEK) on Windows)." + }, "EnableMigrationInputProperties": { "type": "object", "properties": { @@ -993,7 +1068,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The provider specific details." + "description": "Enable migration provider specific input." } }, "required": [ @@ -1006,53 +1081,10 @@ "type": "object", "oneOf": [ { - "properties": { - "instanceType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "EnableMigrationProviderSpecificInput" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "allOf": [ - { - "$ref": "#/definitions/VMwareCbtEnableMigrationInput" - } - ], - "properties": { - "instanceType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "VMwareCbt" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } + "$ref": "#/definitions/VMwareCbtEnableMigrationInput" } ], - "properties": { - "instanceType": { - "type": "string" - } - }, - "required": [ - "instanceType" - ], + "properties": {}, "description": "Enable migration provider specific input." }, "EnableProtectionInputProperties": { @@ -1075,56 +1107,31 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "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." + "description": "Enable protection provider specific input." } }, "description": "Enable protection input properties." }, "EnableProtectionProviderSpecificInput": { "type": "object", - "allOf": [ + "oneOf": [ { - "properties": { - "instanceType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "A2A", - "EnableProtectionProviderSpecificInput", - "HyperVReplicaAzure", - "InMageAzureV2", - "InMage", - "San" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } + "$ref": "#/definitions/A2AEnableProtectionInput" }, { - "anyOf": [ - { - "$ref": "#/definitions/A2AEnableProtectionInput" - }, - { - "$ref": "#/definitions/HyperVReplicaAzureEnableProtectionInput" - }, - { - "$ref": "#/definitions/InMageAzureV2EnableProtectionInput" - }, - { - "$ref": "#/definitions/InMageEnableProtectionInput" - }, - { - "$ref": "#/definitions/SanEnableProtectionInput" - } - ] + "$ref": "#/definitions/HyperVReplicaAzureEnableProtectionInput" + }, + { + "$ref": "#/definitions/InMageAzureV2EnableProtectionInput" + }, + { + "$ref": "#/definitions/InMageEnableProtectionInput" + }, + { + "$ref": "#/definitions/SanEnableProtectionInput" } ], + "properties": {}, "description": "Enable protection provider specific input." }, "FabricCreationInputProperties": { @@ -1139,823 +1146,797 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Fabric provider specific creation input." + "description": "Fabric provider specific settings." } }, "description": "Properties of site details provided during the time of site creation" }, "FabricSpecificCreateNetworkMappingInput": { "type": "object", - "allOf": [ + "oneOf": [ { - "properties": { - "instanceType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "AzureToAzure", - "FabricSpecificCreateNetworkMappingInput", - "VmmToAzure", - "VmmToVmm" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } + "$ref": "#/definitions/AzureToAzureCreateNetworkMappingInput" }, { - "anyOf": [ - { - "$ref": "#/definitions/AzureToAzureCreateNetworkMappingInput" - }, - { - "$ref": "#/definitions/VmmToAzureCreateNetworkMappingInput" - }, - { - "$ref": "#/definitions/VmmToVmmCreateNetworkMappingInput" - } - ] + "$ref": "#/definitions/VmmToAzureCreateNetworkMappingInput" + }, + { + "$ref": "#/definitions/VmmToVmmCreateNetworkMappingInput" } ], + "properties": {}, "description": "Input details specific to fabrics during Network Mapping." }, "FabricSpecificCreationInput": { "type": "object", - "allOf": [ + "oneOf": [ { - "properties": { - "instanceType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Azure", - "FabricSpecificCreationInput", - "VMwareV2" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } + "$ref": "#/definitions/AzureFabricCreationInput" }, { - "anyOf": [ - { - "$ref": "#/definitions/AzureFabricCreationInput" - }, - { - "$ref": "#/definitions/VMwareV2FabricCreationInput" - } - ] + "$ref": "#/definitions/VMwareV2FabricCreationInput" } ], + "properties": {}, "description": "Fabric provider specific settings." }, "HyperVReplicaAzureEnableProtectionInput": { "type": "object", - "allOf": [ - { - "properties": { - "hvHostVmId": { - "type": "string", - "description": "The Hyper-V host Vm Id." - }, - "vmName": { - "type": "string", - "description": "The Vm Name." - }, - "osType": { - "type": "string", - "description": "The OS type associated with vm." - }, - "vhdId": { - "type": "string", - "description": "The OS disk VHD id associated with vm." - }, - "targetStorageAccountId": { - "type": "string", - "description": "The storage account name." - }, - "targetAzureNetworkId": { - "type": "string", - "description": "The selected target Azure network Id." - }, - "targetAzureSubnetId": { - "type": "string", - "description": "The selected target Azure subnet Id." - }, - "enableRdpOnTargetOption": { - "type": "string", - "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum." - }, - "targetAzureVmName": { - "type": "string", - "description": "The target azure Vm Name." - }, - "logStorageAccountId": { - "type": "string", - "description": "The storage account to be used for logging during replication." - }, - "disksToInclude": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of VHD IDs of disks to be protected." - }, - "targetAzureV1ResourceGroupId": { - "type": "string", - "description": "The Id of the target resource group (for classic deployment) in which the failover VM is to be created." - }, - "targetAzureV2ResourceGroupId": { - "type": "string", - "description": "The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created." - }, - "useManagedDisks": { - "type": "string", - "description": "A value indicating whether managed disks should be used during failover." - } - } - } - ], - "description": "Azure specific enable protection input." - }, - "HyperVReplicaAzurePolicyInput": { - "type": "object", - "allOf": [ - { - "properties": { - "recoveryPointHistoryDuration": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The duration (in hours) to which point the recovery history needs to be maintained." - }, - "applicationConsistentSnapshotFrequencyInHours": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The interval (in hours) at which Hyper-V Replica should create an application consistent snapshot within the VM." - }, - "replicationInterval": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The replication interval." - }, - "onlineReplicationStartTime": { - "type": "string", - "description": "The scheduled start time for the initial replication. If this parameter is Null, the initial replication starts immediately." - }, - "storageAccounts": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of storage accounts to which the VMs in the primary cloud can replicate to." - } - } - } - ], - "description": "Hyper-V Replica Azure specific input for creating a protection profile." - }, - "HyperVReplicaBluePolicyInput": { - "type": "object", - "allOf": [ - { - "properties": { - "replicationFrequencyInSeconds": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A value indicating the replication interval." - }, - "recoveryPoints": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A value indicating the number of recovery points." - }, - "applicationConsistentSnapshotFrequencyInHours": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A value indicating the application consistent frequency." - }, - "compression": { - "type": "string", - "description": "A value indicating whether compression has to be enabled." - }, - "initialReplicationMethod": { - "type": "string", - "description": "A value indicating whether IR is online." - }, - "onlineReplicationStartTime": { - "type": "string", - "description": "A value indicating the online IR start time." - }, - "offlineReplicationImportPath": { - "type": "string", - "description": "A value indicating the offline IR import path." - }, - "offlineReplicationExportPath": { - "type": "string", - "description": "A value indicating the offline IR export path." - }, - "replicationPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A value indicating the recovery HTTPS port." - }, - "allowedAuthenticationType": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A value indicating the authentication type." - }, - "replicaDeletion": { - "type": "string", - "description": "A value indicating whether the VM has to be auto deleted." - } - } - } - ], - "description": "HyperV Replica Blue policy input." - }, - "HyperVReplicaPolicyInput": { - "type": "object", - "allOf": [ - { - "properties": { - "recoveryPoints": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A value indicating the number of recovery points." - }, - "applicationConsistentSnapshotFrequencyInHours": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A value indicating the application consistent frequency." - }, - "compression": { - "type": "string", - "description": "A value indicating whether compression has to be enabled." - }, - "initialReplicationMethod": { - "type": "string", - "description": "A value indicating whether IR is online." - }, - "onlineReplicationStartTime": { - "type": "string", - "description": "A value indicating the online IR start time." - }, - "offlineReplicationImportPath": { - "type": "string", - "description": "A value indicating the offline IR import path." + "properties": { + "disksToInclude": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } }, - "offlineReplicationExportPath": { - "type": "string", - "description": "A value indicating the offline IR export path." - }, - "replicationPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A value indicating the recovery HTTPS port." - }, - "allowedAuthenticationType": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A value indicating the authentication type." - }, - "replicaDeletion": { - "type": "string", - "description": "A value indicating whether the VM has to be auto deleted." + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - } - } - ], - "description": "Hyper-V Replica specific protection profile Input." - }, - "IdentityProviderInput": { - "type": "object", - "properties": { - "tenantId": { + ], + "description": "The list of VHD IDs of disks to be protected." + }, + "enableRdpOnTargetOption": { "type": "string", - "description": "The tenant Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services." + "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum." }, - "applicationId": { + "hvHostVmId": { "type": "string", - "description": "The application/client Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services." + "description": "The Hyper-V host Vm Id." }, - "objectId": { + "instanceType": { "type": "string", - "description": "The object Id of the service principal with which the on-premise management/data plane components would communicate with our Azure services." + "enum": [ + "HyperVReplicaAzure" + ] }, - "audience": { + "logStorageAccountId": { "type": "string", - "description": "The intended Audience of the service principal with which the on-premise management/data plane components would communicate with our Azure services." + "description": "The storage account to be used for logging during replication." }, - "aadAuthority": { + "osType": { "type": "string", - "description": "The base authority for Azure Active Directory authentication." + "description": "The OS type associated with vm." + }, + "targetAzureNetworkId": { + "type": "string", + "description": "The selected target Azure network Id." + }, + "targetAzureSubnetId": { + "type": "string", + "description": "The selected target Azure subnet Id." + }, + "targetAzureV1ResourceGroupId": { + "type": "string", + "description": "The Id of the target resource group (for classic deployment) in which the failover VM is to be created." + }, + "targetAzureV2ResourceGroupId": { + "type": "string", + "description": "The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created." + }, + "targetAzureVmName": { + "type": "string", + "description": "The target azure Vm Name." + }, + "targetStorageAccountId": { + "type": "string", + "description": "The storage account name." + }, + "useManagedDisks": { + "type": "string", + "description": "A value indicating whether managed disks should be used during failover." + }, + "vhdId": { + "type": "string", + "description": "The OS disk VHD id associated with vm." + }, + "vmName": { + "type": "string", + "description": "The Vm Name." } }, "required": [ - "tenantId", - "applicationId", - "objectId", - "audience", - "aadAuthority" + "instanceType" ], - "description": "Identity provider input." + "description": "Azure specific enable protection input." }, - "InMageAzureV2EnableProtectionInput": { + "HyperVReplicaAzurePolicyInput": { "type": "object", - "allOf": [ - { - "properties": { - "masterTargetId": { - "type": "string", - "description": "The Master target Id." - }, - "processServerId": { - "type": "string", - "description": "The Process Server Id." - }, - "storageAccountId": { - "type": "string", - "description": "The storage account name." - }, - "runAsAccountId": { - "type": "string", - "description": "The CS account Id." - }, - "multiVmGroupId": { - "type": "string", - "description": "The multi vm group Id." - }, - "multiVmGroupName": { - "type": "string", - "description": "The multi vm group name." - }, - "disksToInclude": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The disks to include list." - }, - "targetAzureNetworkId": { - "type": "string", - "description": "The selected target Azure network Id." - }, - "targetAzureSubnetId": { - "type": "string", - "description": "The selected target Azure subnet Id." - }, - "enableRdpOnTargetOption": { - "type": "string", - "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum." - }, - "targetAzureVmName": { - "type": "string", - "description": "The target azure Vm Name." - }, - "logStorageAccountId": { - "type": "string", - "description": "The storage account to be used for logging during replication." - }, - "targetAzureV1ResourceGroupId": { - "type": "string", - "description": "The Id of the target resource group (for classic deployment) in which the failover VM is to be created." - }, - "targetAzureV2ResourceGroupId": { - "type": "string", - "description": "The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created." + "properties": { + "applicationConsistentSnapshotFrequencyInHours": { + "oneOf": [ + { + "type": "integer" }, - "useManagedDisks": { - "type": "string", - "description": "A value indicating whether managed disks should be used during failover." + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - }, - "required": [ - "storageAccountId" - ] - } - ], - "description": "VMware Azure specific enable protection input." - }, - "InMageAzureV2PolicyInput": { - "type": "object", - "allOf": [ - { - "properties": { - "recoveryPointThresholdInMinutes": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The recovery point threshold in minutes." - }, - "recoveryPointHistory": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The duration in minutes until which the recovery points need to be stored." - }, - "crashConsistentFrequencyInMinutes": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The crash consistent snapshot frequency (in minutes)." - }, - "appConsistentFrequencyInMinutes": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The app consistent snapshot frequency (in minutes)." - }, - "multiVmSyncStatus": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Enable", - "Disable" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'." - } - }, - "required": [ - "multiVmSyncStatus" + ], + "description": "The interval (in hours) at which Hyper-V Replica should create an application consistent snapshot within the VM." + }, + "instanceType": { + "type": "string", + "enum": [ + "HyperVReplicaAzure" ] - } - ], - "description": "VMWare Azure specific protection profile Input." - }, - "InMageDiskExclusionInput": { - "type": "object", - "properties": { - "volumeOptions": { + }, + "onlineReplicationStartTime": { + "type": "string", + "description": "The scheduled start time for the initial replication. If this parameter is Null, the initial replication starts immediately." + }, + "recoveryPointHistoryDuration": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/InMageVolumeExclusionOptions" - } + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The volume label based option for disk exclusion." + "description": "The duration (in hours) to which point the recovery history needs to be maintained." }, - "diskSignatureOptions": { + "replicationInterval": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The replication interval." + }, + "storageAccounts": { "oneOf": [ { "type": "array", "items": { - "$ref": "#/definitions/InMageDiskSignatureExclusionOptions" + "type": "string" } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The guest disk signature based option for disk exclusion." + "description": "The list of storage accounts to which the VMs in the primary cloud can replicate to." } }, - "description": "DiskExclusionInput when doing enable protection of virtual machine in InMage provider." + "required": [ + "instanceType" + ], + "description": "Hyper-V Replica Azure specific input for creating a protection profile." }, - "InMageDiskSignatureExclusionOptions": { + "HyperVReplicaBluePolicyInput": { "type": "object", "properties": { - "diskSignature": { + "allowedAuthenticationType": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating the authentication type." + }, + "applicationConsistentSnapshotFrequencyInHours": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating the application consistent frequency." + }, + "compression": { "type": "string", - "description": "The guest signature of disk to be excluded from replication." + "description": "A value indicating whether compression has to be enabled." + }, + "initialReplicationMethod": { + "type": "string", + "description": "A value indicating whether IR is online." + }, + "instanceType": { + "type": "string", + "enum": [ + "HyperVReplica2012R2" + ] + }, + "offlineReplicationExportPath": { + "type": "string", + "description": "A value indicating the offline IR export path." + }, + "offlineReplicationImportPath": { + "type": "string", + "description": "A value indicating the offline IR import path." + }, + "onlineReplicationStartTime": { + "type": "string", + "description": "A value indicating the online IR start time." + }, + "recoveryPoints": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating the number of recovery points." + }, + "replicaDeletion": { + "type": "string", + "description": "A value indicating whether the VM has to be auto deleted." + }, + "replicationFrequencyInSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating the replication interval." + }, + "replicationPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating the recovery HTTPS port." } }, - "description": "Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider." + "required": [ + "instanceType" + ], + "description": "HyperV Replica Blue policy input." }, - "InMageEnableProtectionInput": { + "HyperVReplicaPolicyInput": { "type": "object", - "allOf": [ - { - "properties": { - "vmFriendlyName": { - "type": "string", - "description": "The Vm Name." + "properties": { + "allowedAuthenticationType": { + "oneOf": [ + { + "type": "integer" }, - "masterTargetId": { - "type": "string", - "description": "The Master Target Id." + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating the authentication type." + }, + "applicationConsistentSnapshotFrequencyInHours": { + "oneOf": [ + { + "type": "integer" }, - "processServerId": { - "type": "string", - "description": "The Process Server Id." + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating the application consistent frequency." + }, + "compression": { + "type": "string", + "description": "A value indicating whether compression has to be enabled." + }, + "initialReplicationMethod": { + "type": "string", + "description": "A value indicating whether IR is online." + }, + "instanceType": { + "type": "string", + "enum": [ + "HyperVReplica2012" + ] + }, + "offlineReplicationExportPath": { + "type": "string", + "description": "A value indicating the offline IR export path." + }, + "offlineReplicationImportPath": { + "type": "string", + "description": "A value indicating the offline IR import path." + }, + "onlineReplicationStartTime": { + "type": "string", + "description": "A value indicating the online IR start time." + }, + "recoveryPoints": { + "oneOf": [ + { + "type": "integer" }, - "retentionDrive": { - "type": "string", - "description": "The retention drive to use on the MT." + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating the number of recovery points." + }, + "replicaDeletion": { + "type": "string", + "description": "A value indicating whether the VM has to be auto deleted." + }, + "replicationPort": { + "oneOf": [ + { + "type": "integer" }, - "runAsAccountId": { - "type": "string", - "description": "The CS account Id." + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating the recovery HTTPS port." + } + }, + "required": [ + "instanceType" + ], + "description": "Hyper-V Replica specific policy Input." + }, + "IdentityProviderInput": { + "type": "object", + "properties": { + "aadAuthority": { + "type": "string", + "description": "The base authority for Azure Active Directory authentication." + }, + "applicationId": { + "type": "string", + "description": "The application/client Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services." + }, + "audience": { + "type": "string", + "description": "The intended Audience of the service principal with which the on-premise management/data plane components would communicate with our Azure services." + }, + "objectId": { + "type": "string", + "description": "The object Id of the service principal with which the on-premise management/data plane components would communicate with our Azure services." + }, + "tenantId": { + "type": "string", + "description": "The tenant Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services." + } + }, + "required": [ + "aadAuthority", + "applicationId", + "audience", + "objectId", + "tenantId" + ], + "description": "Identity provider input." + }, + "InMageAzureV2EnableProtectionInput": { + "type": "object", + "properties": { + "disksToInclude": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } }, - "multiVmGroupId": { - "type": "string", - "description": "The multi vm group Id." + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The disks to include list." + }, + "enableRdpOnTargetOption": { + "type": "string", + "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum." + }, + "instanceType": { + "type": "string", + "enum": [ + "InMageAzureV2" + ] + }, + "logStorageAccountId": { + "type": "string", + "description": "The storage account to be used for logging during replication." + }, + "masterTargetId": { + "type": "string", + "description": "The Master target Id." + }, + "multiVmGroupId": { + "type": "string", + "description": "The multi vm group Id." + }, + "multiVmGroupName": { + "type": "string", + "description": "The multi vm group name." + }, + "processServerId": { + "type": "string", + "description": "The Process Server Id." + }, + "runAsAccountId": { + "type": "string", + "description": "The CS account Id." + }, + "storageAccountId": { + "type": "string", + "description": "The storage account name." + }, + "targetAzureNetworkId": { + "type": "string", + "description": "The selected target Azure network Id." + }, + "targetAzureSubnetId": { + "type": "string", + "description": "The selected target Azure subnet Id." + }, + "targetAzureV1ResourceGroupId": { + "type": "string", + "description": "The Id of the target resource group (for classic deployment) in which the failover VM is to be created." + }, + "targetAzureV2ResourceGroupId": { + "type": "string", + "description": "The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created." + }, + "targetAzureVmName": { + "type": "string", + "description": "The target azure Vm Name." + }, + "useManagedDisks": { + "type": "string", + "description": "A value indicating whether managed disks should be used during failover." + } + }, + "required": [ + "instanceType", + "storageAccountId" + ], + "description": "VMware Azure specific enable protection input." + }, + "InMageAzureV2PolicyInput": { + "type": "object", + "properties": { + "appConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" }, - "multiVmGroupName": { - "type": "string", - "description": "The multi vm group name." + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The app consistent snapshot frequency (in minutes)." + }, + "crashConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" }, - "datastoreName": { + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The crash consistent snapshot frequency (in minutes)." + }, + "instanceType": { + "type": "string", + "enum": [ + "InMageAzureV2" + ] + }, + "multiVmSyncStatus": { + "oneOf": [ + { "type": "string", - "description": "The target datastore name." - }, - "diskExclusionInput": { - "oneOf": [ - { - "$ref": "#/definitions/InMageDiskExclusionInput" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The enable disk exclusion input." - }, - "disksToInclude": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The disks to include list." - } - }, - "required": [ - "masterTargetId", - "processServerId", - "retentionDrive", - "multiVmGroupId", - "multiVmGroupName" + "enum": [ + "Enable", + "Disable" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'." + }, + "recoveryPointHistory": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The duration in minutes until which the recovery points need to be stored." + }, + "recoveryPointThresholdInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The recovery point threshold in minutes." + } + }, + "required": [ + "instanceType", + "multiVmSyncStatus" + ], + "description": "VMWare Azure specific policy Input." + }, + "InMageDiskExclusionInput": { + "type": "object", + "properties": { + "diskSignatureOptions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/InMageDiskSignatureExclusionOptions" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The guest disk signature based option for disk exclusion." + }, + "volumeOptions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/InMageVolumeExclusionOptions" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The volume label based option for disk exclusion." + } + }, + "description": "DiskExclusionInput when doing enable protection of virtual machine in InMage provider." + }, + "InMageDiskSignatureExclusionOptions": { + "type": "object", + "properties": { + "diskSignature": { + "type": "string", + "description": "The guest signature of disk to be excluded from replication." + } + }, + "description": "Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider." + }, + "InMageEnableProtectionInput": { + "type": "object", + "properties": { + "datastoreName": { + "type": "string", + "description": "The target data store name." + }, + "diskExclusionInput": { + "oneOf": [ + { + "$ref": "#/definitions/InMageDiskExclusionInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "DiskExclusionInput when doing enable protection of virtual machine in InMage provider." + }, + "disksToInclude": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The disks to include list." + }, + "instanceType": { + "type": "string", + "enum": [ + "InMage" ] + }, + "masterTargetId": { + "type": "string", + "description": "The Master Target Id." + }, + "multiVmGroupId": { + "type": "string", + "description": "The multi vm group Id." + }, + "multiVmGroupName": { + "type": "string", + "description": "The multi vm group name." + }, + "processServerId": { + "type": "string", + "description": "The Process Server Id." + }, + "retentionDrive": { + "type": "string", + "description": "The retention drive to use on the MT." + }, + "runAsAccountId": { + "type": "string", + "description": "The CS account Id." + }, + "vmFriendlyName": { + "type": "string", + "description": "The Vm Name." } + }, + "required": [ + "instanceType", + "masterTargetId", + "multiVmGroupId", + "multiVmGroupName", + "processServerId", + "retentionDrive" ], "description": "VMware Azure specific enable protection input." }, "InMagePolicyInput": { "type": "object", - "allOf": [ - { - "properties": { - "recoveryPointThresholdInMinutes": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The recovery point threshold in minutes." - }, - "recoveryPointHistory": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The duration in minutes until which the recovery points need to be stored." - }, - "appConsistentFrequencyInMinutes": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The app consistent snapshot frequency (in minutes)." - }, - "multiVmSyncStatus": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Enable", - "Disable" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'." - } - }, - "required": [ - "multiVmSyncStatus" + "properties": { + "appConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The app consistent snapshot frequency (in minutes)." + }, + "instanceType": { + "type": "string", + "enum": [ + "InMage" ] + }, + "multiVmSyncStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enable", + "Disable" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'." + }, + "recoveryPointHistory": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The duration in minutes until which the recovery points need to be stored." + }, + "recoveryPointThresholdInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The recovery point threshold in minutes." } + }, + "required": [ + "instanceType", + "multiVmSyncStatus" ], "description": "VMWare Azure specific protection profile Input." }, "InMageVolumeExclusionOptions": { "type": "object", "properties": { + "onlyExcludeIfSingleVolume": { + "type": "string", + "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." + }, "volumeLabel": { "type": "string", "description": "The volume label. The disk having any volume with this label will be excluded from replication." + } + }, + "description": "Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider." + }, + "KeyEncryptionKeyInfo": { + "type": "object", + "properties": { + "keyIdentifier": { + "type": "string", + "description": "The key url / identifier." }, - "onlyExcludeIfSingleVolume": { + "keyVaultResourceArmId": { "type": "string", - "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." + "description": "The KeyVault resource ARM id for key." } }, - "description": "Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider." + "description": "Key Encryption Key (KEK) information." }, "PolicyProviderSpecificInput": { "type": "object", - "allOf": [ + "oneOf": [ { - "properties": { - "instanceType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "A2A", - "PolicyProviderSpecificInput", - "HyperVReplicaAzure", - "HyperVReplica2012R2", - "HyperVReplica2012", - "InMageAzureV2", - "InMage", - "VMwareCbt" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } + "$ref": "#/definitions/A2APolicyCreationInput" }, { - "anyOf": [ - { - "$ref": "#/definitions/A2APolicyCreationInput" - }, - { - "$ref": "#/definitions/HyperVReplicaAzurePolicyInput" - }, - { - "$ref": "#/definitions/HyperVReplicaBluePolicyInput" - }, - { - "$ref": "#/definitions/HyperVReplicaPolicyInput" - }, - { - "$ref": "#/definitions/InMageAzureV2PolicyInput" - }, - { - "$ref": "#/definitions/InMagePolicyInput" - }, - { - "$ref": "#/definitions/VMwareCbtPolicyCreationInput" - } - ] + "$ref": "#/definitions/HyperVReplicaAzurePolicyInput" + }, + { + "$ref": "#/definitions/HyperVReplicaBluePolicyInput" + }, + { + "$ref": "#/definitions/HyperVReplicaPolicyInput" + }, + { + "$ref": "#/definitions/InMageAzureV2PolicyInput" + }, + { + "$ref": "#/definitions/InMagePolicyInput" + }, + { + "$ref": "#/definitions/VMwareCbtPolicyCreationInput" } ], + "properties": {}, "description": "Base class for provider specific input" }, "RecoveryPlanAction": { @@ -1965,34 +1946,16 @@ "type": "string", "description": "The action name." }, - "failoverTypes": { + "customDetails": { "oneOf": [ { - "type": "array", - "items": { - "type": "string", - "enum": [ - "ReverseReplicate", - "Commit", - "PlannedFailover", - "UnplannedFailover", - "DisableProtection", - "TestFailover", - "TestFailoverCleanup", - "Failback", - "FinalizeFailback", - "ChangePit", - "RepairReplication", - "SwitchProtection", - "CompleteMigration" - ] - } + "$ref": "#/definitions/RecoveryPlanActionDetails" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The list of failover types." + "description": "Recovery plan action custom details." }, "failoverDirections": { "oneOf": [ @@ -2012,104 +1975,116 @@ ], "description": "The list of failover directions." }, - "customDetails": { + "failoverTypes": { "oneOf": [ { - "$ref": "#/definitions/RecoveryPlanActionDetails" + "type": "array", + "items": { + "type": "string", + "enum": [ + "ReverseReplicate", + "Commit", + "PlannedFailover", + "UnplannedFailover", + "DisableProtection", + "TestFailover", + "TestFailoverCleanup", + "Failback", + "FinalizeFailback", + "ChangePit", + "RepairReplication", + "SwitchProtection", + "CompleteMigration" + ] + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The custom details." + "description": "The list of failover types." } }, "required": [ "actionName", - "failoverTypes", + "customDetails", "failoverDirections", - "customDetails" + "failoverTypes" ], "description": "Recovery plan action details." }, "RecoveryPlanActionDetails": { "type": "object", - "allOf": [ + "oneOf": [ { - "properties": { - "instanceType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "RecoveryPlanActionDetails", - "AutomationRunbookActionDetails", - "ManualActionDetails", - "ScriptActionDetails" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } + "$ref": "#/definitions/RecoveryPlanAutomationRunbookActionDetails" }, { - "anyOf": [ - { - "$ref": "#/definitions/RecoveryPlanAutomationRunbookActionDetails" - }, - { - "$ref": "#/definitions/RecoveryPlanManualActionDetails" - }, - { - "$ref": "#/definitions/RecoveryPlanScriptActionDetails" - } - ] + "$ref": "#/definitions/RecoveryPlanManualActionDetails" + }, + { + "$ref": "#/definitions/RecoveryPlanScriptActionDetails" } ], + "properties": {}, "description": "Recovery plan action custom details." }, "RecoveryPlanAutomationRunbookActionDetails": { "type": "object", - "allOf": [ - { - "properties": { - "runbookId": { + "properties": { + "fabricLocation": { + "oneOf": [ + { "type": "string", - "description": "The runbook ARM Id." + "enum": [ + "Primary", + "Recovery" + ] }, - "timeout": { - "type": "string", - "description": "The runbook timeout." - }, - "fabricLocation": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Primary", - "Recovery" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The fabric location." - } - }, - "required": [ - "fabricLocation" + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The fabric location." + }, + "instanceType": { + "type": "string", + "enum": [ + "AutomationRunbookActionDetails" ] + }, + "runbookId": { + "type": "string", + "description": "The runbook ARM Id." + }, + "timeout": { + "type": "string", + "description": "The runbook timeout." } + }, + "required": [ + "fabricLocation", + "instanceType" ], "description": "Recovery plan Automation runbook action details." }, "RecoveryPlanGroup": { "type": "object", "properties": { + "endGroupActions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanAction" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The end group actions." + }, "groupType": { "oneOf": [ { @@ -2153,20 +2128,6 @@ } ], "description": "The start group actions." - }, - "endGroupActions": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/RecoveryPlanAction" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The end group actions." } }, "required": [ @@ -2176,15 +2137,20 @@ }, "RecoveryPlanManualActionDetails": { "type": "object", - "allOf": [ - { - "properties": { - "description": { - "type": "string", - "description": "The manual action description." - } - } + "properties": { + "description": { + "type": "string", + "description": "The manual action description." + }, + "instanceType": { + "type": "string", + "enum": [ + "ManualActionDetails" + ] } + }, + "required": [ + "instanceType" ], "description": "Recovery plan manual action details." }, @@ -2204,38 +2170,41 @@ }, "RecoveryPlanScriptActionDetails": { "type": "object", - "allOf": [ - { - "properties": { - "path": { + "properties": { + "fabricLocation": { + "oneOf": [ + { "type": "string", - "description": "The script path." + "enum": [ + "Primary", + "Recovery" + ] }, - "timeout": { - "type": "string", - "description": "The script timeout." - }, - "fabricLocation": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Primary", - "Recovery" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The fabric location." - } - }, - "required": [ - "path", - "fabricLocation" + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The fabric location." + }, + "instanceType": { + "type": "string", + "enum": [ + "ScriptActionDetails" ] + }, + "path": { + "type": "string", + "description": "The script path." + }, + "timeout": { + "type": "string", + "description": "The script timeout." } + }, + "required": [ + "fabricLocation", + "instanceType", + "path" ], "description": "Recovery plan script action details." }, @@ -2243,158 +2212,41 @@ "type": "object", "oneOf": [ { - "allOf": [ - { - "$ref": "#/definitions/A2AContainerCreationInput" - } - ], - "properties": { - "instanceType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "A2A" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "properties": { - "instanceType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "ReplicationProviderSpecificContainerCreationInput" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } + "$ref": "#/definitions/A2AContainerCreationInput" }, { - "allOf": [ - { - "$ref": "#/definitions/VMwareCbtContainerCreationInput" - } - ], - "properties": { - "instanceType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "6c7da455-506f-43ff-a16a-8eb101aebb70" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } + "$ref": "#/definitions/VMwareCbtContainerCreationInput" } ], - "properties": { - "instanceType": { - "type": "string" - } - }, - "required": [ - "instanceType" - ], + "properties": {}, "description": "Provider specific input for container creation operation." }, "ReplicationProviderSpecificContainerMappingInput": { "type": "object", "oneOf": [ { - "allOf": [ - { - "$ref": "#/definitions/A2AContainerMappingInput" - } - ], - "properties": { - "instanceType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "A2A" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - }, - { - "properties": { - "instanceType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "ReplicationProviderSpecificContainerMappingInput" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } + "$ref": "#/definitions/A2AContainerMappingInput" }, { - "allOf": [ - { - "$ref": "#/definitions/VMwareCbtContainerMappingInput" - } - ], - "properties": { - "instanceType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "VMwareCbt" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } + "$ref": "#/definitions/VMwareCbtContainerMappingInput" } ], + "properties": {}, + "description": "Provider specific input for pairing operations." + }, + "SanEnableProtectionInput": { + "type": "object", "properties": { "instanceType": { "type": "string", - "description": "The class type." + "enum": [ + "San" + ] } }, "required": [ "instanceType" ], - "description": "Provider specific input for pairing operations." - }, - "SanEnableProtectionInput": { - "type": "object", - "allOf": [ - {} - ], "description": "San enable protection provider specific input." }, "StorageMappingInputProperties": { @@ -2410,21 +2262,16 @@ "vaults_replicationFabrics_replicationProtectionContainers_childResource": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "replicationProtectionContainers" - ] - }, "apiVersion": { "type": "string", "enum": [ "2018-01-10" ] }, + "name": { + "type": "string", + "description": "Unique protection container ARM name." + }, "properties": { "oneOf": [ { @@ -2436,49 +2283,34 @@ ], "description": "Create protection container input properties." }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/vaults_replicationFabrics_replicationProtectionContainers_replicationProtectionContainerMappings_childResource" - }, - { - "$ref": "#/definitions/vaults_replicationFabrics_replicationProtectionContainers_replicationProtectedItems_childResource" - }, - { - "$ref": "#/definitions/vaults_replicationFabrics_replicationProtectionContainers_replicationMigrationItems_childResource" - } - ] - } + "type": { + "type": "string", + "enum": [ + "replicationProtectionContainers" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers" }, "vaults_replicationFabrics_replicationProtectionContainers_replicationMigrationItems_childResource": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "replicationMigrationItems" - ] - }, + "type": "object", + "properties": { "apiVersion": { "type": "string", "enum": [ "2018-01-10" ] }, + "name": { + "type": "string", + "description": "Migration item name." + }, "properties": { "oneOf": [ { @@ -2489,34 +2321,35 @@ } ], "description": "Enable migration input properties." + }, + "type": { + "type": "string", + "enum": [ + "replicationMigrationItems" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems" }, "vaults_replicationFabrics_replicationProtectionContainers_replicationProtectedItems_childResource": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "replicationProtectedItems" - ] - }, "apiVersion": { "type": "string", "enum": [ "2018-01-10" ] }, + "name": { + "type": "string", + "description": "A name for the replication protected item." + }, "properties": { "oneOf": [ { @@ -2527,34 +2360,35 @@ } ], "description": "Enable protection input properties." + }, + "type": { + "type": "string", + "enum": [ + "replicationProtectedItems" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems" }, "vaults_replicationFabrics_replicationProtectionContainers_replicationProtectionContainerMappings_childResource": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "replicationProtectionContainerMappings" - ] - }, "apiVersion": { "type": "string", "enum": [ "2018-01-10" ] }, + "name": { + "type": "string", + "description": "Protection container mapping name." + }, "properties": { "oneOf": [ { @@ -2564,35 +2398,36 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Configure protection input properties." + "description": "Configure pairing input properties." + }, + "type": { + "type": "string", + "enum": [ + "replicationProtectionContainerMappings" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings" }, "vaults_replicationFabrics_replicationRecoveryServicesProviders_childResource": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "replicationRecoveryServicesProviders" - ] - }, "apiVersion": { "type": "string", "enum": [ "2018-01-10" ] }, + "name": { + "type": "string", + "description": "Recovery services provider name." + }, "properties": { "oneOf": [ { @@ -2603,34 +2438,35 @@ } ], "description": "The properties of an add provider request." + }, + "type": { + "type": "string", + "enum": [ + "replicationRecoveryServicesProviders" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders" }, "vaults_replicationFabrics_replicationvCenters_childResource": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "replicationvCenters" - ] - }, "apiVersion": { "type": "string", "enum": [ "2018-01-10" ] }, + "name": { + "type": "string", + "description": "vCenter name." + }, "properties": { "oneOf": [ { @@ -2641,54 +2477,60 @@ } ], "description": "The properties of an add vCenter request." + }, + "type": { + "type": "string", + "enum": [ + "replicationvCenters" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters" }, "VmmToAzureCreateNetworkMappingInput": { "type": "object", - "allOf": [ - {} + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "VmmToAzure" + ] + } + }, + "required": [ + "instanceType" ], - "description": "Create network mappings input properties/behaviour specific to Vmm to Azure Network mapping." + "description": "Create network mappings input properties/behavior specific to Vmm to Azure Network mapping." }, "VmmToVmmCreateNetworkMappingInput": { "type": "object", - "allOf": [ - {} + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "VmmToVmm" + ] + } + }, + "required": [ + "instanceType" ], - "description": "Create network mappings input properties/behaviour specific to vmm to vmm Network mapping." + "description": "Create network mappings input properties/behavior specific to vmm to vmm Network mapping." }, "VMwareCbtContainerCreationInput": { "type": "object", - "oneOf": [ - { - "properties": { - "instanceType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "6c7da455-506f-43ff-a16a-8eb101aebb70" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], "properties": { "instanceType": { - "type": "string" + "type": "string", + "enum": [ + "VMwareCbt" + ] } }, "required": [ @@ -2698,26 +2540,13 @@ }, "VMwareCbtContainerMappingInput": { "type": "object", - "oneOf": [ - { - "properties": { - "instanceType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "VMwareCbt" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], "properties": { + "instanceType": { + "type": "string", + "enum": [ + "VMwareCbt" + ] + }, "keyVaultId": { "type": "string", "description": "The target key vault ARM Id." @@ -2726,6 +2555,10 @@ "type": "string", "description": "The target key vault URL." }, + "serviceBusConnectionStringSecretName": { + "type": "string", + "description": "The secret name of the service bus connection string." + }, "storageAccountId": { "type": "string", "description": "The storage account ARM Id." @@ -2734,47 +2567,32 @@ "type": "string", "description": "The secret name of the storage account." }, - "serviceBusConnectionStringSecretName": { - "type": "string", - "description": "The secret name of the service bus connection string." - }, "targetLocation": { "type": "string", "description": "The target location." - }, - "instanceType": { - "type": "string" } }, "required": [ + "instanceType", "keyVaultId", "keyVaultUri", + "serviceBusConnectionStringSecretName", "storageAccountId", "storageAccountSasSecretName", - "serviceBusConnectionStringSecretName", - "targetLocation", - "instanceType" + "targetLocation" ], "description": "VMwareCbt container mapping input." }, "VMwareCbtDiskInput": { "type": "object", "properties": { - "diskId": { - "type": "string", - "description": "The disk Id." - }, - "isOSDisk": { - "type": "string", - "description": "A value indicating whether the disk is the OS disk." - }, - "logStorageAccountId": { + "diskEncryptionSetId": { "type": "string", - "description": "The log storage account ARM Id." + "description": "The DiskEncryptionSet ARM Id." }, - "logStorageAccountSasSecretName": { + "diskId": { "type": "string", - "description": "The key vault secret name of the log storage account." + "description": "The disk Id." }, "diskType": { "oneOf": [ @@ -2791,6 +2609,18 @@ } ], "description": "The disk type." + }, + "isOSDisk": { + "type": "string", + "description": "A value indicating whether the disk is the OS disk." + }, + "logStorageAccountId": { + "type": "string", + "description": "The log storage account ARM Id." + }, + "logStorageAccountSasSecretName": { + "type": "string", + "description": "The key vault secret name of the log storage account." } }, "required": [ @@ -2803,29 +2633,10 @@ }, "VMwareCbtEnableMigrationInput": { "type": "object", - "oneOf": [ - { - "properties": { - "instanceType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "VMwareCbt" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], "properties": { - "vmwareMachineId": { + "dataMoverRunAsAccountId": { "type": "string", - "description": "The ARM Id of the VM discovered in VMware." + "description": "The data mover RunAs account Id." }, "disksToInclude": { "oneOf": [ @@ -2841,6 +2652,12 @@ ], "description": "The disks to include list." }, + "instanceType": { + "type": "string", + "enum": [ + "VMwareCbt" + ] + }, "licenseType": { "oneOf": [ { @@ -2857,80 +2674,66 @@ ], "description": "License type." }, - "dataMoverRunAsAccountId": { + "performAutoResync": { "type": "string", - "description": "The data mover runas account Id." + "description": "A value indicating whether auto resync is to be done." }, "snapshotRunAsAccountId": { "type": "string", - "description": "The snapshot runas account Id." + "description": "The snapshot RunAs account Id." }, - "targetVmName": { + "targetAvailabilitySetId": { "type": "string", - "description": "The target VM name." + "description": "The target availability set ARM Id." }, - "targetVmSize": { + "targetAvailabilityZone": { "type": "string", - "description": "The target VM size." + "description": "The target availability zone." }, - "targetResourceGroupId": { + "targetBootDiagnosticsStorageAccountId": { "type": "string", - "description": "The target resource group ARM Id." + "description": "The target boot diagnostics storage account ARM Id." }, "targetNetworkId": { "type": "string", "description": "The target network ARM Id." }, + "targetResourceGroupId": { + "type": "string", + "description": "The target resource group ARM Id." + }, "targetSubnetName": { "type": "string", "description": "The target subnet name." }, - "targetAvailabilitySetId": { + "targetVmName": { "type": "string", - "description": "The target availability set ARM Id." + "description": "The target VM name." }, - "targetBootDiagnosticsStorageAccountId": { + "targetVmSize": { "type": "string", - "description": "The target boot diagnostics storage account ARM Id." + "description": "The target VM size." }, - "instanceType": { - "type": "string" + "vmwareMachineId": { + "type": "string", + "description": "The ARM Id of the VM discovered in VMware." } }, "required": [ - "vmwareMachineId", - "disksToInclude", "dataMoverRunAsAccountId", + "disksToInclude", + "instanceType", "snapshotRunAsAccountId", - "targetResourceGroupId", "targetNetworkId", - "instanceType" + "targetResourceGroupId", + "vmwareMachineId" ], "description": "VMwareCbt specific enable migration input." }, "VMwareCbtPolicyCreationInput": { "type": "object", - "oneOf": [ - { - "properties": { - "instanceType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "VMwareCbt" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], "properties": { - "recoveryPointHistoryInMinutes": { + "appConsistentFrequencyInMinutes": { "oneOf": [ { "type": "integer" @@ -2939,7 +2742,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The duration in minutes until which the recovery points need to be stored." + "description": "The app consistent snapshot frequency (in minutes)." }, "crashConsistentFrequencyInMinutes": { "oneOf": [ @@ -2952,7 +2755,13 @@ ], "description": "The crash consistent snapshot frequency (in minutes)." }, - "appConsistentFrequencyInMinutes": { + "instanceType": { + "type": "string", + "enum": [ + "VMwareCbt" + ] + }, + "recoveryPointHistoryInMinutes": { "oneOf": [ { "type": "integer" @@ -2961,10 +2770,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The app consistent snapshot frequency (in minutes)." - }, - "instanceType": { - "type": "string" + "description": "The duration in minutes until which the recovery points need to be stored." } }, "required": [ @@ -2974,44 +2780,31 @@ }, "VMwareV2FabricCreationInput": { "type": "object", - "oneOf": [ - { - "properties": { - "instanceType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "VMwareV2" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } - } - ], "properties": { - "vmwareSiteId": { + "instanceType": { "type": "string", - "description": "The ARM Id of the VMware site." + "enum": [ + "VMwareV2" + ] }, "migrationSolutionId": { "type": "string", "description": "The ARM Id of the migration solution." }, - "instanceType": { - "type": "string" + "physicalSiteId": { + "type": "string", + "description": "The ARM Id of the physical site." + }, + "vmwareSiteId": { + "type": "string", + "description": "The ARM Id of the VMware site." } }, "required": [ - "vmwareSiteId", - "migrationSolutionId", - "instanceType" + "instanceType", + "migrationSolutionId" ], "description": "VMwareV2 fabric provider specific settings." } } -} +} \ No newline at end of file diff --git a/schemas/2018-07-10/Microsoft.RecoveryServices.json b/schemas/2018-07-10/Microsoft.RecoveryServices.json new file mode 100644 index 0000000000..68ba479103 --- /dev/null +++ b/schemas/2018-07-10/Microsoft.RecoveryServices.json @@ -0,0 +1,3885 @@ +{ + "id": "https://schema.management.azure.com/schemas/2018-07-10/Microsoft.RecoveryServices.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.RecoveryServices", + "description": "Microsoft RecoveryServices Resource Types", + "resourceDefinitions": { + "vaults_replicationAlertSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-10" + ] + }, + "name": { + "type": "string", + "description": "The name of the email notification(alert) configuration." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConfigureAlertRequestProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a configure alert request." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationAlertSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationAlertSettings" + }, + "vaults_replicationFabrics": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-10" + ] + }, + "name": { + "type": "string", + "description": "Name of the ASR fabric." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/FabricCreationInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of site details provided during the time of site creation" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/vaults_replicationFabrics_replicationProtectionContainers_childResource" + }, + { + "$ref": "#/definitions/vaults_replicationFabrics_replicationRecoveryServicesProviders_childResource" + }, + { + "$ref": "#/definitions/vaults_replicationFabrics_replicationvCenters_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationFabrics" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics" + }, + "vaults_replicationFabrics_replicationNetworks_replicationNetworkMappings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-10" + ] + }, + "name": { + "type": "string", + "description": "Network mapping name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CreateNetworkMappingInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Common input details for network mapping operation." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings" + }, + "vaults_replicationFabrics_replicationProtectionContainers": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-10" + ] + }, + "name": { + "type": "string", + "description": "Unique protection container ARM name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CreateProtectionContainerInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Create protection container input properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/vaults_replicationFabrics_replicationProtectionContainers_replicationMigrationItems_childResource" + }, + { + "$ref": "#/definitions/vaults_replicationFabrics_replicationProtectionContainers_replicationProtectedItems_childResource" + }, + { + "$ref": "#/definitions/vaults_replicationFabrics_replicationProtectionContainers_replicationProtectionContainerMappings_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers" + }, + "vaults_replicationFabrics_replicationProtectionContainers_replicationMigrationItems": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-10" + ] + }, + "name": { + "type": "string", + "description": "Migration item name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EnableMigrationInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable migration input properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems" + }, + "vaults_replicationFabrics_replicationProtectionContainers_replicationProtectedItems": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-10" + ] + }, + "name": { + "type": "string", + "description": "A name for the replication protected item." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EnableProtectionInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable protection input properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems" + }, + "vaults_replicationFabrics_replicationProtectionContainers_replicationProtectionContainerMappings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-10" + ] + }, + "name": { + "type": "string", + "description": "Protection container mapping name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CreateProtectionContainerMappingInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configure pairing input properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings" + }, + "vaults_replicationFabrics_replicationRecoveryServicesProviders": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-10" + ] + }, + "name": { + "type": "string", + "description": "Recovery services provider name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AddRecoveryServicesProviderInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of an add provider request." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders" + }, + "vaults_replicationFabrics_replicationStorageClassifications_replicationStorageClassificationMappings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-10" + ] + }, + "name": { + "type": "string", + "description": "Storage classification mapping name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/StorageMappingInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage mapping input properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings" + }, + "vaults_replicationFabrics_replicationvCenters": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-10" + ] + }, + "name": { + "type": "string", + "description": "vCenter name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AddVCenterRequestProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of an add vCenter request." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters" + }, + "vaults_replicationPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-10" + ] + }, + "name": { + "type": "string", + "description": "Replication policy name" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CreatePolicyInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy creation properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationPolicies" + }, + "vaults_replicationProtectionIntents": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-10" + ] + }, + "name": { + "type": "string", + "description": "A name for the replication protection item." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CreateProtectionIntentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Create protection intent input properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationProtectionIntents" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationProtectionIntents" + }, + "vaults_replicationRecoveryPlans": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-10" + ] + }, + "name": { + "type": "string", + "description": "Recovery plan name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CreateRecoveryPlanInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Recovery plan creation properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans" + }, + "vaults_replicationVaultSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-10" + ] + }, + "name": { + "type": "string", + "description": "Vault setting name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VaultSettingCreationInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input to create vault setting." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.RecoveryServices/vaults/replicationVaultSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationVaultSettings" + } + }, + "definitions": { + "A2AContainerCreationInput": { + "type": "object", + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "A2A" + ] + } + }, + "required": [ + "instanceType" + ], + "description": "A2A cloud creation input." + }, + "A2AContainerMappingInput": { + "type": "object", + "properties": { + "agentAutoUpdateStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating whether the auto update is enabled." + }, + "automationAccountArmId": { + "type": "string", + "description": "The automation account arm id." + }, + "instanceType": { + "type": "string", + "enum": [ + "A2A" + ] + } + }, + "required": [ + "instanceType" + ], + "description": "A2A container mapping input." + }, + "A2ACreateProtectionIntentInput": { + "type": "object", + "properties": { + "autoProtectionOfDataDisk": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating whether the auto protection is enabled." + }, + "diskEncryptionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/DiskEncryptionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Recovery disk encryption info (BEK and KEK)." + }, + "fabricObjectId": { + "type": "string", + "description": "The fabric specific object Id of the virtual machine." + }, + "instanceType": { + "type": "string", + "enum": [ + "A2A" + ] + }, + "multiVmGroupId": { + "type": "string", + "description": "The multi vm group id." + }, + "multiVmGroupName": { + "type": "string", + "description": "The multi vm group name." + }, + "primaryLocation": { + "type": "string", + "description": "The primary location for the virtual machine." + }, + "primaryStagingStorageAccountCustomInput": { + "oneOf": [ + { + "$ref": "#/definitions/StorageAccountCustomDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage account custom input." + }, + "protectionProfileCustomInput": { + "oneOf": [ + { + "$ref": "#/definitions/ProtectionProfileCustomDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Protection Profile custom input." + }, + "recoveryAvailabilitySetCustomInput": { + "oneOf": [ + { + "$ref": "#/definitions/RecoveryAvailabilitySetCustomDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Recovery Availability Set custom input." + }, + "recoveryAvailabilityType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Single", + "AvailabilitySet", + "AvailabilityZone" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The recovery availability type of the virtual machine." + }, + "recoveryAvailabilityZone": { + "type": "string", + "description": "The recovery availability zone." + }, + "recoveryBootDiagStorageAccount": { + "oneOf": [ + { + "$ref": "#/definitions/StorageAccountCustomDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage account custom input." + }, + "recoveryLocation": { + "type": "string", + "description": "The recovery location for the virtual machine." + }, + "recoveryProximityPlacementGroupCustomInput": { + "oneOf": [ + { + "$ref": "#/definitions/RecoveryProximityPlacementGroupCustomDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Recovery Proximity placement group custom input." + }, + "recoveryResourceGroupId": { + "type": "string", + "description": "The recovery resource group Id. Valid for V2 scenarios." + }, + "recoverySubscriptionId": { + "type": "string", + "description": "The recovery subscription Id of the virtual machine." + }, + "recoveryVirtualNetworkCustomInput": { + "oneOf": [ + { + "$ref": "#/definitions/RecoveryVirtualNetworkCustomDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Recovery Virtual network custom input." + }, + "vmDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/A2AProtectionIntentDiskInputDetails" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of vm disk inputs." + }, + "vmManagedDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/A2AProtectionIntentManagedDiskInputDetails" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of vm managed disk inputs." + } + }, + "required": [ + "fabricObjectId", + "instanceType", + "primaryLocation", + "recoveryAvailabilityType", + "recoveryLocation", + "recoveryResourceGroupId", + "recoverySubscriptionId" + ], + "description": "A2A create protection intent input." + }, + "A2AEnableProtectionInput": { + "type": "object", + "properties": { + "diskEncryptionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/DiskEncryptionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Recovery disk encryption info (BEK and KEK)." + }, + "fabricObjectId": { + "type": "string", + "description": "The fabric specific object Id of the virtual machine." + }, + "instanceType": { + "type": "string", + "enum": [ + "A2A" + ] + }, + "multiVmGroupName": { + "type": "string", + "description": "The multi vm group name." + }, + "recoveryAvailabilitySetId": { + "type": "string", + "description": "The recovery availability set Id." + }, + "recoveryAvailabilityZone": { + "type": "string", + "description": "The recovery availability zone." + }, + "recoveryAzureNetworkId": { + "type": "string", + "description": "The recovery Azure virtual network ARM id." + }, + "recoveryBootDiagStorageAccountId": { + "type": "string", + "description": "The boot diagnostic storage account." + }, + "recoveryCloudServiceId": { + "type": "string", + "description": "The recovery cloud service Id. Valid for V1 scenarios." + }, + "recoveryContainerId": { + "type": "string", + "description": "The recovery container Id." + }, + "recoveryProximityPlacementGroupId": { + "type": "string", + "description": "The recovery proximity placement group Id." + }, + "recoveryResourceGroupId": { + "type": "string", + "description": "The recovery resource group Id. Valid for V2 scenarios." + }, + "recoverySubnetName": { + "type": "string", + "description": "The recovery subnet name." + }, + "vmDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmDiskInputDetails" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of vm disk details." + }, + "vmManagedDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmManagedDiskInputDetails" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of vm managed disk details." + } + }, + "required": [ + "instanceType" + ], + "description": "A2A enable protection input." + }, + "A2APolicyCreationInput": { + "type": "object", + "properties": { + "appConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The app consistent snapshot frequency (in minutes)." + }, + "crashConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The crash consistent snapshot frequency (in minutes)." + }, + "instanceType": { + "type": "string", + "enum": [ + "A2A" + ] + }, + "multiVmSyncStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enable", + "Disable" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'." + }, + "recoveryPointHistory": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The duration in minutes until which the recovery points need to be stored." + } + }, + "required": [ + "instanceType", + "multiVmSyncStatus" + ], + "description": "A2A Policy creation input." + }, + "A2AProtectionIntentDiskInputDetails": { + "type": "object", + "properties": { + "diskUri": { + "type": "string", + "description": "The disk Uri." + }, + "primaryStagingStorageAccountCustomInput": { + "oneOf": [ + { + "$ref": "#/definitions/StorageAccountCustomDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage account custom input." + }, + "recoveryAzureStorageAccountCustomInput": { + "oneOf": [ + { + "$ref": "#/definitions/StorageAccountCustomDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage account custom input." + } + }, + "required": [ + "diskUri" + ], + "description": "Azure VM disk input details." + }, + "A2AProtectionIntentManagedDiskInputDetails": { + "type": "object", + "properties": { + "diskEncryptionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/DiskEncryptionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Recovery disk encryption info (BEK and KEK)." + }, + "diskId": { + "type": "string", + "description": "The disk Id." + }, + "primaryStagingStorageAccountCustomInput": { + "oneOf": [ + { + "$ref": "#/definitions/StorageAccountCustomDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage account custom input." + }, + "recoveryDiskEncryptionSetId": { + "type": "string", + "description": "The recovery disk encryption set Id." + }, + "recoveryReplicaDiskAccountType": { + "type": "string", + "description": "The replica disk type. Its an optional value and will be same as source disk type if not user provided." + }, + "recoveryResourceGroupCustomInput": { + "oneOf": [ + { + "$ref": "#/definitions/RecoveryResourceGroupCustomDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Recovery Resource Group custom input." + }, + "recoveryTargetDiskAccountType": { + "type": "string", + "description": "The target disk type after failover. Its an optional value and will be same as source disk type if not user provided." + } + }, + "required": [ + "diskId" + ], + "description": "Azure VM managed disk input details." + }, + "A2AVmDiskInputDetails": { + "type": "object", + "properties": { + "diskUri": { + "type": "string", + "description": "The disk Uri." + }, + "primaryStagingAzureStorageAccountId": { + "type": "string", + "description": "The primary staging storage account Id." + }, + "recoveryAzureStorageAccountId": { + "type": "string", + "description": "The recovery VHD storage account Id." + } + }, + "description": "Azure VM disk input details." + }, + "A2AVmManagedDiskInputDetails": { + "type": "object", + "properties": { + "diskEncryptionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/DiskEncryptionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Recovery disk encryption info (BEK and KEK)." + }, + "diskId": { + "type": "string", + "description": "The disk Id." + }, + "primaryStagingAzureStorageAccountId": { + "type": "string", + "description": "The primary staging storage account Arm Id." + }, + "recoveryDiskEncryptionSetId": { + "type": "string", + "description": "The recovery disk encryption set Id." + }, + "recoveryReplicaDiskAccountType": { + "type": "string", + "description": "The replica disk type. Its an optional value and will be same as source disk type if not user provided." + }, + "recoveryResourceGroupId": { + "type": "string", + "description": "The target resource group Arm Id." + }, + "recoveryTargetDiskAccountType": { + "type": "string", + "description": "The target disk type after failover. Its an optional value and will be same as source disk type if not user provided." + } + }, + "description": "Azure VM managed disk input details." + }, + "AddRecoveryServicesProviderInputProperties": { + "type": "object", + "properties": { + "authenticationIdentityInput": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityProviderInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity provider input." + }, + "dataPlaneAuthenticationIdentityInput": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityProviderInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity provider input." + }, + "machineId": { + "type": "string", + "description": "The Id of the machine where the provider is getting added." + }, + "machineName": { + "type": "string", + "description": "The name of the machine where the provider is getting added." + }, + "resourceAccessIdentityInput": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityProviderInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity provider input." + } + }, + "required": [ + "authenticationIdentityInput", + "machineName", + "resourceAccessIdentityInput" + ], + "description": "The properties of an add provider request." + }, + "AddVCenterRequestProperties": { + "type": "object", + "properties": { + "friendlyName": { + "type": "string", + "description": "The friendly name of the vCenter." + }, + "ipAddress": { + "type": "string", + "description": "The IP address of the vCenter to be discovered." + }, + "port": { + "type": "string", + "description": "The port number for discovery." + }, + "processServerId": { + "type": "string", + "description": "The process server Id from where the discovery is orchestrated." + }, + "runAsAccountId": { + "type": "string", + "description": "The account Id which has privileges to discover the vCenter." + } + }, + "description": "The properties of an add vCenter request." + }, + "AzureFabricCreationInput": { + "type": "object", + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "Azure" + ] + }, + "location": { + "type": "string", + "description": "The Location." + } + }, + "required": [ + "instanceType" + ], + "description": "Fabric provider specific settings." + }, + "AzureToAzureCreateNetworkMappingInput": { + "type": "object", + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "AzureToAzure" + ] + }, + "primaryNetworkId": { + "type": "string", + "description": "The primary azure vnet Id." + } + }, + "required": [ + "instanceType" + ], + "description": "Create network mappings input properties/behavior specific to Azure to Azure Network mapping." + }, + "ConfigureAlertRequestProperties": { + "type": "object", + "properties": { + "customEmailAddresses": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The custom email address for sending emails." + }, + "locale": { + "type": "string", + "description": "The locale for the email notification." + }, + "sendToOwners": { + "type": "string", + "description": "A value indicating whether to send email to subscription administrator." + } + }, + "description": "Properties of a configure alert request." + }, + "CreateNetworkMappingInputProperties": { + "type": "object", + "properties": { + "fabricSpecificDetails": { + "oneOf": [ + { + "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input details specific to fabrics during Network Mapping." + }, + "recoveryFabricName": { + "type": "string", + "description": "Recovery fabric Name." + }, + "recoveryNetworkId": { + "type": "string", + "description": "Recovery network Id." + } + }, + "description": "Common input details for network mapping operation." + }, + "CreatePolicyInputProperties": { + "type": "object", + "properties": { + "providerSpecificInput": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for provider specific input" + } + }, + "description": "Policy creation properties." + }, + "CreateProtectionContainerInputProperties": { + "type": "object", + "properties": { + "providerSpecificInput": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Provider specific inputs for container creation." + } + }, + "description": "Create protection container input properties." + }, + "CreateProtectionContainerMappingInputProperties": { + "type": "object", + "properties": { + "policyId": { + "type": "string", + "description": "Applicable policy." + }, + "providerSpecificInput": { + "oneOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificContainerMappingInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Provider specific input for pairing operations." + }, + "targetProtectionContainerId": { + "type": "string", + "description": "The target unique protection container name." + } + }, + "description": "Configure pairing input properties." + }, + "CreateProtectionIntentProperties": { + "type": "object", + "properties": { + "providerSpecificDetails": { + "oneOf": [ + { + "$ref": "#/definitions/CreateProtectionIntentProviderSpecificDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Create protection intent provider specific input." + } + }, + "description": "Create protection intent input properties." + }, + "CreateProtectionIntentProviderSpecificDetails": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/A2ACreateProtectionIntentInput" + } + ], + "properties": {}, + "description": "Create protection intent provider specific input." + }, + "CreateRecoveryPlanInputProperties": { + "type": "object", + "properties": { + "failoverDeploymentModel": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotApplicable", + "Classic", + "ResourceManager" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The failover deployment model." + }, + "groups": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanGroup" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The recovery plan groups." + }, + "primaryFabricId": { + "type": "string", + "description": "The primary fabric Id." + }, + "providerSpecificInput": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanProviderSpecificInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The provider specific input." + }, + "recoveryFabricId": { + "type": "string", + "description": "The recovery fabric Id." + } + }, + "required": [ + "groups", + "primaryFabricId", + "recoveryFabricId" + ], + "description": "Recovery plan creation properties." + }, + "DiskEncryptionInfo": { + "type": "object", + "properties": { + "diskEncryptionKeyInfo": { + "oneOf": [ + { + "$ref": "#/definitions/DiskEncryptionKeyInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disk Encryption Key Information (BitLocker Encryption Key (BEK) on Windows)." + }, + "keyEncryptionKeyInfo": { + "oneOf": [ + { + "$ref": "#/definitions/KeyEncryptionKeyInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Key Encryption Key (KEK) information." + } + }, + "description": "Recovery disk encryption info (BEK and KEK)." + }, + "DiskEncryptionKeyInfo": { + "type": "object", + "properties": { + "keyVaultResourceArmId": { + "type": "string", + "description": "The KeyVault resource ARM Id for secret." + }, + "secretIdentifier": { + "type": "string", + "description": "The secret URL / identifier." + } + }, + "description": "Disk Encryption Key Information (BitLocker Encryption Key (BEK) on Windows)." + }, + "EnableMigrationInputProperties": { + "type": "object", + "properties": { + "policyId": { + "type": "string", + "description": "The policy Id." + }, + "providerSpecificDetails": { + "oneOf": [ + { + "$ref": "#/definitions/EnableMigrationProviderSpecificInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable migration provider specific input." + } + }, + "required": [ + "policyId", + "providerSpecificDetails" + ], + "description": "Enable migration input properties." + }, + "EnableMigrationProviderSpecificInput": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/VMwareCbtEnableMigrationInput" + } + ], + "properties": {}, + "description": "Enable migration provider specific input." + }, + "EnableProtectionInputProperties": { + "type": "object", + "properties": { + "policyId": { + "type": "string", + "description": "The Policy Id." + }, + "protectableItemId": { + "type": "string", + "description": "The protectable item Id." + }, + "providerSpecificDetails": { + "oneOf": [ + { + "$ref": "#/definitions/EnableProtectionProviderSpecificInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable protection provider specific input." + } + }, + "description": "Enable protection input properties." + }, + "EnableProtectionProviderSpecificInput": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/A2AEnableProtectionInput" + }, + { + "$ref": "#/definitions/HyperVReplicaAzureEnableProtectionInput" + }, + { + "$ref": "#/definitions/InMageAzureV2EnableProtectionInput" + }, + { + "$ref": "#/definitions/InMageEnableProtectionInput" + }, + { + "$ref": "#/definitions/InMageRcmEnableProtectionInput" + }, + { + "$ref": "#/definitions/SanEnableProtectionInput" + } + ], + "properties": {}, + "description": "Enable protection provider specific input." + }, + "ExistingProtectionProfile": { + "type": "object", + "properties": { + "protectionProfileId": { + "type": "string", + "description": "The protection profile Arm Id. Throw error, if resource does not exists." + }, + "resourceType": { + "type": "string", + "enum": [ + "Existing" + ] + } + }, + "required": [ + "protectionProfileId", + "resourceType" + ], + "description": "Existing storage account input." + }, + "ExistingRecoveryAvailabilitySet": { + "type": "object", + "properties": { + "recoveryAvailabilitySetId": { + "type": "string", + "description": "The recovery availability set Id. Will throw error, if resource does not exist." + }, + "resourceType": { + "type": "string", + "enum": [ + "Existing" + ] + } + }, + "required": [ + "resourceType" + ], + "description": "Existing recovery availability set input." + }, + "ExistingRecoveryProximityPlacementGroup": { + "type": "object", + "properties": { + "recoveryProximityPlacementGroupId": { + "type": "string", + "description": "The recovery proximity placement group Id. Will throw error, if resource does not exist." + }, + "resourceType": { + "type": "string", + "enum": [ + "Existing" + ] + } + }, + "required": [ + "resourceType" + ], + "description": "Existing recovery proximity placement group input." + }, + "ExistingRecoveryRecoveryResourceGroup": { + "type": "object", + "properties": { + "recoveryResourceGroupId": { + "type": "string", + "description": "The recovery resource group Id. Valid for V2 scenarios." + }, + "resourceType": { + "type": "string", + "enum": [ + "Existing" + ] + } + }, + "required": [ + "resourceType" + ], + "description": "Existing recovery resource group input." + }, + "ExistingRecoveryVirtualNetwork": { + "type": "object", + "properties": { + "recoverySubnetName": { + "type": "string", + "description": "The recovery subnet name." + }, + "recoveryVirtualNetworkId": { + "type": "string", + "description": "The recovery virtual network Id. Will throw error, if resource does not exist." + }, + "resourceType": { + "type": "string", + "enum": [ + "Existing" + ] + } + }, + "required": [ + "recoveryVirtualNetworkId", + "resourceType" + ], + "description": "Existing recovery virtual network input." + }, + "ExistingStorageAccount": { + "type": "object", + "properties": { + "azureStorageAccountId": { + "type": "string", + "description": "The storage account Arm Id. Throw error, if resource does not exists." + }, + "resourceType": { + "type": "string", + "enum": [ + "Existing" + ] + } + }, + "required": [ + "azureStorageAccountId", + "resourceType" + ], + "description": "Existing storage account input." + }, + "FabricCreationInputProperties": { + "type": "object", + "properties": { + "customDetails": { + "oneOf": [ + { + "$ref": "#/definitions/FabricSpecificCreationInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Fabric provider specific settings." + } + }, + "description": "Properties of site details provided during the time of site creation" + }, + "FabricSpecificCreateNetworkMappingInput": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AzureToAzureCreateNetworkMappingInput" + }, + { + "$ref": "#/definitions/VmmToAzureCreateNetworkMappingInput" + }, + { + "$ref": "#/definitions/VmmToVmmCreateNetworkMappingInput" + } + ], + "properties": {}, + "description": "Input details specific to fabrics during Network Mapping." + }, + "FabricSpecificCreationInput": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/AzureFabricCreationInput" + }, + { + "$ref": "#/definitions/InMageRcmFabricCreationInput" + }, + { + "$ref": "#/definitions/VMwareV2FabricCreationInput" + } + ], + "properties": {}, + "description": "Fabric provider specific settings." + }, + "HyperVReplicaAzureEnableProtectionInput": { + "type": "object", + "properties": { + "disksToInclude": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of VHD IDs of disks to be protected." + }, + "enableRdpOnTargetOption": { + "type": "string", + "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum." + }, + "hvHostVmId": { + "type": "string", + "description": "The Hyper-V host Vm Id." + }, + "instanceType": { + "type": "string", + "enum": [ + "HyperVReplicaAzure" + ] + }, + "logStorageAccountId": { + "type": "string", + "description": "The storage account to be used for logging during replication." + }, + "osType": { + "type": "string", + "description": "The OS type associated with vm." + }, + "targetAvailabilityZone": { + "type": "string", + "description": "The target availability zone." + }, + "targetAzureNetworkId": { + "type": "string", + "description": "The selected target Azure network Id." + }, + "targetAzureSubnetId": { + "type": "string", + "description": "The selected target Azure subnet Id." + }, + "targetAzureV1ResourceGroupId": { + "type": "string", + "description": "The Id of the target resource group (for classic deployment) in which the failover VM is to be created." + }, + "targetAzureV2ResourceGroupId": { + "type": "string", + "description": "The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created." + }, + "targetAzureVmName": { + "type": "string", + "description": "The target azure Vm Name." + }, + "targetProximityPlacementGroupId": { + "type": "string", + "description": "The proximity placement group ARM Id." + }, + "targetStorageAccountId": { + "type": "string", + "description": "The storage account name." + }, + "useManagedDisks": { + "type": "string", + "description": "A value indicating whether managed disks should be used during failover." + }, + "vhdId": { + "type": "string", + "description": "The OS disk VHD id associated with vm." + }, + "vmName": { + "type": "string", + "description": "The Vm Name." + } + }, + "required": [ + "instanceType" + ], + "description": "Azure specific enable protection input." + }, + "HyperVReplicaAzurePolicyInput": { + "type": "object", + "properties": { + "applicationConsistentSnapshotFrequencyInHours": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The interval (in hours) at which Hyper-V Replica should create an application consistent snapshot within the VM." + }, + "instanceType": { + "type": "string", + "enum": [ + "HyperVReplicaAzure" + ] + }, + "onlineReplicationStartTime": { + "type": "string", + "description": "The scheduled start time for the initial replication. If this parameter is Null, the initial replication starts immediately." + }, + "recoveryPointHistoryDuration": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The duration (in hours) to which point the recovery history needs to be maintained." + }, + "replicationInterval": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The replication interval." + }, + "storageAccounts": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of storage accounts to which the VMs in the primary cloud can replicate to." + } + }, + "required": [ + "instanceType" + ], + "description": "Hyper-V Replica Azure specific input for creating a protection profile." + }, + "HyperVReplicaBluePolicyInput": { + "type": "object", + "properties": { + "allowedAuthenticationType": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating the authentication type." + }, + "applicationConsistentSnapshotFrequencyInHours": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating the application consistent frequency." + }, + "compression": { + "type": "string", + "description": "A value indicating whether compression has to be enabled." + }, + "initialReplicationMethod": { + "type": "string", + "description": "A value indicating whether IR is online." + }, + "instanceType": { + "type": "string", + "enum": [ + "HyperVReplica2012R2" + ] + }, + "offlineReplicationExportPath": { + "type": "string", + "description": "A value indicating the offline IR export path." + }, + "offlineReplicationImportPath": { + "type": "string", + "description": "A value indicating the offline IR import path." + }, + "onlineReplicationStartTime": { + "type": "string", + "description": "A value indicating the online IR start time." + }, + "recoveryPoints": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating the number of recovery points." + }, + "replicaDeletion": { + "type": "string", + "description": "A value indicating whether the VM has to be auto deleted." + }, + "replicationFrequencyInSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating the replication interval." + }, + "replicationPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating the recovery HTTPS port." + } + }, + "required": [ + "instanceType" + ], + "description": "HyperV Replica Blue policy input." + }, + "HyperVReplicaPolicyInput": { + "type": "object", + "properties": { + "allowedAuthenticationType": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating the authentication type." + }, + "applicationConsistentSnapshotFrequencyInHours": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating the application consistent frequency." + }, + "compression": { + "type": "string", + "description": "A value indicating whether compression has to be enabled." + }, + "initialReplicationMethod": { + "type": "string", + "description": "A value indicating whether IR is online." + }, + "instanceType": { + "type": "string", + "enum": [ + "HyperVReplica2012" + ] + }, + "offlineReplicationExportPath": { + "type": "string", + "description": "A value indicating the offline IR export path." + }, + "offlineReplicationImportPath": { + "type": "string", + "description": "A value indicating the offline IR import path." + }, + "onlineReplicationStartTime": { + "type": "string", + "description": "A value indicating the online IR start time." + }, + "recoveryPoints": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating the number of recovery points." + }, + "replicaDeletion": { + "type": "string", + "description": "A value indicating whether the VM has to be auto deleted." + }, + "replicationPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating the recovery HTTPS port." + } + }, + "required": [ + "instanceType" + ], + "description": "Hyper-V Replica specific policy Input." + }, + "IdentityProviderInput": { + "type": "object", + "properties": { + "aadAuthority": { + "type": "string", + "description": "The base authority for Azure Active Directory authentication." + }, + "applicationId": { + "type": "string", + "description": "The application/client Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services." + }, + "audience": { + "type": "string", + "description": "The intended Audience of the service principal with which the on-premise management/data plane components would communicate with our Azure services." + }, + "objectId": { + "type": "string", + "description": "The object Id of the service principal with which the on-premise management/data plane components would communicate with our Azure services." + }, + "tenantId": { + "type": "string", + "description": "The tenant Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services." + } + }, + "required": [ + "aadAuthority", + "applicationId", + "audience", + "objectId", + "tenantId" + ], + "description": "Identity provider input." + }, + "InMageAzureV2DiskInputDetails": { + "type": "object", + "properties": { + "diskEncryptionSetId": { + "type": "string", + "description": "The DiskEncryptionSet ARM ID." + }, + "diskId": { + "type": "string", + "description": "The DiskId." + }, + "diskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The DiskType." + }, + "logStorageAccountId": { + "type": "string", + "description": "The LogStorageAccountId." + } + }, + "description": "Disk input details." + }, + "InMageAzureV2EnableProtectionInput": { + "type": "object", + "properties": { + "diskEncryptionSetId": { + "type": "string", + "description": "The DiskEncryptionSet ARM ID." + }, + "disksToInclude": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/InMageAzureV2DiskInputDetails" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The disks to include list." + }, + "diskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The DiskType." + }, + "enableRdpOnTargetOption": { + "type": "string", + "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum." + }, + "instanceType": { + "type": "string", + "enum": [ + "InMageAzureV2" + ] + }, + "logStorageAccountId": { + "type": "string", + "description": "The storage account to be used for logging during replication." + }, + "masterTargetId": { + "type": "string", + "description": "The Master target Id." + }, + "multiVmGroupId": { + "type": "string", + "description": "The multi vm group Id." + }, + "multiVmGroupName": { + "type": "string", + "description": "The multi vm group name." + }, + "processServerId": { + "type": "string", + "description": "The Process Server Id." + }, + "runAsAccountId": { + "type": "string", + "description": "The CS account Id." + }, + "storageAccountId": { + "type": "string", + "description": "The storage account name." + }, + "targetAvailabilityZone": { + "type": "string", + "description": "The target availability zone." + }, + "targetAzureNetworkId": { + "type": "string", + "description": "The selected target Azure network Id." + }, + "targetAzureSubnetId": { + "type": "string", + "description": "The selected target Azure subnet Id." + }, + "targetAzureV1ResourceGroupId": { + "type": "string", + "description": "The Id of the target resource group (for classic deployment) in which the failover VM is to be created." + }, + "targetAzureV2ResourceGroupId": { + "type": "string", + "description": "The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created." + }, + "targetAzureVmName": { + "type": "string", + "description": "The target azure Vm Name." + }, + "targetProximityPlacementGroupId": { + "type": "string", + "description": "The proximity placement group ARM Id." + } + }, + "required": [ + "instanceType" + ], + "description": "VMware Azure specific enable protection input." + }, + "InMageAzureV2PolicyInput": { + "type": "object", + "properties": { + "appConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The app consistent snapshot frequency (in minutes)." + }, + "crashConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The crash consistent snapshot frequency (in minutes)." + }, + "instanceType": { + "type": "string", + "enum": [ + "InMageAzureV2" + ] + }, + "multiVmSyncStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enable", + "Disable" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'." + }, + "recoveryPointHistory": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The duration in minutes until which the recovery points need to be stored." + }, + "recoveryPointThresholdInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The recovery point threshold in minutes." + } + }, + "required": [ + "instanceType", + "multiVmSyncStatus" + ], + "description": "VMWare Azure specific policy Input." + }, + "InMageDiskExclusionInput": { + "type": "object", + "properties": { + "diskSignatureOptions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/InMageDiskSignatureExclusionOptions" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The guest disk signature based option for disk exclusion." + }, + "volumeOptions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/InMageVolumeExclusionOptions" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The volume label based option for disk exclusion." + } + }, + "description": "DiskExclusionInput when doing enable protection of virtual machine in InMage provider." + }, + "InMageDiskSignatureExclusionOptions": { + "type": "object", + "properties": { + "diskSignature": { + "type": "string", + "description": "The guest signature of disk to be excluded from replication." + } + }, + "description": "Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider." + }, + "InMageEnableProtectionInput": { + "type": "object", + "properties": { + "datastoreName": { + "type": "string", + "description": "The target data store name." + }, + "diskExclusionInput": { + "oneOf": [ + { + "$ref": "#/definitions/InMageDiskExclusionInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "DiskExclusionInput when doing enable protection of virtual machine in InMage provider." + }, + "disksToInclude": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The disks to include list." + }, + "instanceType": { + "type": "string", + "enum": [ + "InMage" + ] + }, + "masterTargetId": { + "type": "string", + "description": "The Master Target Id." + }, + "multiVmGroupId": { + "type": "string", + "description": "The multi vm group Id." + }, + "multiVmGroupName": { + "type": "string", + "description": "The multi vm group name." + }, + "processServerId": { + "type": "string", + "description": "The Process Server Id." + }, + "retentionDrive": { + "type": "string", + "description": "The retention drive to use on the MT." + }, + "runAsAccountId": { + "type": "string", + "description": "The CS account Id." + }, + "vmFriendlyName": { + "type": "string", + "description": "The Vm Name." + } + }, + "required": [ + "instanceType", + "masterTargetId", + "multiVmGroupId", + "multiVmGroupName", + "processServerId", + "retentionDrive" + ], + "description": "VMware Azure specific enable protection input." + }, + "InMagePolicyInput": { + "type": "object", + "properties": { + "appConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The app consistent snapshot frequency (in minutes)." + }, + "instanceType": { + "type": "string", + "enum": [ + "InMage" + ] + }, + "multiVmSyncStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enable", + "Disable" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'." + }, + "recoveryPointHistory": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The duration in minutes until which the recovery points need to be stored." + }, + "recoveryPointThresholdInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The recovery point threshold in minutes." + } + }, + "required": [ + "instanceType", + "multiVmSyncStatus" + ], + "description": "VMWare Azure specific protection profile Input." + }, + "InMageRcmDiskInput": { + "type": "object", + "properties": { + "diskEncryptionSetId": { + "type": "string", + "description": "The disk encryption set ARM Id." + }, + "diskId": { + "type": "string", + "description": "The disk Id." + }, + "diskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The disk type." + }, + "logStorageAccountId": { + "type": "string", + "description": "The log storage account ARM Id." + } + }, + "description": "InMageRcm disk input." + }, + "InMageRcmDisksDefaultInput": { + "type": "object", + "properties": { + "diskEncryptionSetId": { + "type": "string", + "description": "The disk encryption set ARM Id." + }, + "diskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The disk type." + }, + "logStorageAccountId": { + "type": "string", + "description": "The log storage account ARM Id." + } + }, + "description": "InMageRcm disk input." + }, + "InMageRcmEnableProtectionInput": { + "type": "object", + "properties": { + "disksDefault": { + "oneOf": [ + { + "$ref": "#/definitions/InMageRcmDisksDefaultInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "InMageRcm disk input." + }, + "disksToInclude": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/InMageRcmDiskInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The disks to include list." + }, + "fabricDiscoveryMachineId": { + "type": "string", + "description": "The ARM Id of discovered machine." + }, + "instanceType": { + "type": "string", + "enum": [ + "InMageRcm" + ] + }, + "licenseType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSpecified", + "NoLicenseType", + "WindowsServer" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The license type." + }, + "multiVmGroupName": { + "type": "string", + "description": "The multi VM group name." + }, + "processServerId": { + "type": "string", + "description": "The process server Id." + }, + "runAsAccountId": { + "type": "string", + "description": "The run-as account Id." + }, + "targetAvailabilitySetId": { + "type": "string", + "description": "The target availability set ARM Id." + }, + "targetAvailabilityZone": { + "type": "string", + "description": "The target availability zone." + }, + "targetBootDiagnosticsStorageAccountId": { + "type": "string", + "description": "The target boot diagnostics storage account ARM Id." + }, + "targetNetworkId": { + "type": "string", + "description": "The selected target network ARM Id." + }, + "targetProximityPlacementGroupId": { + "type": "string", + "description": "The target proximity placement group Id." + }, + "targetResourceGroupId": { + "type": "string", + "description": "The target resource group ARM Id." + }, + "targetSubnetName": { + "type": "string", + "description": "The selected target subnet name." + }, + "targetVmName": { + "type": "string", + "description": "The target VM name." + }, + "targetVmSize": { + "type": "string", + "description": "The target VM size." + }, + "testNetworkId": { + "type": "string", + "description": "The selected test network ARM Id." + }, + "testSubnetName": { + "type": "string", + "description": "The selected test subnet name." + } + }, + "required": [ + "instanceType" + ], + "description": "InMageRcm specific enable protection input." + }, + "InMageRcmFabricCreationInput": { + "type": "object", + "properties": { + "authCertificate": { + "type": "string", + "description": "The certificate to be used for AAD authentication." + }, + "instanceType": { + "type": "string", + "enum": [ + "InMageRcm" + ] + }, + "physicalSiteId": { + "type": "string", + "description": "The ARM Id of the physical site." + }, + "sourceAgentIdentity": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityProviderInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity provider input." + }, + "vmwareSiteId": { + "type": "string", + "description": "The ARM Id of the VMware site." + } + }, + "required": [ + "instanceType" + ], + "description": "InMageRcm fabric provider specific settings." + }, + "InMageRcmPolicyCreationInput": { + "type": "object", + "properties": { + "appConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The app consistent snapshot frequency (in minutes)." + }, + "crashConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The crash consistent snapshot frequency (in minutes)." + }, + "enableMultiVmSync": { + "type": "string", + "description": "A value indicating whether multi-VM sync has to be enabled." + }, + "instanceType": { + "type": "string", + "enum": [ + "InMageRcm" + ] + }, + "recoveryPointHistoryInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The duration in minutes until which the recovery points need to be stored." + } + }, + "required": [ + "instanceType" + ], + "description": "InMageRcm policy creation input." + }, + "InMageVolumeExclusionOptions": { + "type": "object", + "properties": { + "onlyExcludeIfSingleVolume": { + "type": "string", + "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." + }, + "volumeLabel": { + "type": "string", + "description": "The volume label. The disk having any volume with this label will be excluded from replication." + } + }, + "description": "Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider." + }, + "KeyEncryptionKeyInfo": { + "type": "object", + "properties": { + "keyIdentifier": { + "type": "string", + "description": "The key URL / identifier." + }, + "keyVaultResourceArmId": { + "type": "string", + "description": "The KeyVault resource ARM Id for key." + } + }, + "description": "Key Encryption Key (KEK) information." + }, + "NewProtectionProfile": { + "type": "object", + "properties": { + "appConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The app consistent snapshot frequency (in minutes)." + }, + "crashConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The crash consistent snapshot frequency (in minutes)." + }, + "multiVmSyncStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enable", + "Disable" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'." + }, + "policyName": { + "type": "string", + "description": "The protection profile input." + }, + "recoveryPointHistory": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The duration in minutes until which the recovery points need to be stored." + }, + "resourceType": { + "type": "string", + "enum": [ + "New" + ] + } + }, + "required": [ + "multiVmSyncStatus", + "policyName", + "resourceType" + ], + "description": "New Protection profile input." + }, + "PolicyProviderSpecificInput": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/A2APolicyCreationInput" + }, + { + "$ref": "#/definitions/HyperVReplicaAzurePolicyInput" + }, + { + "$ref": "#/definitions/HyperVReplicaBluePolicyInput" + }, + { + "$ref": "#/definitions/HyperVReplicaPolicyInput" + }, + { + "$ref": "#/definitions/InMageAzureV2PolicyInput" + }, + { + "$ref": "#/definitions/InMagePolicyInput" + }, + { + "$ref": "#/definitions/InMageRcmPolicyCreationInput" + }, + { + "$ref": "#/definitions/VMwareCbtPolicyCreationInput" + } + ], + "properties": {}, + "description": "Base class for provider specific input" + }, + "ProtectionProfileCustomDetails": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ExistingProtectionProfile" + }, + { + "$ref": "#/definitions/NewProtectionProfile" + } + ], + "properties": {}, + "description": "Protection Profile custom input." + }, + "RecoveryAvailabilitySetCustomDetails": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ExistingRecoveryAvailabilitySet" + } + ], + "properties": {}, + "description": "Recovery Availability Set custom input." + }, + "RecoveryPlanA2AInput": { + "type": "object", + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "A2A" + ] + }, + "primaryZone": { + "type": "string", + "description": "The primary zone." + }, + "recoveryZone": { + "type": "string", + "description": "The recovery zone." + } + }, + "required": [ + "instanceType" + ], + "description": "Recovery plan A2A input." + }, + "RecoveryPlanAction": { + "type": "object", + "properties": { + "actionName": { + "type": "string", + "description": "The action name." + }, + "customDetails": { + "oneOf": [ + { + "$ref": "#/definitions/RecoveryPlanActionDetails" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Recovery plan action custom details." + }, + "failoverDirections": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "PrimaryToRecovery", + "RecoveryToPrimary" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of failover directions." + }, + "failoverTypes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "ReverseReplicate", + "Commit", + "PlannedFailover", + "UnplannedFailover", + "DisableProtection", + "TestFailover", + "TestFailoverCleanup", + "Failback", + "FinalizeFailback", + "ChangePit", + "RepairReplication", + "SwitchProtection", + "CompleteMigration" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of failover types." + } + }, + "required": [ + "actionName", + "customDetails", + "failoverDirections", + "failoverTypes" + ], + "description": "Recovery plan action details." + }, + "RecoveryPlanActionDetails": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/RecoveryPlanAutomationRunbookActionDetails" + }, + { + "$ref": "#/definitions/RecoveryPlanManualActionDetails" + }, + { + "$ref": "#/definitions/RecoveryPlanScriptActionDetails" + } + ], + "properties": {}, + "description": "Recovery plan action custom details." + }, + "RecoveryPlanAutomationRunbookActionDetails": { + "type": "object", + "properties": { + "fabricLocation": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Primary", + "Recovery" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The fabric location." + }, + "instanceType": { + "type": "string", + "enum": [ + "AutomationRunbookActionDetails" + ] + }, + "runbookId": { + "type": "string", + "description": "The runbook ARM Id." + }, + "timeout": { + "type": "string", + "description": "The runbook timeout." + } + }, + "required": [ + "fabricLocation", + "instanceType" + ], + "description": "Recovery plan Automation runbook action details." + }, + "RecoveryPlanGroup": { + "type": "object", + "properties": { + "endGroupActions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanAction" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The end group actions." + }, + "groupType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Shutdown", + "Boot", + "Failover" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The group type." + }, + "replicationProtectedItems": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanProtectedItem" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of protected items." + }, + "startGroupActions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanAction" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The start group actions." + } + }, + "required": [ + "groupType" + ], + "description": "Recovery plan group details." + }, + "RecoveryPlanManualActionDetails": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The manual action description." + }, + "instanceType": { + "type": "string", + "enum": [ + "ManualActionDetails" + ] + } + }, + "required": [ + "instanceType" + ], + "description": "Recovery plan manual action details." + }, + "RecoveryPlanProtectedItem": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The ARM Id of the recovery plan protected item." + }, + "virtualMachineId": { + "type": "string", + "description": "The virtual machine Id." + } + }, + "description": "Recovery plan protected item." + }, + "RecoveryPlanProviderSpecificInput": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/RecoveryPlanA2AInput" + } + ], + "properties": {}, + "description": "Recovery plan provider specific input base class." + }, + "RecoveryPlanScriptActionDetails": { + "type": "object", + "properties": { + "fabricLocation": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Primary", + "Recovery" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The fabric location." + }, + "instanceType": { + "type": "string", + "enum": [ + "ScriptActionDetails" + ] + }, + "path": { + "type": "string", + "description": "The script path." + }, + "timeout": { + "type": "string", + "description": "The script timeout." + } + }, + "required": [ + "fabricLocation", + "instanceType", + "path" + ], + "description": "Recovery plan script action details." + }, + "RecoveryProximityPlacementGroupCustomDetails": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ExistingRecoveryProximityPlacementGroup" + } + ], + "properties": {}, + "description": "Recovery Proximity placement group custom input." + }, + "RecoveryResourceGroupCustomDetails": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ExistingRecoveryRecoveryResourceGroup" + } + ], + "properties": {}, + "description": "Recovery Resource Group custom input." + }, + "RecoveryVirtualNetworkCustomDetails": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ExistingRecoveryVirtualNetwork" + } + ], + "properties": {}, + "description": "Recovery Virtual network custom input." + }, + "ReplicationProviderSpecificContainerCreationInput": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/A2AContainerCreationInput" + }, + { + "$ref": "#/definitions/VMwareCbtContainerCreationInput" + } + ], + "properties": {}, + "description": "Provider specific input for container creation operation." + }, + "ReplicationProviderSpecificContainerMappingInput": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/A2AContainerMappingInput" + }, + { + "$ref": "#/definitions/VMwareCbtContainerMappingInput" + } + ], + "properties": {}, + "description": "Provider specific input for pairing operations." + }, + "SanEnableProtectionInput": { + "type": "object", + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "San" + ] + } + }, + "required": [ + "instanceType" + ], + "description": "San enable protection provider specific input." + }, + "StorageAccountCustomDetails": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ExistingStorageAccount" + } + ], + "properties": {}, + "description": "Storage account custom input." + }, + "StorageMappingInputProperties": { + "type": "object", + "properties": { + "targetStorageClassificationId": { + "type": "string", + "description": "The ID of the storage object." + } + }, + "description": "Storage mapping input properties." + }, + "VaultSettingCreationInputProperties": { + "type": "object", + "properties": { + "migrationSolutionId": { + "type": "string", + "description": "The migration solution Id." + } + }, + "required": [ + "migrationSolutionId" + ], + "description": "Input to create vault setting." + }, + "vaults_replicationFabrics_replicationProtectionContainers_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-10" + ] + }, + "name": { + "type": "string", + "description": "Unique protection container ARM name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CreateProtectionContainerInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Create protection container input properties." + }, + "type": { + "type": "string", + "enum": [ + "replicationProtectionContainers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers" + }, + "vaults_replicationFabrics_replicationProtectionContainers_replicationMigrationItems_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-10" + ] + }, + "name": { + "type": "string", + "description": "Migration item name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EnableMigrationInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable migration input properties." + }, + "type": { + "type": "string", + "enum": [ + "replicationMigrationItems" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems" + }, + "vaults_replicationFabrics_replicationProtectionContainers_replicationProtectedItems_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-10" + ] + }, + "name": { + "type": "string", + "description": "A name for the replication protected item." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EnableProtectionInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable protection input properties." + }, + "type": { + "type": "string", + "enum": [ + "replicationProtectedItems" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems" + }, + "vaults_replicationFabrics_replicationProtectionContainers_replicationProtectionContainerMappings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-10" + ] + }, + "name": { + "type": "string", + "description": "Protection container mapping name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CreateProtectionContainerMappingInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configure pairing input properties." + }, + "type": { + "type": "string", + "enum": [ + "replicationProtectionContainerMappings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings" + }, + "vaults_replicationFabrics_replicationRecoveryServicesProviders_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-10" + ] + }, + "name": { + "type": "string", + "description": "Recovery services provider name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AddRecoveryServicesProviderInputProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of an add provider request." + }, + "type": { + "type": "string", + "enum": [ + "replicationRecoveryServicesProviders" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders" + }, + "vaults_replicationFabrics_replicationvCenters_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-10" + ] + }, + "name": { + "type": "string", + "description": "vCenter name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AddVCenterRequestProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of an add vCenter request." + }, + "type": { + "type": "string", + "enum": [ + "replicationvCenters" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters" + }, + "VmmToAzureCreateNetworkMappingInput": { + "type": "object", + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "VmmToAzure" + ] + } + }, + "required": [ + "instanceType" + ], + "description": "Create network mappings input properties/behavior specific to Vmm to Azure Network mapping." + }, + "VmmToVmmCreateNetworkMappingInput": { + "type": "object", + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "VmmToVmm" + ] + } + }, + "required": [ + "instanceType" + ], + "description": "Create network mappings input properties/behavior specific to vmm to vmm Network mapping." + }, + "VMwareCbtContainerCreationInput": { + "type": "object", + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "6c7da455-506f-43ff-a16a-8eb101aebb70" + ] + } + }, + "required": [ + "instanceType" + ], + "description": "VMwareCbt container creation input." + }, + "VMwareCbtContainerMappingInput": { + "type": "object", + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "VMwareCbt" + ] + }, + "keyVaultId": { + "type": "string", + "description": "The target key vault ARM Id." + }, + "keyVaultUri": { + "type": "string", + "description": "The target key vault URL." + }, + "serviceBusConnectionStringSecretName": { + "type": "string", + "description": "The secret name of the service bus connection string." + }, + "storageAccountId": { + "type": "string", + "description": "The storage account ARM Id." + }, + "storageAccountSasSecretName": { + "type": "string", + "description": "The secret name of the storage account." + }, + "targetLocation": { + "type": "string", + "description": "The target location." + } + }, + "required": [ + "instanceType", + "keyVaultId", + "keyVaultUri", + "serviceBusConnectionStringSecretName", + "storageAccountId", + "storageAccountSasSecretName", + "targetLocation" + ], + "description": "VMwareCbt container mapping input." + }, + "VMwareCbtDiskInput": { + "type": "object", + "properties": { + "diskId": { + "type": "string", + "description": "The disk Id." + }, + "diskType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The disk type." + }, + "isOSDisk": { + "type": "string", + "description": "A value indicating whether the disk is the OS disk." + }, + "logStorageAccountId": { + "type": "string", + "description": "The log storage account ARM Id." + }, + "logStorageAccountSasSecretName": { + "type": "string", + "description": "The key vault secret name of the log storage account." + } + }, + "required": [ + "diskId", + "isOSDisk", + "logStorageAccountId", + "logStorageAccountSasSecretName" + ], + "description": "VMwareCbt disk input." + }, + "VMwareCbtEnableMigrationInput": { + "type": "object", + "properties": { + "dataMoverRunAsAccountId": { + "type": "string", + "description": "The data mover RunAs account Id." + }, + "disksToInclude": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VMwareCbtDiskInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The disks to include list." + }, + "instanceType": { + "type": "string", + "enum": [ + "VMwareCbt" + ] + }, + "licenseType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSpecified", + "NoLicenseType", + "WindowsServer" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "License type." + }, + "snapshotRunAsAccountId": { + "type": "string", + "description": "The snapshot RunAs account Id." + }, + "targetAvailabilitySetId": { + "type": "string", + "description": "The target availability set ARM Id." + }, + "targetBootDiagnosticsStorageAccountId": { + "type": "string", + "description": "The target boot diagnostics storage account ARM Id." + }, + "targetNetworkId": { + "type": "string", + "description": "The target network ARM Id." + }, + "targetResourceGroupId": { + "type": "string", + "description": "The target resource group ARM Id." + }, + "targetSubnetName": { + "type": "string", + "description": "The target subnet name." + }, + "targetVmName": { + "type": "string", + "description": "The target VM name." + }, + "targetVmSize": { + "type": "string", + "description": "The target VM size." + }, + "vmwareMachineId": { + "type": "string", + "description": "The ARM Id of the VM discovered in VMware." + } + }, + "required": [ + "dataMoverRunAsAccountId", + "disksToInclude", + "instanceType", + "snapshotRunAsAccountId", + "targetNetworkId", + "targetResourceGroupId", + "vmwareMachineId" + ], + "description": "VMwareCbt specific enable migration input." + }, + "VMwareCbtPolicyCreationInput": { + "type": "object", + "properties": { + "appConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The app consistent snapshot frequency (in minutes)." + }, + "crashConsistentFrequencyInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The crash consistent snapshot frequency (in minutes)." + }, + "instanceType": { + "type": "string", + "enum": [ + "VMwareCbt" + ] + }, + "recoveryPointHistoryInMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The duration in minutes until which the recovery points need to be stored." + } + }, + "required": [ + "instanceType" + ], + "description": "VMware Cbt policy creation input." + }, + "VMwareV2FabricCreationInput": { + "type": "object", + "properties": { + "instanceType": { + "type": "string", + "enum": [ + "VMwareV2" + ] + }, + "migrationSolutionId": { + "type": "string", + "description": "The ARM Id of the migration solution." + }, + "vmwareSiteId": { + "type": "string", + "description": "The ARM Id of the VMware site." + } + }, + "required": [ + "instanceType", + "migrationSolutionId", + "vmwareSiteId" + ], + "description": "VMwareV2 fabric provider specific settings." + } + } +} \ No newline at end of file diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index 063f9bc9be..cf47062d52 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -4300,6 +4300,114 @@ { "$ref": "https://schema.management.azure.com/schemas/2017-10-01/Microsoft.PowerBIDedicated.json#/resourceDefinitions/capacities" }, + { + "$ref": "https://schema.management.azure.com/schemas/2016-08-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationAlertSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2016-08-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationFabrics" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2016-08-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationFabrics_replicationNetworks_replicationNetworkMappings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2016-08-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationFabrics_replicationProtectionContainers" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2016-08-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationFabrics_replicationProtectionContainers_replicationProtectedItems" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2016-08-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationFabrics_replicationProtectionContainers_replicationProtectionContainerMappings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2016-08-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationFabrics_replicationStorageClassifications_replicationStorageClassificationMappings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2016-08-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationFabrics_replicationvCenters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2016-08-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2016-08-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationRecoveryPlans" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-01-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationAlertSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-01-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationFabrics" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-01-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationFabrics_replicationNetworks_replicationNetworkMappings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-01-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationFabrics_replicationProtectionContainers" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-01-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationFabrics_replicationProtectionContainers_replicationMigrationItems" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-01-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationFabrics_replicationProtectionContainers_replicationProtectedItems" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-01-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationFabrics_replicationProtectionContainers_replicationProtectionContainerMappings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-01-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationFabrics_replicationRecoveryServicesProviders" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-01-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationFabrics_replicationStorageClassifications_replicationStorageClassificationMappings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-01-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationFabrics_replicationvCenters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-01-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-01-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationRecoveryPlans" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-07-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationAlertSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-07-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationFabrics" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-07-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationFabrics_replicationNetworks_replicationNetworkMappings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-07-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationFabrics_replicationProtectionContainers" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-07-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationFabrics_replicationProtectionContainers_replicationMigrationItems" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-07-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationFabrics_replicationProtectionContainers_replicationProtectedItems" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-07-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationFabrics_replicationProtectionContainers_replicationProtectionContainerMappings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-07-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationFabrics_replicationRecoveryServicesProviders" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-07-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationFabrics_replicationStorageClassifications_replicationStorageClassificationMappings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-07-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationFabrics_replicationvCenters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-07-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-07-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationProtectionIntents" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-07-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationRecoveryPlans" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-07-10/Microsoft.RecoveryServices.json#/resourceDefinitions/vaults_replicationVaultSettings" + }, { "$ref": "https://schema.management.azure.com/schemas/2020-04-30/Microsoft.RedHatOpenShift.json#/resourceDefinitions/openShiftClusters" }, @@ -5551,4 +5659,4 @@ ] } ] -} +} \ No newline at end of file