Microsoft.RecoveryServices vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems 2018-07-10

The vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems resource type can be deployed to: Resource groups.

To learn about resource group deployments, see Bicep or ARM template.

Template format

To create a Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems resource, add the following Bicep or JSON to your template.

resource symbolicname 'Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems@2018-07-10' = {
  name: 'string'
  properties: {
    policyId: 'string'
    protectableItemId: 'string'
    providerSpecificDetails: {
      instanceType: 'string'
      // For remaining properties, see EnableProtectionProviderSpecificInput objects
    }
  }
}

EnableProtectionProviderSpecificInput objects

Set the instanceType property to specify the type of object.

For A2A, use:

  instanceType: 'A2A'
  diskEncryptionInfo: {
    diskEncryptionKeyInfo: {
      keyVaultResourceArmId: 'string'
      secretIdentifier: 'string'
    }
    keyEncryptionKeyInfo: {
      keyIdentifier: 'string'
      keyVaultResourceArmId: 'string'
    }
  }
  fabricObjectId: 'string'
  multiVmGroupName: 'string'
  recoveryAvailabilitySetId: 'string'
  recoveryAvailabilityZone: 'string'
  recoveryAzureNetworkId: 'string'
  recoveryBootDiagStorageAccountId: 'string'
  recoveryCloudServiceId: 'string'
  recoveryContainerId: 'string'
  recoveryProximityPlacementGroupId: 'string'
  recoveryResourceGroupId: 'string'
  recoverySubnetName: 'string'
  vmDisks: [
    {
      diskUri: 'string'
      primaryStagingAzureStorageAccountId: 'string'
      recoveryAzureStorageAccountId: 'string'
    }
  ]
  vmManagedDisks: [
    {
      diskEncryptionInfo: {
        diskEncryptionKeyInfo: {
          keyVaultResourceArmId: 'string'
          secretIdentifier: 'string'
        }
        keyEncryptionKeyInfo: {
          keyIdentifier: 'string'
          keyVaultResourceArmId: 'string'
        }
      }
      diskId: 'string'
      primaryStagingAzureStorageAccountId: 'string'
      recoveryDiskEncryptionSetId: 'string'
      recoveryReplicaDiskAccountType: 'string'
      recoveryResourceGroupId: 'string'
      recoveryTargetDiskAccountType: 'string'
    }
  ]

For HyperVReplica2012, use:

  instanceType: 'HyperVReplica2012'

For HyperVReplica2012R2, use:

  instanceType: 'HyperVReplica2012R2'

For HyperVReplicaAzure, use:

  instanceType: 'HyperVReplicaAzure'
  disksToInclude: [ 'string' ]
  enableRdpOnTargetOption: 'string'
  hvHostVmId: 'string'
  logStorageAccountId: 'string'
  osType: 'string'
  targetAvailabilitySetId: 'string'
  targetAvailabilityZone: 'string'
  targetAzureNetworkId: 'string'
  targetAzureSubnetId: 'string'
  targetAzureV1ResourceGroupId: 'string'
  targetAzureV2ResourceGroupId: 'string'
  targetAzureVmName: 'string'
  targetProximityPlacementGroupId: 'string'
  targetStorageAccountId: 'string'
  targetVmSize: 'string'
  useManagedDisks: 'string'
  vhdId: 'string'
  vmName: 'string'

For HyperVReplicaBaseReplicationDetails, use:

  instanceType: 'HyperVReplicaBaseReplicationDetails'

For InMage, use:

  instanceType: 'InMage'
  datastoreName: 'string'
  diskExclusionInput: {
    diskSignatureOptions: [
      {
        diskSignature: 'string'
      }
    ]
    volumeOptions: [
      {
        onlyExcludeIfSingleVolume: 'string'
        volumeLabel: 'string'
      }
    ]
  }
  disksToInclude: [ 'string' ]
  masterTargetId: 'string'
  multiVmGroupId: 'string'
  multiVmGroupName: 'string'
  processServerId: 'string'
  retentionDrive: 'string'
  runAsAccountId: 'string'
  vmFriendlyName: 'string'

