Replication Protection Intents - Create
Create protection intent Resource.
The operation to create an ASR replication protection intent item.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionIntents/{intentObjectName}?api-version=2025-08-01
URI Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
|
intent
|
path | True |
string |
Replication protection intent name. |
|
resource
|
path | True |
string minLength: 1maxLength: 90 |
The name of the resource group. The name is case insensitive. |
|
resource
|
path | True |
string |
The name of the Vault |
|
subscription
|
path | True |
string (uuid) |
The ID of the target subscription. The value must be an UUID. |
|
api-version
|
query | True |
string minLength: 1 |
The API version to use for this operation. |
Request Body
| Name | Type | Description |
|---|---|---|
| properties |
Create protection intent input properties. |
Responses
| Name | Type | Description |
|---|---|---|
| 200 OK |
Resource 'ReplicationProtectionIntent' update operation succeeded |
Security
azure_auth
Azure Active Directory OAuth2 Flow.
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
| Name | Description |
|---|---|
| user_impersonation | impersonate your user account |
Examples
Create protection intent Resource.
Sample request
PUT https://management.azure.com/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationProtectionIntents/vm1?api-version=2025-08-01
{
"properties": {
"providerSpecificDetails": {
"fabricObjectId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/removeOne/providers/Microsoft.Compute/virtualMachines/vmPpgAv5",
"instanceType": "A2A",
"primaryLocation": "eastUs2",
"recoveryAvailabilityType": "Single",
"recoveryLocation": "westus2",
"recoveryResourceGroupId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/removeOne-asr",
"recoverySubscriptionId": "ed5bcdf6-d61e-47bd-8ea9-f2bd379a2640"
}
}
}
Sample response
Azure-AsyncOperation: https://management.azure.com/Subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationOperationStatus/a93f3cd5-9035-4b1e-a2c9-b16df6d5d34b?api-version=2025-08-01
{
"name": "vm1",
"type": "Microsoft.RecoveryServices/vaults/replicationProtectionIntents",
"id": "/Subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/2007vttp/providers/Microsoft.RecoveryServices/vaults/tp2007vt/replicationProtectionIntents/vm1",
"properties": {
"friendlyName": "vm1",
"jobId": "/Subscriptions/d90d145a-4cdd-45a3-b2c4-971d69775278/resourceGroups/a2acl-rg-vault-prod-gip-ccy/providers/Microsoft.RecoveryServices/vaults/a2acl-vault-prod-gip-ccy/replicationJobs/02004ea7-d498-4bb4-bdeb-cdb611706867",
"jobState": "InProgress",
"providerSpecificDetails": {
"instanceType": "A2A",
"recoveryAvailabilityType": "Single"
}
}
}
Definitions
| Name | Description |
|---|---|
|
A2ACreate |
A2A create protection intent input. |
|
A2AProtection |
Azure VM unmanaged disk input details. |
|
A2AProtection |
Azure VM managed disk input details. |
|
A2ARecovery |
The recovery availability type of the virtual machine. |
|
A2AReplication |
A2A provider specific settings. |
|
Agent |
A value indicating whether the auto update is enabled. |
|
Automation |
A value indicating the type authentication to use for automation Account. |
|
Auto |
A value indicating whether the auto protection is enabled. |
|
created |
The type of identity that created the resource. |
|
Create |
Create protection intent input. |
|
Create |
Create protection intent input properties. |
|
Disk |
Recovery disk encryption info (BEK and KEK). |
|
Disk |
Disk Encryption Key Information (BitLocker Encryption Key (BEK) on Windows). |
|
Existing |
Existing storage account input. |
|
Existing |
Existing recovery availability set input. |
|
Existing |
Existing recovery proximity placement group input. |
|
Existing |
Existing recovery resource group input. |
|
Existing |
Existing recovery virtual network input. |
|
Existing |
Existing storage account input. |
|
Key |
Key Encryption Key (KEK) information. |
|
New |
New Protection profile input. |
|
New |
Recovery virtual network input to create new virtual network from given source network. |
|
Replication |
Replication protection intent. |
|
Replication |
Replication protection intent custom data details. |
|
Set |
A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'. |
|
system |
Metadata pertaining to creation and last modification of the resource. |
A2ACreateProtectionIntentInput
A2A create protection intent input.
| Name | Type | Default value | Description |
|---|---|---|---|
| agentAutoUpdateStatus |
A value indicating whether the auto update is enabled. |
||
| autoProtectionOfDataDisk |
A value indicating whether the auto protection is enabled. |
||
| automationAccountArmId |
string |
The automation account arm id. |
|
| automationAccountAuthenticationType | RunAsAccount |
A value indicating the authentication type for automation account. The default value is "RunAsAccount". |
|
| diskEncryptionInfo |
The recovery disk encryption information (for two pass flows). |
||
| fabricObjectId |
string |
The fabric specific object Id of the virtual machine. |
|
| instanceType |
string:
A2A |
The class type. |
|
| multiVmGroupId |
string |
The multi vm group id. |
|
| multiVmGroupName |
string |
The multi vm group name. |
|
| primaryLocation |
string |
The primary location for the virtual machine. |
|
| primaryStagingStorageAccountCustomInput | StorageAccountCustomDetails: |
The primary staging storage account input. |
|
| protectionProfileCustomInput | ProtectionProfileCustomDetails: |
The protection profile custom inputs. |
|
| recoveryAvailabilitySetCustomInput | RecoveryAvailabilitySetCustomDetails: |
The recovery availability set input. |
|
| recoveryAvailabilityType |
The recovery availability type of the virtual machine. |
||
| recoveryAvailabilityZone |
string |
The recovery availability zone. |
|
| recoveryBootDiagStorageAccount | StorageAccountCustomDetails: |
The boot diagnostic storage account. |
|
| recoveryLocation |
string |
The recovery location for the virtual machine. |
|
| recoveryProximityPlacementGroupCustomInput | RecoveryProximityPlacementGroupCustomDetails: |
The recovery proximity placement group custom input. |
|
| recoveryResourceGroupId |
string |
The recovery resource group Id. Valid for V2 scenarios. |
|
| recoverySubscriptionId |
string |
The recovery subscription Id of the virtual machine. |
|
| recoveryVirtualNetworkCustomInput | RecoveryVirtualNetworkCustomDetails: |
The recovery virtual network input. |
|
| vmDisks |
The list of vm disk inputs. |
||
| vmManagedDisks |
The list of vm managed disk inputs. |
A2AProtectionIntentDiskInputDetails
Azure VM unmanaged disk input details.
| Name | Type | Description |
|---|---|---|
| diskUri |
string |
The disk Uri. |
| primaryStagingStorageAccountCustomInput | StorageAccountCustomDetails: |
The primary staging storage account input. |
| recoveryAzureStorageAccountCustomInput | StorageAccountCustomDetails: |
The recovery VHD storage account input. |
A2AProtectionIntentManagedDiskInputDetails
Azure VM managed disk input details.
| Name | Type | Description |
|---|---|---|
| diskEncryptionInfo |
The recovery disk encryption information (for one / single pass flows). |
|
| diskId |
string |
The disk Id. |
| primaryStagingStorageAccountCustomInput | StorageAccountCustomDetails: |
The primary staging storage account input. |
| recoveryDiskEncryptionSetId |
string |
The recovery disk encryption set Id. |
| recoveryReplicaDiskAccountType |
string |
The replica disk type. Its an optional value and will be same as source disk type if not user provided. |
| recoveryResourceGroupCustomInput | RecoveryResourceGroupCustomDetails: |
The recovery resource group input. |
| recoveryTargetDiskAccountType |
string |
The target disk type after failover. Its an optional value and will be same as source disk type if not user provided. |
A2ARecoveryAvailabilityType
The recovery availability type of the virtual machine.
| Value | Description |
|---|---|
| Single |
Single |
| AvailabilitySet |
AvailabilitySet |
| AvailabilityZone |
AvailabilityZone |
A2AReplicationIntentDetails
A2A provider specific settings.
| Name | Type | Default value | Description |
|---|---|---|---|
| agentAutoUpdateStatus |
A value indicating whether the auto update is enabled. |
||
| autoProtectionOfDataDisk |
A value indicating whether the auto protection is enabled. |
||
| automationAccountArmId |
string |
The automation account arm id. |
|
| automationAccountAuthenticationType | RunAsAccount |
A value indicating the type authentication to use for automation Account. |
|
| diskEncryptionInfo |
The recovery disk encryption information (for two pass flows). |
||
| fabricObjectId |
string |
The fabric specific object Id of the virtual machine. |
|
| instanceType |
string:
A2A |
Gets the Instance type. |
|
| multiVmGroupId |
string |
The multi vm group id. |
|
| multiVmGroupName |
string |
The multi vm group name. |
|
| primaryLocation |
string |
The primary location for the virtual machine. |
|
| primaryStagingStorageAccount | StorageAccountCustomDetails: |
The primary staging storage account details. |
|
| protectionProfile | ProtectionProfileCustomDetails: |
The protection profile custom details. |
|
| recoveryAvailabilitySet | RecoveryAvailabilitySetCustomDetails: |
The recovery availability set details. |
|
| recoveryAvailabilityType |
string |
The recovery availability type of the virtual machine. |
|
| recoveryAvailabilityZone |
string |
The recovery availability zone. |
|
| recoveryBootDiagStorageAccount | StorageAccountCustomDetails: |
The boot diagnostic storage account. |
|
| recoveryLocation |
string |
The recovery location for the virtual machine. |
|
| recoveryProximityPlacementGroup | RecoveryProximityPlacementGroupCustomDetails: |
The recovery proximity placement group custom details. |
|
| recoveryResourceGroupId |
string |
The recovery resource group id. |
|
| recoverySubscriptionId |
string |
The recovery subscription Id of the virtual machine. |
|
| recoveryVirtualNetwork | RecoveryVirtualNetworkCustomDetails: |
The recovery virtual network details. |
|
| vmDisks |
The list of vm disk details. |
||
| vmManagedDisks |
The list of vm managed disk details. |
AgentAutoUpdateStatus
A value indicating whether the auto update is enabled.
| Value | Description |
|---|---|
| Disabled |
Disabled |
| Enabled |
Enabled |
AutomationAccountAuthenticationType
A value indicating the type authentication to use for automation Account.
| Value | Description |
|---|---|
| RunAsAccount |
RunAsAccount |
| SystemAssignedIdentity |
SystemAssignedIdentity |
AutoProtectionOfDataDisk
A value indicating whether the auto protection is enabled.
| Value | Description |
|---|---|
| Disabled |
Disabled |
| Enabled |
Enabled |
createdByType
The type of identity that created the resource.
| Value | Description |
|---|---|
| User | |
| Application | |
| ManagedIdentity | |
| Key |
CreateProtectionIntentInput
Create protection intent input.
| Name | Type | Description |
|---|---|---|
| properties |
Create protection intent input properties. |
CreateProtectionIntentProperties
Create protection intent input properties.
| Name | Type | Description |
|---|---|---|
| providerSpecificDetails | CreateProtectionIntentProviderSpecificDetails: |
The ReplicationProviderInput. For A2A provider, it will be A2ACreateProtectionIntentInput object. |
DiskEncryptionInfo
Recovery disk encryption info (BEK and KEK).
| Name | Type | Description |
|---|---|---|
| diskEncryptionKeyInfo |
The recovery KeyVault reference for secret. |
|
| keyEncryptionKeyInfo |
The recovery KeyVault reference for key. |
DiskEncryptionKeyInfo
Disk Encryption Key Information (BitLocker Encryption Key (BEK) on Windows).
| Name | Type | Description |
|---|---|---|
| keyVaultResourceArmId |
string |
The KeyVault resource ARM id for secret. |
| secretIdentifier |
string |
The secret url / identifier. |
ExistingProtectionProfile
Existing storage account input.
| Name | Type | Description |
|---|---|---|
| protectionProfileId |
string |
The protection profile Arm Id. Throw error, if resource does not exists. |
| resourceType |
string:
Existing |
The class type. |
ExistingRecoveryAvailabilitySet
Existing recovery availability set input.
| Name | Type | Description |
|---|---|---|
| recoveryAvailabilitySetId |
string |
The recovery availability set Id. Will throw error, if resource does not exist. |
| resourceType |
string:
Existing |
The class type. |
ExistingRecoveryProximityPlacementGroup
Existing recovery proximity placement group input.
| Name | Type | Description |
|---|---|---|
| recoveryProximityPlacementGroupId |
string |
The recovery proximity placement group Id. Will throw error, if resource does not exist. |
| resourceType |
string:
Existing |
The class type. |
ExistingRecoveryRecoveryResourceGroup
Existing recovery resource group input.
| Name | Type | Description |
|---|---|---|
| recoveryResourceGroupId |
string |
The recovery resource group Id. Valid for V2 scenarios. |
| resourceType |
string:
Existing |
The class type. |
ExistingRecoveryVirtualNetwork
Existing recovery virtual network input.
| Name | Type | Description |
|---|---|---|
| recoverySubnetName |
string |
The recovery subnet name. |
| recoveryVirtualNetworkId |
string |
The recovery virtual network Id. Will throw error, if resource does not exist. |
| resourceType |
string:
Existing |
The class type. |
ExistingStorageAccount
Existing storage account input.
| Name | Type | Description |
|---|---|---|
| azureStorageAccountId |
string |
The storage account Arm Id. Throw error, if resource does not exists. |
| resourceType |
string:
Existing |
The class type. |
KeyEncryptionKeyInfo
Key Encryption Key (KEK) information.
| Name | Type | Description |
|---|---|---|
| keyIdentifier |
string |
The key URL / identifier. |
| keyVaultResourceArmId |
string |
The KeyVault resource ARM Id for key. |
NewProtectionProfile
New Protection profile input.
| Name | Type | Description |
|---|---|---|
| appConsistentFrequencyInMinutes |
integer (int32) |
The app consistent snapshot frequency (in minutes). |
| crashConsistentFrequencyInMinutes |
integer (int32) |
The crash consistent snapshot frequency (in minutes). |
| multiVmSyncStatus |
A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'. |
|
| policyName |
string |
The protection profile input. |
| recoveryPointHistory |
integer (int32) |
The duration in minutes until which the recovery points need to be stored. |
| resourceType |
string:
New |
The class type. |
NewRecoveryVirtualNetwork
Recovery virtual network input to create new virtual network from given source network.
| Name | Type | Description |
|---|---|---|
| recoveryVirtualNetworkName |
string |
The recovery virtual network name. |
| recoveryVirtualNetworkResourceGroupName |
string |
The name of the resource group to be used to create the recovery virtual network. If absent, target network would be created in the same resource group as target VM. |
| resourceType |
string:
New |
The class type. |
ReplicationProtectionIntent
Replication protection intent.
| Name | Type | Description |
|---|---|---|
| id |
string (arm-id) |
Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" |
| location |
string |
Resource Location |
| name |
string |
The name of the resource |
| properties |
The custom data. |
|
| systemData |
Azure Resource Manager metadata containing createdBy and modifiedBy information. |
|
| type |
string |
The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" |
ReplicationProtectionIntentProperties
Replication protection intent custom data details.
| Name | Type | Description |
|---|---|---|
| creationTimeUTC |
string |
The creation time in UTC. |
| friendlyName |
string |
The name. |
| isActive |
boolean |
A value indicating whether the intent object is active. |
| jobId |
string |
The job Id. |
| jobState |
string |
The job state. |
| providerSpecificDetails | ReplicationProtectionIntentProviderSpecificSettings: |
The Replication provider custom settings. |
SetMultiVmSyncStatus
A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.
| Value | Description |
|---|---|
| Enable |
Enable |
| Disable |
Disable |
systemData
Metadata pertaining to creation and last modification of the resource.
| Name | Type | Description |
|---|---|---|
| createdAt |
string (date-time) |
The timestamp of resource creation (UTC). |
| createdBy |
string |
The identity that created the resource. |
| createdByType |
The type of identity that created the resource. |
|
| lastModifiedAt |
string (date-time) |
The timestamp of resource last modification (UTC) |
| lastModifiedBy |
string |
The identity that last modified the resource. |
| lastModifiedByType |
The type of identity that last modified the resource. |