Microsoft.RecoveryServices vaults/replicationRecoveryPlans 2021-11-01

Bicep resource definition

The vaults/replicationRecoveryPlans resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.RecoveryServices/vaults/replicationRecoveryPlans resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.RecoveryServices/vaults/replicationRecoveryPlans@2021-11-01' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    failoverDeploymentModel: 'string'
    groups: [
      {
        endGroupActions: [
          {
            actionName: 'string'
            customDetails: {
              instanceType: 'string'
              // For remaining properties, see RecoveryPlanActionDetails objects
            }
            failoverDirections: [
              'string'
            ]
            failoverTypes: [
              'string'
            ]
          }
        ]
        groupType: 'string'
        replicationProtectedItems: [
          {
            id: 'string'
            virtualMachineId: 'string'
          }
        ]
        startGroupActions: [
          {
            actionName: 'string'
            customDetails: {
              instanceType: 'string'
              // For remaining properties, see RecoveryPlanActionDetails objects
            }
            failoverDirections: [
              'string'
            ]
            failoverTypes: [
              'string'
            ]
          }
        ]
      }
    ]
    primaryFabricId: 'string'
    providerSpecificInput: [
      {
        instanceType: 'string'
        // For remaining properties, see RecoveryPlanProviderSpecificInput objects
      }
    ]
    recoveryFabricId: 'string'
  }
}

RecoveryPlanProviderSpecificInput objects

Set the instanceType property to specify the type of object.

For A2A, use:

{
  instanceType: 'A2A'
  primaryExtendedLocation: {
    name: 'string'
    type: 'string'
  }
  primaryZone: 'string'
  recoveryExtendedLocation: {
    name: 'string'
    type: 'string'
  }
  recoveryZone: 'string'
}

RecoveryPlanActionDetails objects

Set the instanceType property to specify the type of object.

For AutomationRunbookActionDetails, use:

{
  fabricLocation: 'string'
  instanceType: 'AutomationRunbookActionDetails'
  runbookId: 'string'
  timeout: 'string'
}

For ManualActionDetails, use:

{
  description: 'string'
  instanceType: 'ManualActionDetails'
}

For ScriptActionDetails, use:

{
  fabricLocation: 'string'
  instanceType: 'ScriptActionDetails'
  path: 'string'
  timeout: 'string'
}

Property values

CreateRecoveryPlanInputPropertiesOrRecoveryPlanProperties

Name Description Value
failoverDeploymentModel The failover deployment model. 'Classic'
'NotApplicable'
'ResourceManager'
groups The recovery plan groups. RecoveryPlanGroup[] (required)
primaryFabricId The primary fabric Id. string (required)
providerSpecificInput The provider specific input. RecoveryPlanProviderSpecificInput[]
recoveryFabricId The recovery fabric Id. string (required)

ExtendedLocation

Name Description Value
name The name of the extended location. string (required)
type The extended location type. 'EdgeZone' (required)

Microsoft.RecoveryServices/vaults/replicationRecoveryPlans

Name Description Value
name The resource name string (required)
parent In Bicep, you can specify the parent resource for a child resource. You only need to add this property when the child resource is declared outside of the parent resource.

For more information, see Child resource outside parent resource.
Symbolic name for resource of type: vaults
properties Recovery plan creation properties. CreateRecoveryPlanInputPropertiesOrRecoveryPlanProperties (required)

RecoveryPlanA2AInput

Name Description Value
instanceType Gets the Instance type. 'A2A' (required)
primaryExtendedLocation The primary extended location. ExtendedLocation
primaryZone The primary zone. string
recoveryExtendedLocation The recovery extended location. ExtendedLocation
recoveryZone The recovery zone. string

RecoveryPlanAction

Name Description Value
actionName The action name. string (required)
customDetails The custom details. RecoveryPlanActionDetails (required)
failoverDirections The list of failover directions. String array containing any of:
'PrimaryToRecovery'
'RecoveryToPrimary' (required)
failoverTypes The list of failover types. String array containing any of:
'CancelFailover'
'ChangePit'
'Commit'
'CompleteMigration'
'DisableProtection'
'Failback'
'FinalizeFailback'
'PlannedFailover'
'RepairReplication'
'ReverseReplicate'
'SwitchProtection'
'TestFailover'
'TestFailoverCleanup'
'UnplannedFailover' (required)

RecoveryPlanActionDetails

Name Description Value
instanceType Set to 'AutomationRunbookActionDetails' for type RecoveryPlanAutomationRunbookActionDetails. Set to 'ManualActionDetails' for type RecoveryPlanManualActionDetails. Set to 'ScriptActionDetails' for type RecoveryPlanScriptActionDetails. 'AutomationRunbookActionDetails'
'ManualActionDetails'
'ScriptActionDetails' (required)