For InMageAzureV2, use:

  instanceType: 'InMageAzureV2'
  diskEncryptionSetId: 'string'
  disksToInclude: [
    {
      diskEncryptionSetId: 'string'
      diskId: 'string'
      diskType: 'string'
      logStorageAccountId: 'string'
    }
  ]
  diskType: 'string'
  enableRdpOnTargetOption: 'string'
  logStorageAccountId: 'string'
  masterTargetId: 'string'
  multiVmGroupId: 'string'
  multiVmGroupName: 'string'
  processServerId: 'string'
  runAsAccountId: 'string'
  storageAccountId: 'string'
  targetAvailabilitySetId: 'string'
  targetAvailabilityZone: 'string'
  targetAzureNetworkId: 'string'
  targetAzureSubnetId: 'string'
  targetAzureV1ResourceGroupId: 'string'
  targetAzureV2ResourceGroupId: 'string'
  targetAzureVmName: 'string'
  targetProximityPlacementGroupId: 'string'
  targetVmSize: 'string'

For InMageRcm, use:

  instanceType: 'InMageRcm'
  disksDefault: {
    diskEncryptionSetId: 'string'
    diskType: 'string'
    logStorageAccountId: 'string'
  }
  disksToInclude: [
    {
      diskEncryptionSetId: 'string'
      diskId: 'string'
      diskType: 'string'
      logStorageAccountId: 'string'
    }
  ]
  fabricDiscoveryMachineId: 'string'
  licenseType: 'string'
  multiVmGroupName: 'string'
  processServerId: 'string'
  runAsAccountId: 'string'
  targetAvailabilitySetId: 'string'
  targetAvailabilityZone: 'string'
  targetBootDiagnosticsStorageAccountId: 'string'
  targetNetworkId: 'string'
  targetProximityPlacementGroupId: 'string'
  targetResourceGroupId: 'string'
  targetSubnetName: 'string'
  targetVmName: 'string'
  targetVmSize: 'string'
  testNetworkId: 'string'
  testSubnetName: 'string'

For San, use:

  instanceType: 'San'

Property values

vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems

Name Description Value
type The resource type

For Bicep, set this value in the resource declaration.
'Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems'
apiVersion The resource api version

For Bicep, set this value in the resource declaration.
'2018-07-10'
name The resource name

See how to set names and types for child resources in Bicep or JSON ARM templates.
string (required)
properties Enable protection input properties. EnableProtectionInputProperties

EnableProtectionInputProperties

Name Description Value
policyId The Policy Id. string
protectableItemId The protectable item Id. string
providerSpecificDetails Enable protection provider specific input. EnableProtectionProviderSpecificInput

EnableProtectionProviderSpecificInput

Name Description Value
instanceType Set the object type A2A
HyperVReplica2012
HyperVReplica2012R2
HyperVReplicaAzure
HyperVReplicaBaseReplicationDetails
InMage
InMageAzureV2
InMageRcm
San

A2AEnableProtectionInput

Name Description Value
instanceType The class type. 'A2A'
diskEncryptionInfo Recovery disk encryption info (BEK and KEK). DiskEncryptionInfo
fabricObjectId The fabric specific object Id of the virtual machine. string
multiVmGroupName The multi vm group name. string
recoveryAvailabilitySetId The recovery availability set Id. string
recoveryAvailabilityZone The recovery availability zone. string
recoveryAzureNetworkId The recovery Azure virtual network ARM id. string
recoveryBootDiagStorageAccountId The boot diagnostic storage account. string
recoveryCloudServiceId The recovery cloud service Id. Valid for V1 scenarios. string
recoveryContainerId The recovery container Id. string
recoveryProximityPlacementGroupId The recovery proximity placement group Id. string
recoveryResourceGroupId The recovery resource group Id. Valid for V2 scenarios. string
recoverySubnetName The recovery subnet name. string
vmDisks The list of vm disk details. A2AVmDiskInputDetails[]
vmManagedDisks The list of vm managed disk details. A2AVmManagedDiskInputDetails[]