RecoveryPlanAutomationRunbookActionDetails

Name Description Value
fabricLocation The fabric location. 'Primary'
'Recovery' (required)
instanceType Gets the type of action details (see RecoveryPlanActionDetailsTypes enum for possible values). 'AutomationRunbookActionDetails' (required)
runbookId The runbook ARM Id. string
timeout The runbook timeout. string

RecoveryPlanGroup

Name Description Value
endGroupActions The end group actions. RecoveryPlanAction[]
groupType The group type. 'Boot'
'Failover'
'Shutdown' (required)
replicationProtectedItems The list of protected items. RecoveryPlanProtectedItem[]
startGroupActions The start group actions. RecoveryPlanAction[]

RecoveryPlanManualActionDetails

Name Description Value
description The manual action description. string
instanceType Gets the type of action details (see RecoveryPlanActionDetailsTypes enum for possible values). 'ManualActionDetails' (required)

RecoveryPlanProtectedItem

Name Description Value
id The ARM Id of the recovery plan protected item. string
virtualMachineId The virtual machine Id. string

RecoveryPlanProviderSpecificInput

Name Description Value
instanceType Set to 'A2A' for type RecoveryPlanA2AInput. 'A2A' (required)

RecoveryPlanScriptActionDetails

Name Description Value
fabricLocation The fabric location. 'Primary'
'Recovery' (required)
instanceType Gets the type of action details (see RecoveryPlanActionDetailsTypes enum for possible values). 'ScriptActionDetails' (required)
path The script path. string (required)
timeout The script timeout. string

ARM template resource definition

The vaults/replicationRecoveryPlans resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.RecoveryServices/vaults/replicationRecoveryPlans resource, add the following JSON to your template.

{
  "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans",
  "apiVersion": "2021-11-01",
  "name": "string",
  "properties": {
    "failoverDeploymentModel": "string",
    "groups": [
      {
        "endGroupActions": [
          {
            "actionName": "string",
            "customDetails": {
              "instanceType": "string"
              // For remaining properties, see RecoveryPlanActionDetails objects
            },
            "failoverDirections": [ "string" ],
            "failoverTypes": [ "string" ]
          }
        ],
        "groupType": "string",
        "replicationProtectedItems": [
          {
            "id": "string",
            "virtualMachineId": "string"
          }
        ],
        "startGroupActions": [
          {
            "actionName": "string",
            "customDetails": {
              "instanceType": "string"
              // For remaining properties, see RecoveryPlanActionDetails objects
            },
            "failoverDirections": [ "string" ],
            "failoverTypes": [ "string" ]
          }
        ]
      }
    ],
    "primaryFabricId": "string",
    "providerSpecificInput": [ {
      "instanceType": "string"
      // For remaining properties, see RecoveryPlanProviderSpecificInput objects
    } ],
    "recoveryFabricId": "string"
  }
}

RecoveryPlanProviderSpecificInput objects

Set the instanceType property to specify the type of object.

For A2A, use:

{
  "instanceType": "A2A",
  "primaryExtendedLocation": {
    "name": "string",
    "type": "string"
  },
  "primaryZone": "string",
  "recoveryExtendedLocation": {
    "name": "string",
    "type": "string"
  },
  "recoveryZone": "string"
}

RecoveryPlanActionDetails objects

Set the instanceType property to specify the type of object.

For AutomationRunbookActionDetails, use:

{
  "fabricLocation": "string",
  "instanceType": "AutomationRunbookActionDetails",
  "runbookId": "string",
  "timeout": "string"
}

For ManualActionDetails, use:

{
  "description": "string",
  "instanceType": "ManualActionDetails"
}

For ScriptActionDetails, use:

{
  "fabricLocation": "string",
  "instanceType": "ScriptActionDetails",
  "path": "string",
  "timeout": "string"
}

Property values

CreateRecoveryPlanInputPropertiesOrRecoveryPlanProperties

Name Description Value
failoverDeploymentModel The failover deployment model. 'Classic'
'NotApplicable'
'ResourceManager'
groups The recovery plan groups. RecoveryPlanGroup[] (required)
primaryFabricId The primary fabric Id. string (required)
providerSpecificInput The provider specific input. RecoveryPlanProviderSpecificInput[]
recoveryFabricId The recovery fabric Id. string (required)

ExtendedLocation

Name Description Value
name The name of the extended location. string (required)
type The extended location type. 'EdgeZone' (required)

Microsoft.RecoveryServices/vaults/replicationRecoveryPlans