DiskEncryptionInfo

Name Description Value
diskEncryptionKeyInfo Disk Encryption Key Information (BitLocker Encryption Key (BEK) on Windows). DiskEncryptionKeyInfo
keyEncryptionKeyInfo Key Encryption Key (KEK) information. KeyEncryptionKeyInfo

DiskEncryptionKeyInfo

Name Description Value
keyVaultResourceArmId The KeyVault resource ARM Id for secret. string
secretIdentifier The secret URL / identifier. string

KeyEncryptionKeyInfo

Name Description Value
keyIdentifier The key URL / identifier. string
keyVaultResourceArmId The KeyVault resource ARM Id for key. string

A2AVmDiskInputDetails

Name Description Value
diskUri The disk Uri. string
primaryStagingAzureStorageAccountId The primary staging storage account Id. string
recoveryAzureStorageAccountId The recovery VHD storage account Id. string

A2AVmManagedDiskInputDetails

Name Description Value
diskEncryptionInfo Recovery disk encryption info (BEK and KEK). DiskEncryptionInfo
diskId The disk Id. string
primaryStagingAzureStorageAccountId The primary staging storage account Arm Id. string
recoveryDiskEncryptionSetId The recovery disk encryption set Id. string
recoveryReplicaDiskAccountType The replica disk type. Its an optional value and will be same as source disk type if not user provided. string
recoveryResourceGroupId The target resource group Arm Id. string
recoveryTargetDiskAccountType The target disk type after failover. Its an optional value and will be same as source disk type if not user provided. string

HyperVReplicaReplicationDetails

Name Description Value
instanceType The class type. 'HyperVReplica2012'

HyperVReplicaBlueReplicationDetails

Name Description Value
instanceType The class type. 'HyperVReplica2012R2'

HyperVReplicaAzureEnableProtectionInput

Name Description Value
instanceType The class type. 'HyperVReplicaAzure'
disksToInclude The list of VHD IDs of disks to be protected. string[]
enableRdpOnTargetOption The selected option to enable RDP\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum. string
hvHostVmId The Hyper-V host Vm Id. string
logStorageAccountId The storage account to be used for logging during replication. string
osType The OS type associated with vm. string
targetAvailabilitySetId The availability set ARM Id. string
targetAvailabilityZone The target availability zone. string
targetAzureNetworkId The selected target Azure network Id. string
targetAzureSubnetId The selected target Azure subnet Id. string
targetAzureV1ResourceGroupId The Id of the target resource group (for classic deployment) in which the failover VM is to be created. string
targetAzureV2ResourceGroupId The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created. string
targetAzureVmName The target azure Vm Name. string
targetProximityPlacementGroupId The proximity placement group ARM Id. string
targetStorageAccountId The storage account name. string
targetVmSize The target VM size. string
useManagedDisks A value indicating whether managed disks should be used during failover. string
vhdId The OS disk VHD id associated with vm. string
vmName The Vm Name. string

HyperVReplicaBaseReplicationDetails

Name Description Value
instanceType The class type. 'HyperVReplicaBaseReplicationDetails'

InMageEnableProtectionInput

Name Description Value
instanceType The class type. 'InMage'
datastoreName The target data store name. string
diskExclusionInput DiskExclusionInput when doing enable protection of virtual machine in InMage provider. InMageDiskExclusionInput
disksToInclude The disks to include list. string[]
masterTargetId The Master Target Id. string (required)
multiVmGroupId The multi vm group Id. string (required)
multiVmGroupName The multi vm group name. string (required)
processServerId The Process Server Id. string (required)
retentionDrive The retention drive to use on the MT. string (required)
runAsAccountId The CS account Id. string
vmFriendlyName The Vm Name. string

InMageDiskExclusionInput

Name Description Value
diskSignatureOptions The guest disk signature based option for disk exclusion. InMageDiskSignatureExclusionOptions[]
volumeOptions The volume label based option for disk exclusion. InMageVolumeExclusionOptions[]

InMageDiskSignatureExclusionOptions

Name Description Value
diskSignature The guest signature of disk to be excluded from replication. string

InMageVolumeExclusionOptions

Name Description Value
onlyExcludeIfSingleVolume 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. string
volumeLabel The volume label. The disk having any volume with this label will be excluded from replication. string

InMageAzureV2EnableProtectionInput

Name Description Value
instanceType The class type. 'InMageAzureV2'
diskEncryptionSetId The DiskEncryptionSet ARM ID. string
disksToInclude The disks to include list. InMageAzureV2DiskInputDetails[]
diskType The DiskType. 'Premium_LRS'
'StandardSSD_LRS'
'Standard_LRS'
enableRdpOnTargetOption The selected option to enable RDP\SSH on target vm after failover. String value of {SrsDataContract.EnableRDPOnTargetOption} enum. string
logStorageAccountId The storage account to be used for logging during replication. string
masterTargetId The Master target Id. string
multiVmGroupId The multi vm group Id. string
multiVmGroupName The multi vm group name. string
processServerId The Process Server Id. string
runAsAccountId The CS account Id. string
storageAccountId The storage account name. string
targetAvailabilitySetId The availability set ARM Id. string
targetAvailabilityZone The target availability zone. string
targetAzureNetworkId The selected target Azure network Id. string
targetAzureSubnetId The selected target Azure subnet Id. string
targetAzureV1ResourceGroupId The Id of the target resource group (for classic deployment) in which the failover VM is to be created. string
targetAzureV2ResourceGroupId The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created. string
targetAzureVmName The target azure Vm Name. string
targetProximityPlacementGroupId The proximity placement group ARM Id. string
targetVmSize The target VM size. string

InMageAzureV2DiskInputDetails

Name Description Value
diskEncryptionSetId The DiskEncryptionSet ARM ID. string
diskId The DiskId. string
diskType The DiskType. 'Premium_LRS'
'StandardSSD_LRS'
'Standard_LRS'
logStorageAccountId The LogStorageAccountId. string

InMageRcmEnableProtectionInput

Name Description Value
instanceType The class type. 'InMageRcm'
disksDefault InMageRcm disk input. InMageRcmDisksDefaultInput
disksToInclude The disks to include list. InMageRcmDiskInput[]
fabricDiscoveryMachineId The ARM Id of discovered machine. string
licenseType The license type. 'NoLicenseType'
'NotSpecified'
'WindowsServer'
multiVmGroupName The multi VM group name. string
processServerId The process server Id. string
runAsAccountId The run-as account Id. string
targetAvailabilitySetId The target availability set ARM Id. string
targetAvailabilityZone The target availability zone. string
targetBootDiagnosticsStorageAccountId The target boot diagnostics storage account ARM Id. string
targetNetworkId The selected target network ARM Id. string
targetProximityPlacementGroupId The target proximity placement group Id. string
targetResourceGroupId The target resource group ARM Id. string
targetSubnetName The selected target subnet name. string
targetVmName The target VM name. string
targetVmSize The target VM size. string
testNetworkId The selected test network ARM Id. string
testSubnetName The selected test subnet name. string

InMageRcmDisksDefaultInput

Name Description Value
diskEncryptionSetId The disk encryption set ARM Id. string
diskType The DiskType. 'Premium_LRS'
'StandardSSD_LRS'
'Standard_LRS'
logStorageAccountId The log storage account ARM Id. string

InMageRcmDiskInput

Name Description Value
diskEncryptionSetId The disk encryption set ARM Id. string
diskId The disk Id. string
diskType The DiskType. 'Premium_LRS'
'StandardSSD_LRS'
'Standard_LRS'
logStorageAccountId The log storage account ARM Id. string

SanEnableProtectionInput

Name Description Value
instanceType The class type. 'San'