Name Description Value
apiVersion The api version '2021-11-01'
name The resource name string (required)
properties Recovery plan creation properties. CreateRecoveryPlanInputPropertiesOrRecoveryPlanProperties (required)
type The resource type 'Microsoft.RecoveryServices/vaults/replicationRecoveryPlans'

RecoveryPlanA2AInput

Name Description Value
instanceType Gets the Instance type. 'A2A' (required)
primaryExtendedLocation The primary extended location. ExtendedLocation
primaryZone The primary zone. string
recoveryExtendedLocation The recovery extended location. ExtendedLocation
recoveryZone The recovery zone. string

RecoveryPlanAction

Name Description Value
actionName The action name. string (required)
customDetails The custom details. RecoveryPlanActionDetails (required)
failoverDirections The list of failover directions. String array containing any of:
'PrimaryToRecovery'
'RecoveryToPrimary' (required)
failoverTypes The list of failover types. String array containing any of:
'CancelFailover'
'ChangePit'
'Commit'
'CompleteMigration'
'DisableProtection'
'Failback'
'FinalizeFailback'
'PlannedFailover'
'RepairReplication'
'ReverseReplicate'
'SwitchProtection'
'TestFailover'
'TestFailoverCleanup'
'UnplannedFailover' (required)

RecoveryPlanActionDetails

Name Description Value
instanceType Set to 'AutomationRunbookActionDetails' for type RecoveryPlanAutomationRunbookActionDetails. Set to 'ManualActionDetails' for type RecoveryPlanManualActionDetails. Set to 'ScriptActionDetails' for type RecoveryPlanScriptActionDetails. 'AutomationRunbookActionDetails'
'ManualActionDetails'
'ScriptActionDetails' (required)

RecoveryPlanAutomationRunbookActionDetails

Name Description Value
fabricLocation The fabric location. 'Primary'
'Recovery' (required)
instanceType Gets the type of action details (see RecoveryPlanActionDetailsTypes enum for possible values). 'AutomationRunbookActionDetails' (required)
runbookId The runbook ARM Id. string
timeout The runbook timeout. string

RecoveryPlanGroup

Name Description Value
endGroupActions The end group actions. RecoveryPlanAction[]
groupType The group type. 'Boot'
'Failover'
'Shutdown' (required)
replicationProtectedItems The list of protected items. RecoveryPlanProtectedItem[]
startGroupActions The start group actions. RecoveryPlanAction[]

RecoveryPlanManualActionDetails

Name Description Value
description The manual action description. string
instanceType Gets the type of action details (see RecoveryPlanActionDetailsTypes enum for possible values). 'ManualActionDetails' (required)

RecoveryPlanProtectedItem

Name Description Value
id The ARM Id of the recovery plan protected item. string
virtualMachineId The virtual machine Id. string

RecoveryPlanProviderSpecificInput

Name Description Value
instanceType Set to 'A2A' for type RecoveryPlanA2AInput. 'A2A' (required)

RecoveryPlanScriptActionDetails

Name Description Value
fabricLocation The fabric location. 'Primary'
'Recovery' (required)
instanceType Gets the type of action details (see RecoveryPlanActionDetailsTypes enum for possible values). 'ScriptActionDetails' (required)
path The script path. string (required)
timeout The script timeout. string

Terraform (AzAPI provider) resource definition

The vaults/replicationRecoveryPlans resource type can be deployed with operations that target:

  • Resource groups

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.RecoveryServices/vaults/replicationRecoveryPlans resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans@2021-11-01"
  name = "string"
  body = jsonencode({
    properties = {
      failoverDeploymentModel = "string"
      groups = [
        {
          endGroupActions = [
            {
              actionName = "string"
              customDetails = {
                instanceType = "string"
                // For remaining properties, see RecoveryPlanActionDetails objects
              }
              failoverDirections = [
                "string"
              ]
              failoverTypes = [
                "string"
              ]
            }
          ]
          groupType = "string"
          replicationProtectedItems = [
            {
              id = "string"
              virtualMachineId = "string"
            }
          ]
          startGroupActions = [
            {
              actionName = "string"
              customDetails = {
                instanceType = "string"
                // For remaining properties, see RecoveryPlanActionDetails objects
              }
              failoverDirections = [
                "string"
              ]
              failoverTypes = [
                "string"
              ]
            }
          ]
        }
      ]
      primaryFabricId = "string"
      providerSpecificInput = [
        {
          instanceType = "string"
          // For remaining properties, see RecoveryPlanProviderSpecificInput objects
        }
      ]
      recoveryFabricId = "string"
    }
  })
}

RecoveryPlanProviderSpecificInput objects

Set the instanceType property to specify the type of object.

For A2A, use:

{
  instanceType = "A2A"
  primaryExtendedLocation = {
    name = "string"
    type = "string"
  }
  primaryZone = "string"
  recoveryExtendedLocation = {
    name = "string"
    type = "string"
  }
  recoveryZone = "string"
}

RecoveryPlanActionDetails objects

Set the instanceType property to specify the type of object.

For AutomationRunbookActionDetails, use:

{
  fabricLocation = "string"
  instanceType = "AutomationRunbookActionDetails"
  runbookId = "string"
  timeout = "string"
}

For ManualActionDetails, use:

{
  description = "string"
  instanceType = "ManualActionDetails"
}

For ScriptActionDetails, use:

{
  fabricLocation = "string"
  instanceType = "ScriptActionDetails"
  path = "string"
  timeout = "string"
}

Property values

CreateRecoveryPlanInputPropertiesOrRecoveryPlanProperties

Name Description Value
failoverDeploymentModel The failover deployment model. 'Classic'
'NotApplicable'
'ResourceManager'
groups The recovery plan groups. RecoveryPlanGroup[] (required)
primaryFabricId The primary fabric Id. string (required)
providerSpecificInput The provider specific input. RecoveryPlanProviderSpecificInput[]
recoveryFabricId The recovery fabric Id. string (required)

ExtendedLocation

Name Description Value
name The name of the extended location. string (required)
type The extended location type. 'EdgeZone' (required)

Microsoft.RecoveryServices/vaults/replicationRecoveryPlans

Name Description Value
name The resource name string (required)
parent_id The ID of the resource that is the parent for this resource. ID for resource of type: vaults
properties Recovery plan creation properties. CreateRecoveryPlanInputPropertiesOrRecoveryPlanProperties (required)
type The resource type "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans@2021-11-01"

RecoveryPlanA2AInput

Name Description Value
instanceType Gets the Instance type. 'A2A' (required)
primaryExtendedLocation The primary extended location. ExtendedLocation
primaryZone The primary zone. string
recoveryExtendedLocation The recovery extended location. ExtendedLocation
recoveryZone The recovery zone. string

RecoveryPlanAction

Name Description Value
actionName The action name. string (required)
customDetails The custom details. RecoveryPlanActionDetails (required)
failoverDirections The list of failover directions. String array containing any of:
'PrimaryToRecovery'
'RecoveryToPrimary' (required)
failoverTypes The list of failover types. String array containing any of:
'CancelFailover'
'ChangePit'
'Commit'
'CompleteMigration'
'DisableProtection'
'Failback'
'FinalizeFailback'
'PlannedFailover'
'RepairReplication'
'ReverseReplicate'
'SwitchProtection'
'TestFailover'
'TestFailoverCleanup'
'UnplannedFailover' (required)

RecoveryPlanActionDetails

Name Description Value
instanceType Set to 'AutomationRunbookActionDetails' for type RecoveryPlanAutomationRunbookActionDetails. Set to 'ManualActionDetails' for type RecoveryPlanManualActionDetails. Set to 'ScriptActionDetails' for type RecoveryPlanScriptActionDetails. 'AutomationRunbookActionDetails'
'ManualActionDetails'
'ScriptActionDetails' (required)

RecoveryPlanAutomationRunbookActionDetails

Name Description Value
fabricLocation The fabric location. 'Primary'
'Recovery' (required)
instanceType Gets the type of action details (see RecoveryPlanActionDetailsTypes enum for possible values). 'AutomationRunbookActionDetails' (required)
runbookId The runbook ARM Id. string
timeout The runbook timeout. string

RecoveryPlanGroup

Name Description Value
endGroupActions The end group actions. RecoveryPlanAction[]
groupType The group type. 'Boot'
'Failover'
'Shutdown' (required)
replicationProtectedItems The list of protected items. RecoveryPlanProtectedItem[]
startGroupActions The start group actions. RecoveryPlanAction[]

RecoveryPlanManualActionDetails

Name Description Value
description The manual action description. string
instanceType Gets the type of action details (see RecoveryPlanActionDetailsTypes enum for possible values). 'ManualActionDetails' (required)

RecoveryPlanProtectedItem

Name Description Value
id The ARM Id of the recovery plan protected item. string
virtualMachineId The virtual machine Id. string

RecoveryPlanProviderSpecificInput

Name Description Value
instanceType Set to 'A2A' for type RecoveryPlanA2AInput. 'A2A' (required)

RecoveryPlanScriptActionDetails

Name Description Value
fabricLocation The fabric location. 'Primary'
'Recovery' (required)
instanceType Gets the type of action details (see RecoveryPlanActionDetailsTypes enum for possible values). 'ScriptActionDetails' (required)
path The script path. string (required)
timeout The script timeout. string