1. Packages
  2. Azure Classic
  3. API Docs
  4. siterecovery
  5. ReplicationRecoveryPlan

We recommend using Azure Native.

Azure v6.21.0 published on Friday, Mar 7, 2025 by Pulumi

azure.siterecovery.ReplicationRecoveryPlan

Explore with Pulumi AI

Manages a Site Recovery Replication Recovery Plan within a Recovery Services vault. A recovery plan gathers machines into recovery groups for the purpose of failover.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const primary = new azure.core.ResourceGroup("primary", {
    name: "tfex-replicated-vm-primary",
    location: "West US",
});
const secondary = new azure.core.ResourceGroup("secondary", {
    name: "tfex-replicated-vm-secondary",
    location: "East US",
});
const primaryVirtualNetwork = new azure.network.VirtualNetwork("primary", {
    name: "network1",
    resourceGroupName: primary.name,
    addressSpaces: ["192.168.1.0/24"],
    location: primary.location,
});
const primarySubnet = new azure.network.Subnet("primary", {
    name: "network1-subnet",
    resourceGroupName: primary.name,
    virtualNetworkName: primaryVirtualNetwork.name,
    addressPrefixes: ["192.168.1.0/24"],
});
const primaryPublicIp = new azure.network.PublicIp("primary", {
    name: "vm-public-ip-primary",
    allocationMethod: "Static",
    location: primary.location,
    resourceGroupName: primary.name,
    sku: "Basic",
});
const vmNetworkInterface = new azure.network.NetworkInterface("vm", {
    name: "vm-nic",
    location: primary.location,
    resourceGroupName: primary.name,
    ipConfigurations: [{
        name: "vm",
        subnetId: primarySubnet.id,
        privateIpAddressAllocation: "Dynamic",
        publicIpAddressId: primaryPublicIp.id,
    }],
});
const vm = new azure.compute.VirtualMachine("vm", {
    name: "vm",
    location: primary.location,
    resourceGroupName: primary.name,
    vmSize: "Standard_B1s",
    networkInterfaceIds: [vmNetworkInterface.id],
    storageImageReference: {
        publisher: "Canonical",
        offer: "0001-com-ubuntu-server-jammy",
        sku: "22_04-lts",
        version: "latest",
    },
    storageOsDisk: {
        name: "vm-os-disk",
        osType: "Linux",
        caching: "ReadWrite",
        createOption: "FromImage",
        managedDiskType: "Premium_LRS",
    },
    osProfile: {
        adminUsername: "test-admin-123",
        adminPassword: "test-pwd-123",
        computerName: "vm",
    },
    osProfileLinuxConfig: {
        disablePasswordAuthentication: false,
    },
});
const vault = new azure.recoveryservices.Vault("vault", {
    name: "example-recovery-vault",
    location: secondary.location,
    resourceGroupName: secondary.name,
    sku: "Standard",
});
const primaryFabric = new azure.siterecovery.Fabric("primary", {
    name: "primary-fabric",
    resourceGroupName: secondary.name,
    recoveryVaultName: vault.name,
    location: primary.location,
});
const secondaryFabric = new azure.siterecovery.Fabric("secondary", {
    name: "secondary-fabric",
    resourceGroupName: secondary.name,
    recoveryVaultName: vault.name,
    location: secondary.location,
});
const primaryProtectionContainer = new azure.siterecovery.ProtectionContainer("primary", {
    name: "primary-protection-container",
    resourceGroupName: secondary.name,
    recoveryVaultName: vault.name,
    recoveryFabricName: primaryFabric.name,
});
const secondaryProtectionContainer = new azure.siterecovery.ProtectionContainer("secondary", {
    name: "secondary-protection-container",
    resourceGroupName: secondary.name,
    recoveryVaultName: vault.name,
    recoveryFabricName: secondaryFabric.name,
});
const policy = new azure.siterecovery.ReplicationPolicy("policy", {
    name: "policy",
    resourceGroupName: secondary.name,
    recoveryVaultName: vault.name,
    recoveryPointRetentionInMinutes: 24 * 60,
    applicationConsistentSnapshotFrequencyInMinutes: 4 * 60,
});
const container_mapping = new azure.siterecovery.ProtectionContainerMapping("container-mapping", {
    name: "container-mapping",
    resourceGroupName: secondary.name,
    recoveryVaultName: vault.name,
    recoveryFabricName: primaryFabric.name,
    recoverySourceProtectionContainerName: primaryProtectionContainer.name,
    recoveryTargetProtectionContainerId: secondaryProtectionContainer.id,
    recoveryReplicationPolicyId: policy.id,
});
const secondaryVirtualNetwork = new azure.network.VirtualNetwork("secondary", {
    name: "network2",
    resourceGroupName: secondary.name,
    addressSpaces: ["192.168.2.0/24"],
    location: secondary.location,
});
const network_mapping = new azure.siterecovery.NetworkMapping("network-mapping", {
    name: "network-mapping",
    resourceGroupName: secondary.name,
    recoveryVaultName: vault.name,
    sourceRecoveryFabricName: primaryFabric.name,
    targetRecoveryFabricName: secondaryFabric.name,
    sourceNetworkId: primaryVirtualNetwork.id,
    targetNetworkId: secondaryVirtualNetwork.id,
});
const primaryAccount = new azure.storage.Account("primary", {
    name: "primaryrecoverycache",
    location: primary.location,
    resourceGroupName: primary.name,
    accountTier: "Standard",
    accountReplicationType: "LRS",
});
const secondarySubnet = new azure.network.Subnet("secondary", {
    name: "network2-subnet",
    resourceGroupName: secondary.name,
    virtualNetworkName: secondaryVirtualNetwork.name,
    addressPrefixes: ["192.168.2.0/24"],
});
const secondaryPublicIp = new azure.network.PublicIp("secondary", {
    name: "vm-public-ip-secondary",
    allocationMethod: "Static",
    location: secondary.location,
    resourceGroupName: secondary.name,
    sku: "Basic",
});
const vm_replication = new azure.siterecovery.ReplicatedVM("vm-replication", {
    name: "vm-replication",
    resourceGroupName: secondary.name,
    recoveryVaultName: vault.name,
    sourceRecoveryFabricName: primaryFabric.name,
    sourceVmId: vm.id,
    recoveryReplicationPolicyId: policy.id,
    sourceRecoveryProtectionContainerName: primaryProtectionContainer.name,
    targetResourceGroupId: secondary.id,
    targetRecoveryFabricId: secondaryFabric.id,
    targetRecoveryProtectionContainerId: secondaryProtectionContainer.id,
    managedDisks: [{
        diskId: vm.storageOsDisk.apply(storageOsDisk => storageOsDisk.managedDiskId),
        stagingStorageAccountId: primaryAccount.id,
        targetResourceGroupId: secondary.id,
        targetDiskType: "Premium_LRS",
        targetReplicaDiskType: "Premium_LRS",
    }],
    networkInterfaces: [{
        sourceNetworkInterfaceId: vmNetworkInterface.id,
        targetSubnetName: secondarySubnet.name,
        recoveryPublicIpAddressId: secondaryPublicIp.id,
    }],
}, {
    dependsOn: [
        container_mapping,
        network_mapping,
    ],
});
const example = new azure.siterecovery.ReplicationRecoveryPlan("example", {
    name: "example-recover-plan",
    recoveryVaultId: vault.id,
    sourceRecoveryFabricId: primaryFabric.id,
    targetRecoveryFabricId: secondaryFabric.id,
    shutdownRecoveryGroup: {},
    failoverRecoveryGroup: {},
    bootRecoveryGroups: [{
        replicatedProtectedItems: [vm_replication.id],
    }],
});
Copy
import pulumi
import pulumi_azure as azure

primary = azure.core.ResourceGroup("primary",
    name="tfex-replicated-vm-primary",
    location="West US")
secondary = azure.core.ResourceGroup("secondary",
    name="tfex-replicated-vm-secondary",
    location="East US")
primary_virtual_network = azure.network.VirtualNetwork("primary",
    name="network1",
    resource_group_name=primary.name,
    address_spaces=["192.168.1.0/24"],
    location=primary.location)
primary_subnet = azure.network.Subnet("primary",
    name="network1-subnet",
    resource_group_name=primary.name,
    virtual_network_name=primary_virtual_network.name,
    address_prefixes=["192.168.1.0/24"])
primary_public_ip = azure.network.PublicIp("primary",
    name="vm-public-ip-primary",
    allocation_method="Static",
    location=primary.location,
    resource_group_name=primary.name,
    sku="Basic")
vm_network_interface = azure.network.NetworkInterface("vm",
    name="vm-nic",
    location=primary.location,
    resource_group_name=primary.name,
    ip_configurations=[{
        "name": "vm",
        "subnet_id": primary_subnet.id,
        "private_ip_address_allocation": "Dynamic",
        "public_ip_address_id": primary_public_ip.id,
    }])
vm = azure.compute.VirtualMachine("vm",
    name="vm",
    location=primary.location,
    resource_group_name=primary.name,
    vm_size="Standard_B1s",
    network_interface_ids=[vm_network_interface.id],
    storage_image_reference={
        "publisher": "Canonical",
        "offer": "0001-com-ubuntu-server-jammy",
        "sku": "22_04-lts",
        "version": "latest",
    },
    storage_os_disk={
        "name": "vm-os-disk",
        "os_type": "Linux",
        "caching": "ReadWrite",
        "create_option": "FromImage",
        "managed_disk_type": "Premium_LRS",
    },
    os_profile={
        "admin_username": "test-admin-123",
        "admin_password": "test-pwd-123",
        "computer_name": "vm",
    },
    os_profile_linux_config={
        "disable_password_authentication": False,
    })
vault = azure.recoveryservices.Vault("vault",
    name="example-recovery-vault",
    location=secondary.location,
    resource_group_name=secondary.name,
    sku="Standard")
primary_fabric = azure.siterecovery.Fabric("primary",
    name="primary-fabric",
    resource_group_name=secondary.name,
    recovery_vault_name=vault.name,
    location=primary.location)
secondary_fabric = azure.siterecovery.Fabric("secondary",
    name="secondary-fabric",
    resource_group_name=secondary.name,
    recovery_vault_name=vault.name,
    location=secondary.location)
primary_protection_container = azure.siterecovery.ProtectionContainer("primary",
    name="primary-protection-container",
    resource_group_name=secondary.name,
    recovery_vault_name=vault.name,
    recovery_fabric_name=primary_fabric.name)
secondary_protection_container = azure.siterecovery.ProtectionContainer("secondary",
    name="secondary-protection-container",
    resource_group_name=secondary.name,
    recovery_vault_name=vault.name,
    recovery_fabric_name=secondary_fabric.name)
policy = azure.siterecovery.ReplicationPolicy("policy",
    name="policy",
    resource_group_name=secondary.name,
    recovery_vault_name=vault.name,
    recovery_point_retention_in_minutes=24 * 60,
    application_consistent_snapshot_frequency_in_minutes=4 * 60)
container_mapping = azure.siterecovery.ProtectionContainerMapping("container-mapping",
    name="container-mapping",
    resource_group_name=secondary.name,
    recovery_vault_name=vault.name,
    recovery_fabric_name=primary_fabric.name,
    recovery_source_protection_container_name=primary_protection_container.name,
    recovery_target_protection_container_id=secondary_protection_container.id,
    recovery_replication_policy_id=policy.id)
secondary_virtual_network = azure.network.VirtualNetwork("secondary",
    name="network2",
    resource_group_name=secondary.name,
    address_spaces=["192.168.2.0/24"],
    location=secondary.location)
network_mapping = azure.siterecovery.NetworkMapping("network-mapping",
    name="network-mapping",
    resource_group_name=secondary.name,
    recovery_vault_name=vault.name,
    source_recovery_fabric_name=primary_fabric.name,
    target_recovery_fabric_name=secondary_fabric.name,
    source_network_id=primary_virtual_network.id,
    target_network_id=secondary_virtual_network.id)
primary_account = azure.storage.Account("primary",
    name="primaryrecoverycache",
    location=primary.location,
    resource_group_name=primary.name,
    account_tier="Standard",
    account_replication_type="LRS")
secondary_subnet = azure.network.Subnet("secondary",
    name="network2-subnet",
    resource_group_name=secondary.name,
    virtual_network_name=secondary_virtual_network.name,
    address_prefixes=["192.168.2.0/24"])
secondary_public_ip = azure.network.PublicIp("secondary",
    name="vm-public-ip-secondary",
    allocation_method="Static",
    location=secondary.location,
    resource_group_name=secondary.name,
    sku="Basic")
vm_replication = azure.siterecovery.ReplicatedVM("vm-replication",
    name="vm-replication",
    resource_group_name=secondary.name,
    recovery_vault_name=vault.name,
    source_recovery_fabric_name=primary_fabric.name,
    source_vm_id=vm.id,
    recovery_replication_policy_id=policy.id,
    source_recovery_protection_container_name=primary_protection_container.name,
    target_resource_group_id=secondary.id,
    target_recovery_fabric_id=secondary_fabric.id,
    target_recovery_protection_container_id=secondary_protection_container.id,
    managed_disks=[{
        "disk_id": vm.storage_os_disk.managed_disk_id,
        "staging_storage_account_id": primary_account.id,
        "target_resource_group_id": secondary.id,
        "target_disk_type": "Premium_LRS",
        "target_replica_disk_type": "Premium_LRS",
    }],
    network_interfaces=[{
        "source_network_interface_id": vm_network_interface.id,
        "target_subnet_name": secondary_subnet.name,
        "recovery_public_ip_address_id": secondary_public_ip.id,
    }],
    opts = pulumi.ResourceOptions(depends_on=[
            container_mapping,
            network_mapping,
        ]))
example = azure.siterecovery.ReplicationRecoveryPlan("example",
    name="example-recover-plan",
    recovery_vault_id=vault.id,
    source_recovery_fabric_id=primary_fabric.id,
    target_recovery_fabric_id=secondary_fabric.id,
    shutdown_recovery_group={},
    failover_recovery_group={},
    boot_recovery_groups=[{
        "replicated_protected_items": [vm_replication.id],
    }])
Copy
package main

import (
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute"
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network"
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/recoveryservices"
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/siterecovery"
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := core.NewResourceGroup(ctx, "primary", &core.ResourceGroupArgs{
			Name:     pulumi.String("tfex-replicated-vm-primary"),
			Location: pulumi.String("West US"),
		})
		if err != nil {
			return err
		}
		secondary, err := core.NewResourceGroup(ctx, "secondary", &core.ResourceGroupArgs{
			Name:     pulumi.String("tfex-replicated-vm-secondary"),
			Location: pulumi.String("East US"),
		})
		if err != nil {
			return err
		}
		primaryVirtualNetwork, err := network.NewVirtualNetwork(ctx, "primary", &network.VirtualNetworkArgs{
			Name:              pulumi.String("network1"),
			ResourceGroupName: primary.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("192.168.1.0/24"),
			},
			Location: primary.Location,
		})
		if err != nil {
			return err
		}
		primarySubnet, err := network.NewSubnet(ctx, "primary", &network.SubnetArgs{
			Name:               pulumi.String("network1-subnet"),
			ResourceGroupName:  primary.Name,
			VirtualNetworkName: primaryVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("192.168.1.0/24"),
			},
		})
		if err != nil {
			return err
		}
		primaryPublicIp, err := network.NewPublicIp(ctx, "primary", &network.PublicIpArgs{
			Name:              pulumi.String("vm-public-ip-primary"),
			AllocationMethod:  pulumi.String("Static"),
			Location:          primary.Location,
			ResourceGroupName: primary.Name,
			Sku:               pulumi.String("Basic"),
		})
		if err != nil {
			return err
		}
		vmNetworkInterface, err := network.NewNetworkInterface(ctx, "vm", &network.NetworkInterfaceArgs{
			Name:              pulumi.String("vm-nic"),
			Location:          primary.Location,
			ResourceGroupName: primary.Name,
			IpConfigurations: network.NetworkInterfaceIpConfigurationArray{
				&network.NetworkInterfaceIpConfigurationArgs{
					Name:                       pulumi.String("vm"),
					SubnetId:                   primarySubnet.ID(),
					PrivateIpAddressAllocation: pulumi.String("Dynamic"),
					PublicIpAddressId:          primaryPublicIp.ID(),
				},
			},
		})
		if err != nil {
			return err
		}
		vm, err := compute.NewVirtualMachine(ctx, "vm", &compute.VirtualMachineArgs{
			Name:              pulumi.String("vm"),
			Location:          primary.Location,
			ResourceGroupName: primary.Name,
			VmSize:            pulumi.String("Standard_B1s"),
			NetworkInterfaceIds: pulumi.StringArray{
				vmNetworkInterface.ID(),
			},
			StorageImageReference: &compute.VirtualMachineStorageImageReferenceArgs{
				Publisher: pulumi.String("Canonical"),
				Offer:     pulumi.String("0001-com-ubuntu-server-jammy"),
				Sku:       pulumi.String("22_04-lts"),
				Version:   pulumi.String("latest"),
			},
			StorageOsDisk: &compute.VirtualMachineStorageOsDiskArgs{
				Name:            pulumi.String("vm-os-disk"),
				OsType:          pulumi.String("Linux"),
				Caching:         pulumi.String("ReadWrite"),
				CreateOption:    pulumi.String("FromImage"),
				ManagedDiskType: pulumi.String("Premium_LRS"),
			},
			OsProfile: &compute.VirtualMachineOsProfileArgs{
				AdminUsername: pulumi.String("test-admin-123"),
				AdminPassword: pulumi.String("test-pwd-123"),
				ComputerName:  pulumi.String("vm"),
			},
			OsProfileLinuxConfig: &compute.VirtualMachineOsProfileLinuxConfigArgs{
				DisablePasswordAuthentication: pulumi.Bool(false),
			},
		})
		if err != nil {
			return err
		}
		vault, err := recoveryservices.NewVault(ctx, "vault", &recoveryservices.VaultArgs{
			Name:              pulumi.String("example-recovery-vault"),
			Location:          secondary.Location,
			ResourceGroupName: secondary.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		primaryFabric, err := siterecovery.NewFabric(ctx, "primary", &siterecovery.FabricArgs{
			Name:              pulumi.String("primary-fabric"),
			ResourceGroupName: secondary.Name,
			RecoveryVaultName: vault.Name,
			Location:          primary.Location,
		})
		if err != nil {
			return err
		}
		secondaryFabric, err := siterecovery.NewFabric(ctx, "secondary", &siterecovery.FabricArgs{
			Name:              pulumi.String("secondary-fabric"),
			ResourceGroupName: secondary.Name,
			RecoveryVaultName: vault.Name,
			Location:          secondary.Location,
		})
		if err != nil {
			return err
		}
		primaryProtectionContainer, err := siterecovery.NewProtectionContainer(ctx, "primary", &siterecovery.ProtectionContainerArgs{
			Name:               pulumi.String("primary-protection-container"),
			ResourceGroupName:  secondary.Name,
			RecoveryVaultName:  vault.Name,
			RecoveryFabricName: primaryFabric.Name,
		})
		if err != nil {
			return err
		}
		secondaryProtectionContainer, err := siterecovery.NewProtectionContainer(ctx, "secondary", &siterecovery.ProtectionContainerArgs{
			Name:               pulumi.String("secondary-protection-container"),
			ResourceGroupName:  secondary.Name,
			RecoveryVaultName:  vault.Name,
			RecoveryFabricName: secondaryFabric.Name,
		})
		if err != nil {
			return err
		}
		policy, err := siterecovery.NewReplicationPolicy(ctx, "policy", &siterecovery.ReplicationPolicyArgs{
			Name:                            pulumi.String("policy"),
			ResourceGroupName:               secondary.Name,
			RecoveryVaultName:               vault.Name,
			RecoveryPointRetentionInMinutes: int(24 * 60),
			ApplicationConsistentSnapshotFrequencyInMinutes: int(4 * 60),
		})
		if err != nil {
			return err
		}
		container_mapping, err := siterecovery.NewProtectionContainerMapping(ctx, "container-mapping", &siterecovery.ProtectionContainerMappingArgs{
			Name:                                  pulumi.String("container-mapping"),
			ResourceGroupName:                     secondary.Name,
			RecoveryVaultName:                     vault.Name,
			RecoveryFabricName:                    primaryFabric.Name,
			RecoverySourceProtectionContainerName: primaryProtectionContainer.Name,
			RecoveryTargetProtectionContainerId:   secondaryProtectionContainer.ID(),
			RecoveryReplicationPolicyId:           policy.ID(),
		})
		if err != nil {
			return err
		}
		secondaryVirtualNetwork, err := network.NewVirtualNetwork(ctx, "secondary", &network.VirtualNetworkArgs{
			Name:              pulumi.String("network2"),
			ResourceGroupName: secondary.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("192.168.2.0/24"),
			},
			Location: secondary.Location,
		})
		if err != nil {
			return err
		}
		network_mapping, err := siterecovery.NewNetworkMapping(ctx, "network-mapping", &siterecovery.NetworkMappingArgs{
			Name:                     pulumi.String("network-mapping"),
			ResourceGroupName:        secondary.Name,
			RecoveryVaultName:        vault.Name,
			SourceRecoveryFabricName: primaryFabric.Name,
			TargetRecoveryFabricName: secondaryFabric.Name,
			SourceNetworkId:          primaryVirtualNetwork.ID(),
			TargetNetworkId:          secondaryVirtualNetwork.ID(),
		})
		if err != nil {
			return err
		}
		primaryAccount, err := storage.NewAccount(ctx, "primary", &storage.AccountArgs{
			Name:                   pulumi.String("primaryrecoverycache"),
			Location:               primary.Location,
			ResourceGroupName:      primary.Name,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("LRS"),
		})
		if err != nil {
			return err
		}
		secondarySubnet, err := network.NewSubnet(ctx, "secondary", &network.SubnetArgs{
			Name:               pulumi.String("network2-subnet"),
			ResourceGroupName:  secondary.Name,
			VirtualNetworkName: secondaryVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("192.168.2.0/24"),
			},
		})
		if err != nil {
			return err
		}
		secondaryPublicIp, err := network.NewPublicIp(ctx, "secondary", &network.PublicIpArgs{
			Name:              pulumi.String("vm-public-ip-secondary"),
			AllocationMethod:  pulumi.String("Static"),
			Location:          secondary.Location,
			ResourceGroupName: secondary.Name,
			Sku:               pulumi.String("Basic"),
		})
		if err != nil {
			return err
		}
		vm_replication, err := siterecovery.NewReplicatedVM(ctx, "vm-replication", &siterecovery.ReplicatedVMArgs{
			Name:                                  pulumi.String("vm-replication"),
			ResourceGroupName:                     secondary.Name,
			RecoveryVaultName:                     vault.Name,
			SourceRecoveryFabricName:              primaryFabric.Name,
			SourceVmId:                            vm.ID(),
			RecoveryReplicationPolicyId:           policy.ID(),
			SourceRecoveryProtectionContainerName: primaryProtectionContainer.Name,
			TargetResourceGroupId:                 secondary.ID(),
			TargetRecoveryFabricId:                secondaryFabric.ID(),
			TargetRecoveryProtectionContainerId:   secondaryProtectionContainer.ID(),
			ManagedDisks: siterecovery.ReplicatedVMManagedDiskArray{
				&siterecovery.ReplicatedVMManagedDiskArgs{
					DiskId: vm.StorageOsDisk.ApplyT(func(storageOsDisk compute.VirtualMachineStorageOsDisk) (*string, error) {
						return &storageOsDisk.ManagedDiskId, nil
					}).(pulumi.StringPtrOutput),
					StagingStorageAccountId: primaryAccount.ID(),
					TargetResourceGroupId:   secondary.ID(),
					TargetDiskType:          pulumi.String("Premium_LRS"),
					TargetReplicaDiskType:   pulumi.String("Premium_LRS"),
				},
			},
			NetworkInterfaces: siterecovery.ReplicatedVMNetworkInterfaceArray{
				&siterecovery.ReplicatedVMNetworkInterfaceArgs{
					SourceNetworkInterfaceId:  vmNetworkInterface.ID(),
					TargetSubnetName:          secondarySubnet.Name,
					RecoveryPublicIpAddressId: secondaryPublicIp.ID(),
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			container_mapping,
			network_mapping,
		}))
		if err != nil {
			return err
		}
		_, err = siterecovery.NewReplicationRecoveryPlan(ctx, "example", &siterecovery.ReplicationRecoveryPlanArgs{
			Name:                   pulumi.String("example-recover-plan"),
			RecoveryVaultId:        vault.ID(),
			SourceRecoveryFabricId: primaryFabric.ID(),
			TargetRecoveryFabricId: secondaryFabric.ID(),
			ShutdownRecoveryGroup:  &siterecovery.ReplicationRecoveryPlanShutdownRecoveryGroupArgs{},
			FailoverRecoveryGroup:  &siterecovery.ReplicationRecoveryPlanFailoverRecoveryGroupArgs{},
			BootRecoveryGroups: siterecovery.ReplicationRecoveryPlanBootRecoveryGroupArray{
				&siterecovery.ReplicationRecoveryPlanBootRecoveryGroupArgs{
					ReplicatedProtectedItems: pulumi.StringArray{
						vm_replication.ID(),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;

return await Deployment.RunAsync(() => 
{
    var primary = new Azure.Core.ResourceGroup("primary", new()
    {
        Name = "tfex-replicated-vm-primary",
        Location = "West US",
    });

    var secondary = new Azure.Core.ResourceGroup("secondary", new()
    {
        Name = "tfex-replicated-vm-secondary",
        Location = "East US",
    });

    var primaryVirtualNetwork = new Azure.Network.VirtualNetwork("primary", new()
    {
        Name = "network1",
        ResourceGroupName = primary.Name,
        AddressSpaces = new[]
        {
            "192.168.1.0/24",
        },
        Location = primary.Location,
    });

    var primarySubnet = new Azure.Network.Subnet("primary", new()
    {
        Name = "network1-subnet",
        ResourceGroupName = primary.Name,
        VirtualNetworkName = primaryVirtualNetwork.Name,
        AddressPrefixes = new[]
        {
            "192.168.1.0/24",
        },
    });

    var primaryPublicIp = new Azure.Network.PublicIp("primary", new()
    {
        Name = "vm-public-ip-primary",
        AllocationMethod = "Static",
        Location = primary.Location,
        ResourceGroupName = primary.Name,
        Sku = "Basic",
    });

    var vmNetworkInterface = new Azure.Network.NetworkInterface("vm", new()
    {
        Name = "vm-nic",
        Location = primary.Location,
        ResourceGroupName = primary.Name,
        IpConfigurations = new[]
        {
            new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs
            {
                Name = "vm",
                SubnetId = primarySubnet.Id,
                PrivateIpAddressAllocation = "Dynamic",
                PublicIpAddressId = primaryPublicIp.Id,
            },
        },
    });

    var vm = new Azure.Compute.VirtualMachine("vm", new()
    {
        Name = "vm",
        Location = primary.Location,
        ResourceGroupName = primary.Name,
        VmSize = "Standard_B1s",
        NetworkInterfaceIds = new[]
        {
            vmNetworkInterface.Id,
        },
        StorageImageReference = new Azure.Compute.Inputs.VirtualMachineStorageImageReferenceArgs
        {
            Publisher = "Canonical",
            Offer = "0001-com-ubuntu-server-jammy",
            Sku = "22_04-lts",
            Version = "latest",
        },
        StorageOsDisk = new Azure.Compute.Inputs.VirtualMachineStorageOsDiskArgs
        {
            Name = "vm-os-disk",
            OsType = "Linux",
            Caching = "ReadWrite",
            CreateOption = "FromImage",
            ManagedDiskType = "Premium_LRS",
        },
        OsProfile = new Azure.Compute.Inputs.VirtualMachineOsProfileArgs
        {
            AdminUsername = "test-admin-123",
            AdminPassword = "test-pwd-123",
            ComputerName = "vm",
        },
        OsProfileLinuxConfig = new Azure.Compute.Inputs.VirtualMachineOsProfileLinuxConfigArgs
        {
            DisablePasswordAuthentication = false,
        },
    });

    var vault = new Azure.RecoveryServices.Vault("vault", new()
    {
        Name = "example-recovery-vault",
        Location = secondary.Location,
        ResourceGroupName = secondary.Name,
        Sku = "Standard",
    });

    var primaryFabric = new Azure.SiteRecovery.Fabric("primary", new()
    {
        Name = "primary-fabric",
        ResourceGroupName = secondary.Name,
        RecoveryVaultName = vault.Name,
        Location = primary.Location,
    });

    var secondaryFabric = new Azure.SiteRecovery.Fabric("secondary", new()
    {
        Name = "secondary-fabric",
        ResourceGroupName = secondary.Name,
        RecoveryVaultName = vault.Name,
        Location = secondary.Location,
    });

    var primaryProtectionContainer = new Azure.SiteRecovery.ProtectionContainer("primary", new()
    {
        Name = "primary-protection-container",
        ResourceGroupName = secondary.Name,
        RecoveryVaultName = vault.Name,
        RecoveryFabricName = primaryFabric.Name,
    });

    var secondaryProtectionContainer = new Azure.SiteRecovery.ProtectionContainer("secondary", new()
    {
        Name = "secondary-protection-container",
        ResourceGroupName = secondary.Name,
        RecoveryVaultName = vault.Name,
        RecoveryFabricName = secondaryFabric.Name,
    });

    var policy = new Azure.SiteRecovery.ReplicationPolicy("policy", new()
    {
        Name = "policy",
        ResourceGroupName = secondary.Name,
        RecoveryVaultName = vault.Name,
        RecoveryPointRetentionInMinutes = 24 * 60,
        ApplicationConsistentSnapshotFrequencyInMinutes = 4 * 60,
    });

    var container_mapping = new Azure.SiteRecovery.ProtectionContainerMapping("container-mapping", new()
    {
        Name = "container-mapping",
        ResourceGroupName = secondary.Name,
        RecoveryVaultName = vault.Name,
        RecoveryFabricName = primaryFabric.Name,
        RecoverySourceProtectionContainerName = primaryProtectionContainer.Name,
        RecoveryTargetProtectionContainerId = secondaryProtectionContainer.Id,
        RecoveryReplicationPolicyId = policy.Id,
    });

    var secondaryVirtualNetwork = new Azure.Network.VirtualNetwork("secondary", new()
    {
        Name = "network2",
        ResourceGroupName = secondary.Name,
        AddressSpaces = new[]
        {
            "192.168.2.0/24",
        },
        Location = secondary.Location,
    });

    var network_mapping = new Azure.SiteRecovery.NetworkMapping("network-mapping", new()
    {
        Name = "network-mapping",
        ResourceGroupName = secondary.Name,
        RecoveryVaultName = vault.Name,
        SourceRecoveryFabricName = primaryFabric.Name,
        TargetRecoveryFabricName = secondaryFabric.Name,
        SourceNetworkId = primaryVirtualNetwork.Id,
        TargetNetworkId = secondaryVirtualNetwork.Id,
    });

    var primaryAccount = new Azure.Storage.Account("primary", new()
    {
        Name = "primaryrecoverycache",
        Location = primary.Location,
        ResourceGroupName = primary.Name,
        AccountTier = "Standard",
        AccountReplicationType = "LRS",
    });

    var secondarySubnet = new Azure.Network.Subnet("secondary", new()
    {
        Name = "network2-subnet",
        ResourceGroupName = secondary.Name,
        VirtualNetworkName = secondaryVirtualNetwork.Name,
        AddressPrefixes = new[]
        {
            "192.168.2.0/24",
        },
    });

    var secondaryPublicIp = new Azure.Network.PublicIp("secondary", new()
    {
        Name = "vm-public-ip-secondary",
        AllocationMethod = "Static",
        Location = secondary.Location,
        ResourceGroupName = secondary.Name,
        Sku = "Basic",
    });

    var vm_replication = new Azure.SiteRecovery.ReplicatedVM("vm-replication", new()
    {
        Name = "vm-replication",
        ResourceGroupName = secondary.Name,
        RecoveryVaultName = vault.Name,
        SourceRecoveryFabricName = primaryFabric.Name,
        SourceVmId = vm.Id,
        RecoveryReplicationPolicyId = policy.Id,
        SourceRecoveryProtectionContainerName = primaryProtectionContainer.Name,
        TargetResourceGroupId = secondary.Id,
        TargetRecoveryFabricId = secondaryFabric.Id,
        TargetRecoveryProtectionContainerId = secondaryProtectionContainer.Id,
        ManagedDisks = new[]
        {
            new Azure.SiteRecovery.Inputs.ReplicatedVMManagedDiskArgs
            {
                DiskId = vm.StorageOsDisk.Apply(storageOsDisk => storageOsDisk.ManagedDiskId),
                StagingStorageAccountId = primaryAccount.Id,
                TargetResourceGroupId = secondary.Id,
                TargetDiskType = "Premium_LRS",
                TargetReplicaDiskType = "Premium_LRS",
            },
        },
        NetworkInterfaces = new[]
        {
            new Azure.SiteRecovery.Inputs.ReplicatedVMNetworkInterfaceArgs
            {
                SourceNetworkInterfaceId = vmNetworkInterface.Id,
                TargetSubnetName = secondarySubnet.Name,
                RecoveryPublicIpAddressId = secondaryPublicIp.Id,
            },
        },
    }, new CustomResourceOptions
    {
        DependsOn =
        {
            container_mapping,
            network_mapping,
        },
    });

    var example = new Azure.SiteRecovery.ReplicationRecoveryPlan("example", new()
    {
        Name = "example-recover-plan",
        RecoveryVaultId = vault.Id,
        SourceRecoveryFabricId = primaryFabric.Id,
        TargetRecoveryFabricId = secondaryFabric.Id,
        ShutdownRecoveryGroup = null,
        FailoverRecoveryGroup = null,
        BootRecoveryGroups = new[]
        {
            new Azure.SiteRecovery.Inputs.ReplicationRecoveryPlanBootRecoveryGroupArgs
            {
                ReplicatedProtectedItems = new[]
                {
                    vm_replication.Id,
                },
            },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.network.VirtualNetwork;
import com.pulumi.azure.network.VirtualNetworkArgs;
import com.pulumi.azure.network.Subnet;
import com.pulumi.azure.network.SubnetArgs;
import com.pulumi.azure.network.PublicIp;
import com.pulumi.azure.network.PublicIpArgs;
import com.pulumi.azure.network.NetworkInterface;
import com.pulumi.azure.network.NetworkInterfaceArgs;
import com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;
import com.pulumi.azure.compute.VirtualMachine;
import com.pulumi.azure.compute.VirtualMachineArgs;
import com.pulumi.azure.compute.inputs.VirtualMachineStorageImageReferenceArgs;
import com.pulumi.azure.compute.inputs.VirtualMachineStorageOsDiskArgs;
import com.pulumi.azure.compute.inputs.VirtualMachineOsProfileArgs;
import com.pulumi.azure.compute.inputs.VirtualMachineOsProfileLinuxConfigArgs;
import com.pulumi.azure.recoveryservices.Vault;
import com.pulumi.azure.recoveryservices.VaultArgs;
import com.pulumi.azure.siterecovery.Fabric;
import com.pulumi.azure.siterecovery.FabricArgs;
import com.pulumi.azure.siterecovery.ProtectionContainer;
import com.pulumi.azure.siterecovery.ProtectionContainerArgs;
import com.pulumi.azure.siterecovery.ReplicationPolicy;
import com.pulumi.azure.siterecovery.ReplicationPolicyArgs;
import com.pulumi.azure.siterecovery.ProtectionContainerMapping;
import com.pulumi.azure.siterecovery.ProtectionContainerMappingArgs;
import com.pulumi.azure.siterecovery.NetworkMapping;
import com.pulumi.azure.siterecovery.NetworkMappingArgs;
import com.pulumi.azure.storage.Account;
import com.pulumi.azure.storage.AccountArgs;
import com.pulumi.azure.siterecovery.ReplicatedVM;
import com.pulumi.azure.siterecovery.ReplicatedVMArgs;
import com.pulumi.azure.siterecovery.inputs.ReplicatedVMManagedDiskArgs;
import com.pulumi.azure.siterecovery.inputs.ReplicatedVMNetworkInterfaceArgs;
import com.pulumi.azure.siterecovery.ReplicationRecoveryPlan;
import com.pulumi.azure.siterecovery.ReplicationRecoveryPlanArgs;
import com.pulumi.azure.siterecovery.inputs.ReplicationRecoveryPlanShutdownRecoveryGroupArgs;
import com.pulumi.azure.siterecovery.inputs.ReplicationRecoveryPlanFailoverRecoveryGroupArgs;
import com.pulumi.azure.siterecovery.inputs.ReplicationRecoveryPlanBootRecoveryGroupArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var primary = new ResourceGroup("primary", ResourceGroupArgs.builder()
            .name("tfex-replicated-vm-primary")
            .location("West US")
            .build());

        var secondary = new ResourceGroup("secondary", ResourceGroupArgs.builder()
            .name("tfex-replicated-vm-secondary")
            .location("East US")
            .build());

        var primaryVirtualNetwork = new VirtualNetwork("primaryVirtualNetwork", VirtualNetworkArgs.builder()
            .name("network1")
            .resourceGroupName(primary.name())
            .addressSpaces("192.168.1.0/24")
            .location(primary.location())
            .build());

        var primarySubnet = new Subnet("primarySubnet", SubnetArgs.builder()
            .name("network1-subnet")
            .resourceGroupName(primary.name())
            .virtualNetworkName(primaryVirtualNetwork.name())
            .addressPrefixes("192.168.1.0/24")
            .build());

        var primaryPublicIp = new PublicIp("primaryPublicIp", PublicIpArgs.builder()
            .name("vm-public-ip-primary")
            .allocationMethod("Static")
            .location(primary.location())
            .resourceGroupName(primary.name())
            .sku("Basic")
            .build());

        var vmNetworkInterface = new NetworkInterface("vmNetworkInterface", NetworkInterfaceArgs.builder()
            .name("vm-nic")
            .location(primary.location())
            .resourceGroupName(primary.name())
            .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()
                .name("vm")
                .subnetId(primarySubnet.id())
                .privateIpAddressAllocation("Dynamic")
                .publicIpAddressId(primaryPublicIp.id())
                .build())
            .build());

        var vm = new VirtualMachine("vm", VirtualMachineArgs.builder()
            .name("vm")
            .location(primary.location())
            .resourceGroupName(primary.name())
            .vmSize("Standard_B1s")
            .networkInterfaceIds(vmNetworkInterface.id())
            .storageImageReference(VirtualMachineStorageImageReferenceArgs.builder()
                .publisher("Canonical")
                .offer("0001-com-ubuntu-server-jammy")
                .sku("22_04-lts")
                .version("latest")
                .build())
            .storageOsDisk(VirtualMachineStorageOsDiskArgs.builder()
                .name("vm-os-disk")
                .osType("Linux")
                .caching("ReadWrite")
                .createOption("FromImage")
                .managedDiskType("Premium_LRS")
                .build())
            .osProfile(VirtualMachineOsProfileArgs.builder()
                .adminUsername("test-admin-123")
                .adminPassword("test-pwd-123")
                .computerName("vm")
                .build())
            .osProfileLinuxConfig(VirtualMachineOsProfileLinuxConfigArgs.builder()
                .disablePasswordAuthentication(false)
                .build())
            .build());

        var vault = new Vault("vault", VaultArgs.builder()
            .name("example-recovery-vault")
            .location(secondary.location())
            .resourceGroupName(secondary.name())
            .sku("Standard")
            .build());

        var primaryFabric = new Fabric("primaryFabric", FabricArgs.builder()
            .name("primary-fabric")
            .resourceGroupName(secondary.name())
            .recoveryVaultName(vault.name())
            .location(primary.location())
            .build());

        var secondaryFabric = new Fabric("secondaryFabric", FabricArgs.builder()
            .name("secondary-fabric")
            .resourceGroupName(secondary.name())
            .recoveryVaultName(vault.name())
            .location(secondary.location())
            .build());

        var primaryProtectionContainer = new ProtectionContainer("primaryProtectionContainer", ProtectionContainerArgs.builder()
            .name("primary-protection-container")
            .resourceGroupName(secondary.name())
            .recoveryVaultName(vault.name())
            .recoveryFabricName(primaryFabric.name())
            .build());

        var secondaryProtectionContainer = new ProtectionContainer("secondaryProtectionContainer", ProtectionContainerArgs.builder()
            .name("secondary-protection-container")
            .resourceGroupName(secondary.name())
            .recoveryVaultName(vault.name())
            .recoveryFabricName(secondaryFabric.name())
            .build());

        var policy = new ReplicationPolicy("policy", ReplicationPolicyArgs.builder()
            .name("policy")
            .resourceGroupName(secondary.name())
            .recoveryVaultName(vault.name())
            .recoveryPointRetentionInMinutes(24 * 60)
            .applicationConsistentSnapshotFrequencyInMinutes(4 * 60)
            .build());

        var container_mapping = new ProtectionContainerMapping("container-mapping", ProtectionContainerMappingArgs.builder()
            .name("container-mapping")
            .resourceGroupName(secondary.name())
            .recoveryVaultName(vault.name())
            .recoveryFabricName(primaryFabric.name())
            .recoverySourceProtectionContainerName(primaryProtectionContainer.name())
            .recoveryTargetProtectionContainerId(secondaryProtectionContainer.id())
            .recoveryReplicationPolicyId(policy.id())
            .build());

        var secondaryVirtualNetwork = new VirtualNetwork("secondaryVirtualNetwork", VirtualNetworkArgs.builder()
            .name("network2")
            .resourceGroupName(secondary.name())
            .addressSpaces("192.168.2.0/24")
            .location(secondary.location())
            .build());

        var network_mapping = new NetworkMapping("network-mapping", NetworkMappingArgs.builder()
            .name("network-mapping")
            .resourceGroupName(secondary.name())
            .recoveryVaultName(vault.name())
            .sourceRecoveryFabricName(primaryFabric.name())
            .targetRecoveryFabricName(secondaryFabric.name())
            .sourceNetworkId(primaryVirtualNetwork.id())
            .targetNetworkId(secondaryVirtualNetwork.id())
            .build());

        var primaryAccount = new Account("primaryAccount", AccountArgs.builder()
            .name("primaryrecoverycache")
            .location(primary.location())
            .resourceGroupName(primary.name())
            .accountTier("Standard")
            .accountReplicationType("LRS")
            .build());

        var secondarySubnet = new Subnet("secondarySubnet", SubnetArgs.builder()
            .name("network2-subnet")
            .resourceGroupName(secondary.name())
            .virtualNetworkName(secondaryVirtualNetwork.name())
            .addressPrefixes("192.168.2.0/24")
            .build());

        var secondaryPublicIp = new PublicIp("secondaryPublicIp", PublicIpArgs.builder()
            .name("vm-public-ip-secondary")
            .allocationMethod("Static")
            .location(secondary.location())
            .resourceGroupName(secondary.name())
            .sku("Basic")
            .build());

        var vm_replication = new ReplicatedVM("vm-replication", ReplicatedVMArgs.builder()
            .name("vm-replication")
            .resourceGroupName(secondary.name())
            .recoveryVaultName(vault.name())
            .sourceRecoveryFabricName(primaryFabric.name())
            .sourceVmId(vm.id())
            .recoveryReplicationPolicyId(policy.id())
            .sourceRecoveryProtectionContainerName(primaryProtectionContainer.name())
            .targetResourceGroupId(secondary.id())
            .targetRecoveryFabricId(secondaryFabric.id())
            .targetRecoveryProtectionContainerId(secondaryProtectionContainer.id())
            .managedDisks(ReplicatedVMManagedDiskArgs.builder()
                .diskId(vm.storageOsDisk().applyValue(storageOsDisk -> storageOsDisk.managedDiskId()))
                .stagingStorageAccountId(primaryAccount.id())
                .targetResourceGroupId(secondary.id())
                .targetDiskType("Premium_LRS")
                .targetReplicaDiskType("Premium_LRS")
                .build())
            .networkInterfaces(ReplicatedVMNetworkInterfaceArgs.builder()
                .sourceNetworkInterfaceId(vmNetworkInterface.id())
                .targetSubnetName(secondarySubnet.name())
                .recoveryPublicIpAddressId(secondaryPublicIp.id())
                .build())
            .build(), CustomResourceOptions.builder()
                .dependsOn(                
                    container_mapping,
                    network_mapping)
                .build());

        var example = new ReplicationRecoveryPlan("example", ReplicationRecoveryPlanArgs.builder()
            .name("example-recover-plan")
            .recoveryVaultId(vault.id())
            .sourceRecoveryFabricId(primaryFabric.id())
            .targetRecoveryFabricId(secondaryFabric.id())
            .shutdownRecoveryGroup()
            .failoverRecoveryGroup()
            .bootRecoveryGroups(ReplicationRecoveryPlanBootRecoveryGroupArgs.builder()
                .replicatedProtectedItems(vm_replication.id())
                .build())
            .build());

    }
}
Copy
Coming soon!

Create ReplicationRecoveryPlan Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new ReplicationRecoveryPlan(name: string, args: ReplicationRecoveryPlanArgs, opts?: CustomResourceOptions);
@overload
def ReplicationRecoveryPlan(resource_name: str,
                            args: ReplicationRecoveryPlanArgs,
                            opts: Optional[ResourceOptions] = None)

@overload
def ReplicationRecoveryPlan(resource_name: str,
                            opts: Optional[ResourceOptions] = None,
                            boot_recovery_groups: Optional[Sequence[ReplicationRecoveryPlanBootRecoveryGroupArgs]] = None,
                            failover_recovery_group: Optional[ReplicationRecoveryPlanFailoverRecoveryGroupArgs] = None,
                            recovery_vault_id: Optional[str] = None,
                            shutdown_recovery_group: Optional[ReplicationRecoveryPlanShutdownRecoveryGroupArgs] = None,
                            source_recovery_fabric_id: Optional[str] = None,
                            target_recovery_fabric_id: Optional[str] = None,
                            azure_to_azure_settings: Optional[ReplicationRecoveryPlanAzureToAzureSettingsArgs] = None,
                            name: Optional[str] = None)
func NewReplicationRecoveryPlan(ctx *Context, name string, args ReplicationRecoveryPlanArgs, opts ...ResourceOption) (*ReplicationRecoveryPlan, error)
public ReplicationRecoveryPlan(string name, ReplicationRecoveryPlanArgs args, CustomResourceOptions? opts = null)
public ReplicationRecoveryPlan(String name, ReplicationRecoveryPlanArgs args)
public ReplicationRecoveryPlan(String name, ReplicationRecoveryPlanArgs args, CustomResourceOptions options)
type: azure:siterecovery:ReplicationRecoveryPlan
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. ReplicationRecoveryPlanArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. ReplicationRecoveryPlanArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. ReplicationRecoveryPlanArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. ReplicationRecoveryPlanArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. ReplicationRecoveryPlanArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

The following reference example uses placeholder values for all input properties.

var replicationRecoveryPlanResource = new Azure.SiteRecovery.ReplicationRecoveryPlan("replicationRecoveryPlanResource", new()
{
    BootRecoveryGroups = new[]
    {
        new Azure.SiteRecovery.Inputs.ReplicationRecoveryPlanBootRecoveryGroupArgs
        {
            PostActions = new[]
            {
                new Azure.SiteRecovery.Inputs.ReplicationRecoveryPlanBootRecoveryGroupPostActionArgs
                {
                    FailOverDirections = new[]
                    {
                        "string",
                    },
                    FailOverTypes = new[]
                    {
                        "string",
                    },
                    Name = "string",
                    Type = "string",
                    FabricLocation = "string",
                    ManualActionInstruction = "string",
                    RunbookId = "string",
                    ScriptPath = "string",
                },
            },
            PreActions = new[]
            {
                new Azure.SiteRecovery.Inputs.ReplicationRecoveryPlanBootRecoveryGroupPreActionArgs
                {
                    FailOverDirections = new[]
                    {
                        "string",
                    },
                    FailOverTypes = new[]
                    {
                        "string",
                    },
                    Name = "string",
                    Type = "string",
                    FabricLocation = "string",
                    ManualActionInstruction = "string",
                    RunbookId = "string",
                    ScriptPath = "string",
                },
            },
            ReplicatedProtectedItems = new[]
            {
                "string",
            },
        },
    },
    FailoverRecoveryGroup = new Azure.SiteRecovery.Inputs.ReplicationRecoveryPlanFailoverRecoveryGroupArgs
    {
        PostActions = new[]
        {
            new Azure.SiteRecovery.Inputs.ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArgs
            {
                FailOverDirections = new[]
                {
                    "string",
                },
                FailOverTypes = new[]
                {
                    "string",
                },
                Name = "string",
                Type = "string",
                FabricLocation = "string",
                ManualActionInstruction = "string",
                RunbookId = "string",
                ScriptPath = "string",
            },
        },
        PreActions = new[]
        {
            new Azure.SiteRecovery.Inputs.ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArgs
            {
                FailOverDirections = new[]
                {
                    "string",
                },
                FailOverTypes = new[]
                {
                    "string",
                },
                Name = "string",
                Type = "string",
                FabricLocation = "string",
                ManualActionInstruction = "string",
                RunbookId = "string",
                ScriptPath = "string",
            },
        },
    },
    RecoveryVaultId = "string",
    ShutdownRecoveryGroup = new Azure.SiteRecovery.Inputs.ReplicationRecoveryPlanShutdownRecoveryGroupArgs
    {
        PostActions = new[]
        {
            new Azure.SiteRecovery.Inputs.ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArgs
            {
                FailOverDirections = new[]
                {
                    "string",
                },
                FailOverTypes = new[]
                {
                    "string",
                },
                Name = "string",
                Type = "string",
                FabricLocation = "string",
                ManualActionInstruction = "string",
                RunbookId = "string",
                ScriptPath = "string",
            },
        },
        PreActions = new[]
        {
            new Azure.SiteRecovery.Inputs.ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArgs
            {
                FailOverDirections = new[]
                {
                    "string",
                },
                FailOverTypes = new[]
                {
                    "string",
                },
                Name = "string",
                Type = "string",
                FabricLocation = "string",
                ManualActionInstruction = "string",
                RunbookId = "string",
                ScriptPath = "string",
            },
        },
    },
    SourceRecoveryFabricId = "string",
    TargetRecoveryFabricId = "string",
    AzureToAzureSettings = new Azure.SiteRecovery.Inputs.ReplicationRecoveryPlanAzureToAzureSettingsArgs
    {
        PrimaryEdgeZone = "string",
        PrimaryZone = "string",
        RecoveryEdgeZone = "string",
        RecoveryZone = "string",
    },
    Name = "string",
});
Copy
example, err := siterecovery.NewReplicationRecoveryPlan(ctx, "replicationRecoveryPlanResource", &siterecovery.ReplicationRecoveryPlanArgs{
	BootRecoveryGroups: siterecovery.ReplicationRecoveryPlanBootRecoveryGroupArray{
		&siterecovery.ReplicationRecoveryPlanBootRecoveryGroupArgs{
			PostActions: siterecovery.ReplicationRecoveryPlanBootRecoveryGroupPostActionArray{
				&siterecovery.ReplicationRecoveryPlanBootRecoveryGroupPostActionArgs{
					FailOverDirections: pulumi.StringArray{
						pulumi.String("string"),
					},
					FailOverTypes: pulumi.StringArray{
						pulumi.String("string"),
					},
					Name:                    pulumi.String("string"),
					Type:                    pulumi.String("string"),
					FabricLocation:          pulumi.String("string"),
					ManualActionInstruction: pulumi.String("string"),
					RunbookId:               pulumi.String("string"),
					ScriptPath:              pulumi.String("string"),
				},
			},
			PreActions: siterecovery.ReplicationRecoveryPlanBootRecoveryGroupPreActionArray{
				&siterecovery.ReplicationRecoveryPlanBootRecoveryGroupPreActionArgs{
					FailOverDirections: pulumi.StringArray{
						pulumi.String("string"),
					},
					FailOverTypes: pulumi.StringArray{
						pulumi.String("string"),
					},
					Name:                    pulumi.String("string"),
					Type:                    pulumi.String("string"),
					FabricLocation:          pulumi.String("string"),
					ManualActionInstruction: pulumi.String("string"),
					RunbookId:               pulumi.String("string"),
					ScriptPath:              pulumi.String("string"),
				},
			},
			ReplicatedProtectedItems: pulumi.StringArray{
				pulumi.String("string"),
			},
		},
	},
	FailoverRecoveryGroup: &siterecovery.ReplicationRecoveryPlanFailoverRecoveryGroupArgs{
		PostActions: siterecovery.ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArray{
			&siterecovery.ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArgs{
				FailOverDirections: pulumi.StringArray{
					pulumi.String("string"),
				},
				FailOverTypes: pulumi.StringArray{
					pulumi.String("string"),
				},
				Name:                    pulumi.String("string"),
				Type:                    pulumi.String("string"),
				FabricLocation:          pulumi.String("string"),
				ManualActionInstruction: pulumi.String("string"),
				RunbookId:               pulumi.String("string"),
				ScriptPath:              pulumi.String("string"),
			},
		},
		PreActions: siterecovery.ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArray{
			&siterecovery.ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArgs{
				FailOverDirections: pulumi.StringArray{
					pulumi.String("string"),
				},
				FailOverTypes: pulumi.StringArray{
					pulumi.String("string"),
				},
				Name:                    pulumi.String("string"),
				Type:                    pulumi.String("string"),
				FabricLocation:          pulumi.String("string"),
				ManualActionInstruction: pulumi.String("string"),
				RunbookId:               pulumi.String("string"),
				ScriptPath:              pulumi.String("string"),
			},
		},
	},
	RecoveryVaultId: pulumi.String("string"),
	ShutdownRecoveryGroup: &siterecovery.ReplicationRecoveryPlanShutdownRecoveryGroupArgs{
		PostActions: siterecovery.ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArray{
			&siterecovery.ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArgs{
				FailOverDirections: pulumi.StringArray{
					pulumi.String("string"),
				},
				FailOverTypes: pulumi.StringArray{
					pulumi.String("string"),
				},
				Name:                    pulumi.String("string"),
				Type:                    pulumi.String("string"),
				FabricLocation:          pulumi.String("string"),
				ManualActionInstruction: pulumi.String("string"),
				RunbookId:               pulumi.String("string"),
				ScriptPath:              pulumi.String("string"),
			},
		},
		PreActions: siterecovery.ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArray{
			&siterecovery.ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArgs{
				FailOverDirections: pulumi.StringArray{
					pulumi.String("string"),
				},
				FailOverTypes: pulumi.StringArray{
					pulumi.String("string"),
				},
				Name:                    pulumi.String("string"),
				Type:                    pulumi.String("string"),
				FabricLocation:          pulumi.String("string"),
				ManualActionInstruction: pulumi.String("string"),
				RunbookId:               pulumi.String("string"),
				ScriptPath:              pulumi.String("string"),
			},
		},
	},
	SourceRecoveryFabricId: pulumi.String("string"),
	TargetRecoveryFabricId: pulumi.String("string"),
	AzureToAzureSettings: &siterecovery.ReplicationRecoveryPlanAzureToAzureSettingsArgs{
		PrimaryEdgeZone:  pulumi.String("string"),
		PrimaryZone:      pulumi.String("string"),
		RecoveryEdgeZone: pulumi.String("string"),
		RecoveryZone:     pulumi.String("string"),
	},
	Name: pulumi.String("string"),
})
Copy
var replicationRecoveryPlanResource = new ReplicationRecoveryPlan("replicationRecoveryPlanResource", ReplicationRecoveryPlanArgs.builder()
    .bootRecoveryGroups(ReplicationRecoveryPlanBootRecoveryGroupArgs.builder()
        .postActions(ReplicationRecoveryPlanBootRecoveryGroupPostActionArgs.builder()
            .failOverDirections("string")
            .failOverTypes("string")
            .name("string")
            .type("string")
            .fabricLocation("string")
            .manualActionInstruction("string")
            .runbookId("string")
            .scriptPath("string")
            .build())
        .preActions(ReplicationRecoveryPlanBootRecoveryGroupPreActionArgs.builder()
            .failOverDirections("string")
            .failOverTypes("string")
            .name("string")
            .type("string")
            .fabricLocation("string")
            .manualActionInstruction("string")
            .runbookId("string")
            .scriptPath("string")
            .build())
        .replicatedProtectedItems("string")
        .build())
    .failoverRecoveryGroup(ReplicationRecoveryPlanFailoverRecoveryGroupArgs.builder()
        .postActions(ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArgs.builder()
            .failOverDirections("string")
            .failOverTypes("string")
            .name("string")
            .type("string")
            .fabricLocation("string")
            .manualActionInstruction("string")
            .runbookId("string")
            .scriptPath("string")
            .build())
        .preActions(ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArgs.builder()
            .failOverDirections("string")
            .failOverTypes("string")
            .name("string")
            .type("string")
            .fabricLocation("string")
            .manualActionInstruction("string")
            .runbookId("string")
            .scriptPath("string")
            .build())
        .build())
    .recoveryVaultId("string")
    .shutdownRecoveryGroup(ReplicationRecoveryPlanShutdownRecoveryGroupArgs.builder()
        .postActions(ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArgs.builder()
            .failOverDirections("string")
            .failOverTypes("string")
            .name("string")
            .type("string")
            .fabricLocation("string")
            .manualActionInstruction("string")
            .runbookId("string")
            .scriptPath("string")
            .build())
        .preActions(ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArgs.builder()
            .failOverDirections("string")
            .failOverTypes("string")
            .name("string")
            .type("string")
            .fabricLocation("string")
            .manualActionInstruction("string")
            .runbookId("string")
            .scriptPath("string")
            .build())
        .build())
    .sourceRecoveryFabricId("string")
    .targetRecoveryFabricId("string")
    .azureToAzureSettings(ReplicationRecoveryPlanAzureToAzureSettingsArgs.builder()
        .primaryEdgeZone("string")
        .primaryZone("string")
        .recoveryEdgeZone("string")
        .recoveryZone("string")
        .build())
    .name("string")
    .build());
Copy
replication_recovery_plan_resource = azure.siterecovery.ReplicationRecoveryPlan("replicationRecoveryPlanResource",
    boot_recovery_groups=[{
        "post_actions": [{
            "fail_over_directions": ["string"],
            "fail_over_types": ["string"],
            "name": "string",
            "type": "string",
            "fabric_location": "string",
            "manual_action_instruction": "string",
            "runbook_id": "string",
            "script_path": "string",
        }],
        "pre_actions": [{
            "fail_over_directions": ["string"],
            "fail_over_types": ["string"],
            "name": "string",
            "type": "string",
            "fabric_location": "string",
            "manual_action_instruction": "string",
            "runbook_id": "string",
            "script_path": "string",
        }],
        "replicated_protected_items": ["string"],
    }],
    failover_recovery_group={
        "post_actions": [{
            "fail_over_directions": ["string"],
            "fail_over_types": ["string"],
            "name": "string",
            "type": "string",
            "fabric_location": "string",
            "manual_action_instruction": "string",
            "runbook_id": "string",
            "script_path": "string",
        }],
        "pre_actions": [{
            "fail_over_directions": ["string"],
            "fail_over_types": ["string"],
            "name": "string",
            "type": "string",
            "fabric_location": "string",
            "manual_action_instruction": "string",
            "runbook_id": "string",
            "script_path": "string",
        }],
    },
    recovery_vault_id="string",
    shutdown_recovery_group={
        "post_actions": [{
            "fail_over_directions": ["string"],
            "fail_over_types": ["string"],
            "name": "string",
            "type": "string",
            "fabric_location": "string",
            "manual_action_instruction": "string",
            "runbook_id": "string",
            "script_path": "string",
        }],
        "pre_actions": [{
            "fail_over_directions": ["string"],
            "fail_over_types": ["string"],
            "name": "string",
            "type": "string",
            "fabric_location": "string",
            "manual_action_instruction": "string",
            "runbook_id": "string",
            "script_path": "string",
        }],
    },
    source_recovery_fabric_id="string",
    target_recovery_fabric_id="string",
    azure_to_azure_settings={
        "primary_edge_zone": "string",
        "primary_zone": "string",
        "recovery_edge_zone": "string",
        "recovery_zone": "string",
    },
    name="string")
Copy
const replicationRecoveryPlanResource = new azure.siterecovery.ReplicationRecoveryPlan("replicationRecoveryPlanResource", {
    bootRecoveryGroups: [{
        postActions: [{
            failOverDirections: ["string"],
            failOverTypes: ["string"],
            name: "string",
            type: "string",
            fabricLocation: "string",
            manualActionInstruction: "string",
            runbookId: "string",
            scriptPath: "string",
        }],
        preActions: [{
            failOverDirections: ["string"],
            failOverTypes: ["string"],
            name: "string",
            type: "string",
            fabricLocation: "string",
            manualActionInstruction: "string",
            runbookId: "string",
            scriptPath: "string",
        }],
        replicatedProtectedItems: ["string"],
    }],
    failoverRecoveryGroup: {
        postActions: [{
            failOverDirections: ["string"],
            failOverTypes: ["string"],
            name: "string",
            type: "string",
            fabricLocation: "string",
            manualActionInstruction: "string",
            runbookId: "string",
            scriptPath: "string",
        }],
        preActions: [{
            failOverDirections: ["string"],
            failOverTypes: ["string"],
            name: "string",
            type: "string",
            fabricLocation: "string",
            manualActionInstruction: "string",
            runbookId: "string",
            scriptPath: "string",
        }],
    },
    recoveryVaultId: "string",
    shutdownRecoveryGroup: {
        postActions: [{
            failOverDirections: ["string"],
            failOverTypes: ["string"],
            name: "string",
            type: "string",
            fabricLocation: "string",
            manualActionInstruction: "string",
            runbookId: "string",
            scriptPath: "string",
        }],
        preActions: [{
            failOverDirections: ["string"],
            failOverTypes: ["string"],
            name: "string",
            type: "string",
            fabricLocation: "string",
            manualActionInstruction: "string",
            runbookId: "string",
            scriptPath: "string",
        }],
    },
    sourceRecoveryFabricId: "string",
    targetRecoveryFabricId: "string",
    azureToAzureSettings: {
        primaryEdgeZone: "string",
        primaryZone: "string",
        recoveryEdgeZone: "string",
        recoveryZone: "string",
    },
    name: "string",
});
Copy
type: azure:siterecovery:ReplicationRecoveryPlan
properties:
    azureToAzureSettings:
        primaryEdgeZone: string
        primaryZone: string
        recoveryEdgeZone: string
        recoveryZone: string
    bootRecoveryGroups:
        - postActions:
            - fabricLocation: string
              failOverDirections:
                - string
              failOverTypes:
                - string
              manualActionInstruction: string
              name: string
              runbookId: string
              scriptPath: string
              type: string
          preActions:
            - fabricLocation: string
              failOverDirections:
                - string
              failOverTypes:
                - string
              manualActionInstruction: string
              name: string
              runbookId: string
              scriptPath: string
              type: string
          replicatedProtectedItems:
            - string
    failoverRecoveryGroup:
        postActions:
            - fabricLocation: string
              failOverDirections:
                - string
              failOverTypes:
                - string
              manualActionInstruction: string
              name: string
              runbookId: string
              scriptPath: string
              type: string
        preActions:
            - fabricLocation: string
              failOverDirections:
                - string
              failOverTypes:
                - string
              manualActionInstruction: string
              name: string
              runbookId: string
              scriptPath: string
              type: string
    name: string
    recoveryVaultId: string
    shutdownRecoveryGroup:
        postActions:
            - fabricLocation: string
              failOverDirections:
                - string
              failOverTypes:
                - string
              manualActionInstruction: string
              name: string
              runbookId: string
              scriptPath: string
              type: string
        preActions:
            - fabricLocation: string
              failOverDirections:
                - string
              failOverTypes:
                - string
              manualActionInstruction: string
              name: string
              runbookId: string
              scriptPath: string
              type: string
    sourceRecoveryFabricId: string
    targetRecoveryFabricId: string
Copy

ReplicationRecoveryPlan Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The ReplicationRecoveryPlan resource accepts the following input properties:

BootRecoveryGroups This property is required. List<ReplicationRecoveryPlanBootRecoveryGroup>

One or more boot_recovery_group blocks as defined below.

NOTE: At least one boot_recovery_group block will be required in the next major version of the AzureRM Provider.

FailoverRecoveryGroup This property is required. ReplicationRecoveryPlanFailoverRecoveryGroup

One failover_recovery_group block as defined below.

NOTE: failover_recovery_group will be required in the next major version of the AzureRM Provider.

RecoveryVaultId
This property is required.
Changes to this property will trigger replacement.
string
The ID of the vault that should be updated. Changing this forces a new resource to be created.
ShutdownRecoveryGroup This property is required. ReplicationRecoveryPlanShutdownRecoveryGroup

One shutdown_recovery_group block as defined below.

NOTE: shutdown_recovery_group will be required in the next major version of the AzureRM Provider.

SourceRecoveryFabricId
This property is required.
Changes to this property will trigger replacement.
string
ID of source fabric to be recovered from. Changing this forces a new Replication Plan to be created.
TargetRecoveryFabricId
This property is required.
Changes to this property will trigger replacement.
string
ID of target fabric to recover. Changing this forces a new Replication Plan to be created.
AzureToAzureSettings ReplicationRecoveryPlanAzureToAzureSettings
An azure_to_azure_settings block as defined below.
Name Changes to this property will trigger replacement. string
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
BootRecoveryGroups This property is required. []ReplicationRecoveryPlanBootRecoveryGroupArgs

One or more boot_recovery_group blocks as defined below.

NOTE: At least one boot_recovery_group block will be required in the next major version of the AzureRM Provider.

FailoverRecoveryGroup This property is required. ReplicationRecoveryPlanFailoverRecoveryGroupArgs

One failover_recovery_group block as defined below.

NOTE: failover_recovery_group will be required in the next major version of the AzureRM Provider.

RecoveryVaultId
This property is required.
Changes to this property will trigger replacement.
string
The ID of the vault that should be updated. Changing this forces a new resource to be created.
ShutdownRecoveryGroup This property is required. ReplicationRecoveryPlanShutdownRecoveryGroupArgs

One shutdown_recovery_group block as defined below.

NOTE: shutdown_recovery_group will be required in the next major version of the AzureRM Provider.

SourceRecoveryFabricId
This property is required.
Changes to this property will trigger replacement.
string
ID of source fabric to be recovered from. Changing this forces a new Replication Plan to be created.
TargetRecoveryFabricId
This property is required.
Changes to this property will trigger replacement.
string
ID of target fabric to recover. Changing this forces a new Replication Plan to be created.
AzureToAzureSettings ReplicationRecoveryPlanAzureToAzureSettingsArgs
An azure_to_azure_settings block as defined below.
Name Changes to this property will trigger replacement. string
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
bootRecoveryGroups This property is required. List<ReplicationRecoveryPlanBootRecoveryGroup>

One or more boot_recovery_group blocks as defined below.

NOTE: At least one boot_recovery_group block will be required in the next major version of the AzureRM Provider.

failoverRecoveryGroup This property is required. ReplicationRecoveryPlanFailoverRecoveryGroup

One failover_recovery_group block as defined below.

NOTE: failover_recovery_group will be required in the next major version of the AzureRM Provider.

recoveryVaultId
This property is required.
Changes to this property will trigger replacement.
String
The ID of the vault that should be updated. Changing this forces a new resource to be created.
shutdownRecoveryGroup This property is required. ReplicationRecoveryPlanShutdownRecoveryGroup

One shutdown_recovery_group block as defined below.

NOTE: shutdown_recovery_group will be required in the next major version of the AzureRM Provider.

sourceRecoveryFabricId
This property is required.
Changes to this property will trigger replacement.
String
ID of source fabric to be recovered from. Changing this forces a new Replication Plan to be created.
targetRecoveryFabricId
This property is required.
Changes to this property will trigger replacement.
String
ID of target fabric to recover. Changing this forces a new Replication Plan to be created.
azureToAzureSettings ReplicationRecoveryPlanAzureToAzureSettings
An azure_to_azure_settings block as defined below.
name Changes to this property will trigger replacement. String
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
bootRecoveryGroups This property is required. ReplicationRecoveryPlanBootRecoveryGroup[]

One or more boot_recovery_group blocks as defined below.

NOTE: At least one boot_recovery_group block will be required in the next major version of the AzureRM Provider.

failoverRecoveryGroup This property is required. ReplicationRecoveryPlanFailoverRecoveryGroup

One failover_recovery_group block as defined below.

NOTE: failover_recovery_group will be required in the next major version of the AzureRM Provider.

recoveryVaultId
This property is required.
Changes to this property will trigger replacement.
string
The ID of the vault that should be updated. Changing this forces a new resource to be created.
shutdownRecoveryGroup This property is required. ReplicationRecoveryPlanShutdownRecoveryGroup

One shutdown_recovery_group block as defined below.

NOTE: shutdown_recovery_group will be required in the next major version of the AzureRM Provider.

sourceRecoveryFabricId
This property is required.
Changes to this property will trigger replacement.
string
ID of source fabric to be recovered from. Changing this forces a new Replication Plan to be created.
targetRecoveryFabricId
This property is required.
Changes to this property will trigger replacement.
string
ID of target fabric to recover. Changing this forces a new Replication Plan to be created.
azureToAzureSettings ReplicationRecoveryPlanAzureToAzureSettings
An azure_to_azure_settings block as defined below.
name Changes to this property will trigger replacement. string
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
boot_recovery_groups This property is required. Sequence[ReplicationRecoveryPlanBootRecoveryGroupArgs]

One or more boot_recovery_group blocks as defined below.

NOTE: At least one boot_recovery_group block will be required in the next major version of the AzureRM Provider.

failover_recovery_group This property is required. ReplicationRecoveryPlanFailoverRecoveryGroupArgs

One failover_recovery_group block as defined below.

NOTE: failover_recovery_group will be required in the next major version of the AzureRM Provider.

recovery_vault_id
This property is required.
Changes to this property will trigger replacement.
str
The ID of the vault that should be updated. Changing this forces a new resource to be created.
shutdown_recovery_group This property is required. ReplicationRecoveryPlanShutdownRecoveryGroupArgs

One shutdown_recovery_group block as defined below.

NOTE: shutdown_recovery_group will be required in the next major version of the AzureRM Provider.

source_recovery_fabric_id
This property is required.
Changes to this property will trigger replacement.
str
ID of source fabric to be recovered from. Changing this forces a new Replication Plan to be created.
target_recovery_fabric_id
This property is required.
Changes to this property will trigger replacement.
str
ID of target fabric to recover. Changing this forces a new Replication Plan to be created.
azure_to_azure_settings ReplicationRecoveryPlanAzureToAzureSettingsArgs
An azure_to_azure_settings block as defined below.
name Changes to this property will trigger replacement. str
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
bootRecoveryGroups This property is required. List<Property Map>

One or more boot_recovery_group blocks as defined below.

NOTE: At least one boot_recovery_group block will be required in the next major version of the AzureRM Provider.

failoverRecoveryGroup This property is required. Property Map

One failover_recovery_group block as defined below.

NOTE: failover_recovery_group will be required in the next major version of the AzureRM Provider.

recoveryVaultId
This property is required.
Changes to this property will trigger replacement.
String
The ID of the vault that should be updated. Changing this forces a new resource to be created.
shutdownRecoveryGroup This property is required. Property Map

One shutdown_recovery_group block as defined below.

NOTE: shutdown_recovery_group will be required in the next major version of the AzureRM Provider.

sourceRecoveryFabricId
This property is required.
Changes to this property will trigger replacement.
String
ID of source fabric to be recovered from. Changing this forces a new Replication Plan to be created.
targetRecoveryFabricId
This property is required.
Changes to this property will trigger replacement.
String
ID of target fabric to recover. Changing this forces a new Replication Plan to be created.
azureToAzureSettings Property Map
An azure_to_azure_settings block as defined below.
name Changes to this property will trigger replacement. String
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.

Outputs

All input properties are implicitly available as output properties. Additionally, the ReplicationRecoveryPlan resource produces the following output properties:

Id string
The provider-assigned unique ID for this managed resource.
Id string
The provider-assigned unique ID for this managed resource.
id String
The provider-assigned unique ID for this managed resource.
id string
The provider-assigned unique ID for this managed resource.
id str
The provider-assigned unique ID for this managed resource.
id String
The provider-assigned unique ID for this managed resource.

Look up Existing ReplicationRecoveryPlan Resource

Get an existing ReplicationRecoveryPlan resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: ReplicationRecoveryPlanState, opts?: CustomResourceOptions): ReplicationRecoveryPlan
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        azure_to_azure_settings: Optional[ReplicationRecoveryPlanAzureToAzureSettingsArgs] = None,
        boot_recovery_groups: Optional[Sequence[ReplicationRecoveryPlanBootRecoveryGroupArgs]] = None,
        failover_recovery_group: Optional[ReplicationRecoveryPlanFailoverRecoveryGroupArgs] = None,
        name: Optional[str] = None,
        recovery_vault_id: Optional[str] = None,
        shutdown_recovery_group: Optional[ReplicationRecoveryPlanShutdownRecoveryGroupArgs] = None,
        source_recovery_fabric_id: Optional[str] = None,
        target_recovery_fabric_id: Optional[str] = None) -> ReplicationRecoveryPlan
func GetReplicationRecoveryPlan(ctx *Context, name string, id IDInput, state *ReplicationRecoveryPlanState, opts ...ResourceOption) (*ReplicationRecoveryPlan, error)
public static ReplicationRecoveryPlan Get(string name, Input<string> id, ReplicationRecoveryPlanState? state, CustomResourceOptions? opts = null)
public static ReplicationRecoveryPlan get(String name, Output<String> id, ReplicationRecoveryPlanState state, CustomResourceOptions options)
resources:  _:    type: azure:siterecovery:ReplicationRecoveryPlan    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
AzureToAzureSettings ReplicationRecoveryPlanAzureToAzureSettings
An azure_to_azure_settings block as defined below.
BootRecoveryGroups List<ReplicationRecoveryPlanBootRecoveryGroup>

One or more boot_recovery_group blocks as defined below.

NOTE: At least one boot_recovery_group block will be required in the next major version of the AzureRM Provider.

FailoverRecoveryGroup ReplicationRecoveryPlanFailoverRecoveryGroup

One failover_recovery_group block as defined below.

NOTE: failover_recovery_group will be required in the next major version of the AzureRM Provider.

Name Changes to this property will trigger replacement. string
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
RecoveryVaultId Changes to this property will trigger replacement. string
The ID of the vault that should be updated. Changing this forces a new resource to be created.
ShutdownRecoveryGroup ReplicationRecoveryPlanShutdownRecoveryGroup

One shutdown_recovery_group block as defined below.

NOTE: shutdown_recovery_group will be required in the next major version of the AzureRM Provider.

SourceRecoveryFabricId Changes to this property will trigger replacement. string
ID of source fabric to be recovered from. Changing this forces a new Replication Plan to be created.
TargetRecoveryFabricId Changes to this property will trigger replacement. string
ID of target fabric to recover. Changing this forces a new Replication Plan to be created.
AzureToAzureSettings ReplicationRecoveryPlanAzureToAzureSettingsArgs
An azure_to_azure_settings block as defined below.
BootRecoveryGroups []ReplicationRecoveryPlanBootRecoveryGroupArgs

One or more boot_recovery_group blocks as defined below.

NOTE: At least one boot_recovery_group block will be required in the next major version of the AzureRM Provider.

FailoverRecoveryGroup ReplicationRecoveryPlanFailoverRecoveryGroupArgs

One failover_recovery_group block as defined below.

NOTE: failover_recovery_group will be required in the next major version of the AzureRM Provider.

Name Changes to this property will trigger replacement. string
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
RecoveryVaultId Changes to this property will trigger replacement. string
The ID of the vault that should be updated. Changing this forces a new resource to be created.
ShutdownRecoveryGroup ReplicationRecoveryPlanShutdownRecoveryGroupArgs

One shutdown_recovery_group block as defined below.

NOTE: shutdown_recovery_group will be required in the next major version of the AzureRM Provider.

SourceRecoveryFabricId Changes to this property will trigger replacement. string
ID of source fabric to be recovered from. Changing this forces a new Replication Plan to be created.
TargetRecoveryFabricId Changes to this property will trigger replacement. string
ID of target fabric to recover. Changing this forces a new Replication Plan to be created.
azureToAzureSettings ReplicationRecoveryPlanAzureToAzureSettings
An azure_to_azure_settings block as defined below.
bootRecoveryGroups List<ReplicationRecoveryPlanBootRecoveryGroup>

One or more boot_recovery_group blocks as defined below.

NOTE: At least one boot_recovery_group block will be required in the next major version of the AzureRM Provider.

failoverRecoveryGroup ReplicationRecoveryPlanFailoverRecoveryGroup

One failover_recovery_group block as defined below.

NOTE: failover_recovery_group will be required in the next major version of the AzureRM Provider.

name Changes to this property will trigger replacement. String
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
recoveryVaultId Changes to this property will trigger replacement. String
The ID of the vault that should be updated. Changing this forces a new resource to be created.
shutdownRecoveryGroup ReplicationRecoveryPlanShutdownRecoveryGroup

One shutdown_recovery_group block as defined below.

NOTE: shutdown_recovery_group will be required in the next major version of the AzureRM Provider.

sourceRecoveryFabricId Changes to this property will trigger replacement. String
ID of source fabric to be recovered from. Changing this forces a new Replication Plan to be created.
targetRecoveryFabricId Changes to this property will trigger replacement. String
ID of target fabric to recover. Changing this forces a new Replication Plan to be created.
azureToAzureSettings ReplicationRecoveryPlanAzureToAzureSettings
An azure_to_azure_settings block as defined below.
bootRecoveryGroups ReplicationRecoveryPlanBootRecoveryGroup[]

One or more boot_recovery_group blocks as defined below.

NOTE: At least one boot_recovery_group block will be required in the next major version of the AzureRM Provider.

failoverRecoveryGroup ReplicationRecoveryPlanFailoverRecoveryGroup

One failover_recovery_group block as defined below.

NOTE: failover_recovery_group will be required in the next major version of the AzureRM Provider.

name Changes to this property will trigger replacement. string
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
recoveryVaultId Changes to this property will trigger replacement. string
The ID of the vault that should be updated. Changing this forces a new resource to be created.
shutdownRecoveryGroup ReplicationRecoveryPlanShutdownRecoveryGroup

One shutdown_recovery_group block as defined below.

NOTE: shutdown_recovery_group will be required in the next major version of the AzureRM Provider.

sourceRecoveryFabricId Changes to this property will trigger replacement. string
ID of source fabric to be recovered from. Changing this forces a new Replication Plan to be created.
targetRecoveryFabricId Changes to this property will trigger replacement. string
ID of target fabric to recover. Changing this forces a new Replication Plan to be created.
azure_to_azure_settings ReplicationRecoveryPlanAzureToAzureSettingsArgs
An azure_to_azure_settings block as defined below.
boot_recovery_groups Sequence[ReplicationRecoveryPlanBootRecoveryGroupArgs]

One or more boot_recovery_group blocks as defined below.

NOTE: At least one boot_recovery_group block will be required in the next major version of the AzureRM Provider.

failover_recovery_group ReplicationRecoveryPlanFailoverRecoveryGroupArgs

One failover_recovery_group block as defined below.

NOTE: failover_recovery_group will be required in the next major version of the AzureRM Provider.

name Changes to this property will trigger replacement. str
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
recovery_vault_id Changes to this property will trigger replacement. str
The ID of the vault that should be updated. Changing this forces a new resource to be created.
shutdown_recovery_group ReplicationRecoveryPlanShutdownRecoveryGroupArgs

One shutdown_recovery_group block as defined below.

NOTE: shutdown_recovery_group will be required in the next major version of the AzureRM Provider.

source_recovery_fabric_id Changes to this property will trigger replacement. str
ID of source fabric to be recovered from. Changing this forces a new Replication Plan to be created.
target_recovery_fabric_id Changes to this property will trigger replacement. str
ID of target fabric to recover. Changing this forces a new Replication Plan to be created.
azureToAzureSettings Property Map
An azure_to_azure_settings block as defined below.
bootRecoveryGroups List<Property Map>

One or more boot_recovery_group blocks as defined below.

NOTE: At least one boot_recovery_group block will be required in the next major version of the AzureRM Provider.

failoverRecoveryGroup Property Map

One failover_recovery_group block as defined below.

NOTE: failover_recovery_group will be required in the next major version of the AzureRM Provider.

name Changes to this property will trigger replacement. String
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
recoveryVaultId Changes to this property will trigger replacement. String
The ID of the vault that should be updated. Changing this forces a new resource to be created.
shutdownRecoveryGroup Property Map

One shutdown_recovery_group block as defined below.

NOTE: shutdown_recovery_group will be required in the next major version of the AzureRM Provider.

sourceRecoveryFabricId Changes to this property will trigger replacement. String
ID of source fabric to be recovered from. Changing this forces a new Replication Plan to be created.
targetRecoveryFabricId Changes to this property will trigger replacement. String
ID of target fabric to recover. Changing this forces a new Replication Plan to be created.

Supporting Types

ReplicationRecoveryPlanAzureToAzureSettings
, ReplicationRecoveryPlanAzureToAzureSettingsArgs

PrimaryEdgeZone Changes to this property will trigger replacement. string
The Edge Zone within the Azure Region where the VM exists. Changing this forces a new Site Recovery Replication Recovery Plan to be created.
PrimaryZone Changes to this property will trigger replacement. string
The Availability Zone in which the VM is located. Changing this forces a new Site Recovery Replication Recovery Plan to be created.
RecoveryEdgeZone Changes to this property will trigger replacement. string

The Edge Zone within the Azure Region where the VM is recovered. Changing this forces a new Site Recovery Replication Recovery Plan to be created.

Note: primary_edge_zone and recovery_edge_zone must be specified together.

RecoveryZone Changes to this property will trigger replacement. string

The Availability Zone in which the VM is recovered. Changing this forces a new Site Recovery Replication Recovery Plan to be created.

Note: primary_zone and recovery_zone must be specified together.

PrimaryEdgeZone Changes to this property will trigger replacement. string
The Edge Zone within the Azure Region where the VM exists. Changing this forces a new Site Recovery Replication Recovery Plan to be created.
PrimaryZone Changes to this property will trigger replacement. string
The Availability Zone in which the VM is located. Changing this forces a new Site Recovery Replication Recovery Plan to be created.
RecoveryEdgeZone Changes to this property will trigger replacement. string

The Edge Zone within the Azure Region where the VM is recovered. Changing this forces a new Site Recovery Replication Recovery Plan to be created.

Note: primary_edge_zone and recovery_edge_zone must be specified together.

RecoveryZone Changes to this property will trigger replacement. string

The Availability Zone in which the VM is recovered. Changing this forces a new Site Recovery Replication Recovery Plan to be created.

Note: primary_zone and recovery_zone must be specified together.

primaryEdgeZone Changes to this property will trigger replacement. String
The Edge Zone within the Azure Region where the VM exists. Changing this forces a new Site Recovery Replication Recovery Plan to be created.
primaryZone Changes to this property will trigger replacement. String
The Availability Zone in which the VM is located. Changing this forces a new Site Recovery Replication Recovery Plan to be created.
recoveryEdgeZone Changes to this property will trigger replacement. String

The Edge Zone within the Azure Region where the VM is recovered. Changing this forces a new Site Recovery Replication Recovery Plan to be created.

Note: primary_edge_zone and recovery_edge_zone must be specified together.

recoveryZone Changes to this property will trigger replacement. String

The Availability Zone in which the VM is recovered. Changing this forces a new Site Recovery Replication Recovery Plan to be created.

Note: primary_zone and recovery_zone must be specified together.

primaryEdgeZone Changes to this property will trigger replacement. string
The Edge Zone within the Azure Region where the VM exists. Changing this forces a new Site Recovery Replication Recovery Plan to be created.
primaryZone Changes to this property will trigger replacement. string
The Availability Zone in which the VM is located. Changing this forces a new Site Recovery Replication Recovery Plan to be created.
recoveryEdgeZone Changes to this property will trigger replacement. string

The Edge Zone within the Azure Region where the VM is recovered. Changing this forces a new Site Recovery Replication Recovery Plan to be created.

Note: primary_edge_zone and recovery_edge_zone must be specified together.

recoveryZone Changes to this property will trigger replacement. string

The Availability Zone in which the VM is recovered. Changing this forces a new Site Recovery Replication Recovery Plan to be created.

Note: primary_zone and recovery_zone must be specified together.

primary_edge_zone Changes to this property will trigger replacement. str
The Edge Zone within the Azure Region where the VM exists. Changing this forces a new Site Recovery Replication Recovery Plan to be created.
primary_zone Changes to this property will trigger replacement. str
The Availability Zone in which the VM is located. Changing this forces a new Site Recovery Replication Recovery Plan to be created.
recovery_edge_zone Changes to this property will trigger replacement. str

The Edge Zone within the Azure Region where the VM is recovered. Changing this forces a new Site Recovery Replication Recovery Plan to be created.

Note: primary_edge_zone and recovery_edge_zone must be specified together.

recovery_zone Changes to this property will trigger replacement. str

The Availability Zone in which the VM is recovered. Changing this forces a new Site Recovery Replication Recovery Plan to be created.

Note: primary_zone and recovery_zone must be specified together.

primaryEdgeZone Changes to this property will trigger replacement. String
The Edge Zone within the Azure Region where the VM exists. Changing this forces a new Site Recovery Replication Recovery Plan to be created.
primaryZone Changes to this property will trigger replacement. String
The Availability Zone in which the VM is located. Changing this forces a new Site Recovery Replication Recovery Plan to be created.
recoveryEdgeZone Changes to this property will trigger replacement. String

The Edge Zone within the Azure Region where the VM is recovered. Changing this forces a new Site Recovery Replication Recovery Plan to be created.

Note: primary_edge_zone and recovery_edge_zone must be specified together.

recoveryZone Changes to this property will trigger replacement. String

The Availability Zone in which the VM is recovered. Changing this forces a new Site Recovery Replication Recovery Plan to be created.

Note: primary_zone and recovery_zone must be specified together.

ReplicationRecoveryPlanBootRecoveryGroup
, ReplicationRecoveryPlanBootRecoveryGroupArgs

PostActions List<ReplicationRecoveryPlanBootRecoveryGroupPostAction>
one or more action block as defined below. which will be executed after the group recovery.
PreActions List<ReplicationRecoveryPlanBootRecoveryGroupPreAction>
one or more action block as defined below. which will be executed before the group recovery.
ReplicatedProtectedItems List<string>
One or more protected VM IDs. It must not be specified when type is Shutdown.
PostActions []ReplicationRecoveryPlanBootRecoveryGroupPostAction
one or more action block as defined below. which will be executed after the group recovery.
PreActions []ReplicationRecoveryPlanBootRecoveryGroupPreAction
one or more action block as defined below. which will be executed before the group recovery.
ReplicatedProtectedItems []string
One or more protected VM IDs. It must not be specified when type is Shutdown.
postActions List<ReplicationRecoveryPlanBootRecoveryGroupPostAction>
one or more action block as defined below. which will be executed after the group recovery.
preActions List<ReplicationRecoveryPlanBootRecoveryGroupPreAction>
one or more action block as defined below. which will be executed before the group recovery.
replicatedProtectedItems List<String>
One or more protected VM IDs. It must not be specified when type is Shutdown.
postActions ReplicationRecoveryPlanBootRecoveryGroupPostAction[]
one or more action block as defined below. which will be executed after the group recovery.
preActions ReplicationRecoveryPlanBootRecoveryGroupPreAction[]
one or more action block as defined below. which will be executed before the group recovery.
replicatedProtectedItems string[]
One or more protected VM IDs. It must not be specified when type is Shutdown.
post_actions Sequence[ReplicationRecoveryPlanBootRecoveryGroupPostAction]
one or more action block as defined below. which will be executed after the group recovery.
pre_actions Sequence[ReplicationRecoveryPlanBootRecoveryGroupPreAction]
one or more action block as defined below. which will be executed before the group recovery.
replicated_protected_items Sequence[str]
One or more protected VM IDs. It must not be specified when type is Shutdown.
postActions List<Property Map>
one or more action block as defined below. which will be executed after the group recovery.
preActions List<Property Map>
one or more action block as defined below. which will be executed before the group recovery.
replicatedProtectedItems List<String>
One or more protected VM IDs. It must not be specified when type is Shutdown.

ReplicationRecoveryPlanBootRecoveryGroupPostAction
, ReplicationRecoveryPlanBootRecoveryGroupPostActionArgs

FailOverDirections This property is required. List<string>
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
FailOverTypes This property is required. List<string>
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
Name This property is required. string
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
Type This property is required. string
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
FabricLocation string

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

ManualActionInstruction string

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

RunbookId string

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

ScriptPath string

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

FailOverDirections This property is required. []string
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
FailOverTypes This property is required. []string
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
Name This property is required. string
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
Type This property is required. string
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
FabricLocation string

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

ManualActionInstruction string

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

RunbookId string

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

ScriptPath string

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

failOverDirections This property is required. List<String>
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
failOverTypes This property is required. List<String>
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
name This property is required. String
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
type This property is required. String
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
fabricLocation String

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

manualActionInstruction String

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

runbookId String

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

scriptPath String

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

failOverDirections This property is required. string[]
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
failOverTypes This property is required. string[]
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
name This property is required. string
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
type This property is required. string
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
fabricLocation string

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

manualActionInstruction string

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

runbookId string

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

scriptPath string

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

fail_over_directions This property is required. Sequence[str]
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
fail_over_types This property is required. Sequence[str]
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
name This property is required. str
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
type This property is required. str
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
fabric_location str

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

manual_action_instruction str

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

runbook_id str

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

script_path str

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

failOverDirections This property is required. List<String>
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
failOverTypes This property is required. List<String>
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
name This property is required. String
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
type This property is required. String
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
fabricLocation String

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

manualActionInstruction String

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

runbookId String

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

scriptPath String

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

ReplicationRecoveryPlanBootRecoveryGroupPreAction
, ReplicationRecoveryPlanBootRecoveryGroupPreActionArgs

FailOverDirections This property is required. List<string>
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
FailOverTypes This property is required. List<string>
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
Name This property is required. string
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
Type This property is required. string
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
FabricLocation string

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

ManualActionInstruction string

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

RunbookId string

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

ScriptPath string

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

FailOverDirections This property is required. []string
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
FailOverTypes This property is required. []string
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
Name This property is required. string
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
Type This property is required. string
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
FabricLocation string

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

ManualActionInstruction string

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

RunbookId string

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

ScriptPath string

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

failOverDirections This property is required. List<String>
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
failOverTypes This property is required. List<String>
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
name This property is required. String
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
type This property is required. String
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
fabricLocation String

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

manualActionInstruction String

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

runbookId String

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

scriptPath String

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

failOverDirections This property is required. string[]
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
failOverTypes This property is required. string[]
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
name This property is required. string
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
type This property is required. string
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
fabricLocation string

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

manualActionInstruction string

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

runbookId string

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

scriptPath string

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

fail_over_directions This property is required. Sequence[str]
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
fail_over_types This property is required. Sequence[str]
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
name This property is required. str
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
type This property is required. str
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
fabric_location str

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

manual_action_instruction str

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

runbook_id str

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

script_path str

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

failOverDirections This property is required. List<String>
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
failOverTypes This property is required. List<String>
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
name This property is required. String
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
type This property is required. String
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
fabricLocation String

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

manualActionInstruction String

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

runbookId String

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

scriptPath String

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

ReplicationRecoveryPlanFailoverRecoveryGroup
, ReplicationRecoveryPlanFailoverRecoveryGroupArgs

PostActions List<ReplicationRecoveryPlanFailoverRecoveryGroupPostAction>
one or more action block as defined below. which will be executed after the group recovery.
PreActions List<ReplicationRecoveryPlanFailoverRecoveryGroupPreAction>
one or more action block as defined below. which will be executed before the group recovery.
PostActions []ReplicationRecoveryPlanFailoverRecoveryGroupPostAction
one or more action block as defined below. which will be executed after the group recovery.
PreActions []ReplicationRecoveryPlanFailoverRecoveryGroupPreAction
one or more action block as defined below. which will be executed before the group recovery.
postActions List<ReplicationRecoveryPlanFailoverRecoveryGroupPostAction>
one or more action block as defined below. which will be executed after the group recovery.
preActions List<ReplicationRecoveryPlanFailoverRecoveryGroupPreAction>
one or more action block as defined below. which will be executed before the group recovery.
postActions ReplicationRecoveryPlanFailoverRecoveryGroupPostAction[]
one or more action block as defined below. which will be executed after the group recovery.
preActions ReplicationRecoveryPlanFailoverRecoveryGroupPreAction[]
one or more action block as defined below. which will be executed before the group recovery.
post_actions Sequence[ReplicationRecoveryPlanFailoverRecoveryGroupPostAction]
one or more action block as defined below. which will be executed after the group recovery.
pre_actions Sequence[ReplicationRecoveryPlanFailoverRecoveryGroupPreAction]
one or more action block as defined below. which will be executed before the group recovery.
postActions List<Property Map>
one or more action block as defined below. which will be executed after the group recovery.
preActions List<Property Map>
one or more action block as defined below. which will be executed before the group recovery.

ReplicationRecoveryPlanFailoverRecoveryGroupPostAction
, ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArgs

FailOverDirections This property is required. List<string>
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
FailOverTypes This property is required. List<string>
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
Name This property is required. string
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
Type This property is required. string
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
FabricLocation string

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

ManualActionInstruction string

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

RunbookId string

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

ScriptPath string

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

FailOverDirections This property is required. []string
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
FailOverTypes This property is required. []string
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
Name This property is required. string
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
Type This property is required. string
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
FabricLocation string

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

ManualActionInstruction string

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

RunbookId string

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

ScriptPath string

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

failOverDirections This property is required. List<String>
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
failOverTypes This property is required. List<String>
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
name This property is required. String
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
type This property is required. String
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
fabricLocation String

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

manualActionInstruction String

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

runbookId String

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

scriptPath String

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

failOverDirections This property is required. string[]
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
failOverTypes This property is required. string[]
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
name This property is required. string
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
type This property is required. string
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
fabricLocation string

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

manualActionInstruction string

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

runbookId string

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

scriptPath string

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

fail_over_directions This property is required. Sequence[str]
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
fail_over_types This property is required. Sequence[str]
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
name This property is required. str
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
type This property is required. str
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
fabric_location str

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

manual_action_instruction str

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

runbook_id str

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

script_path str

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

failOverDirections This property is required. List<String>
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
failOverTypes This property is required. List<String>
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
name This property is required. String
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
type This property is required. String
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
fabricLocation String

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

manualActionInstruction String

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

runbookId String

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

scriptPath String

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

ReplicationRecoveryPlanFailoverRecoveryGroupPreAction
, ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArgs

FailOverDirections This property is required. List<string>
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
FailOverTypes This property is required. List<string>
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
Name This property is required. string
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
Type This property is required. string
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
FabricLocation string

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

ManualActionInstruction string

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

RunbookId string

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

ScriptPath string

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

FailOverDirections This property is required. []string
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
FailOverTypes This property is required. []string
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
Name This property is required. string
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
Type This property is required. string
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
FabricLocation string

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

ManualActionInstruction string

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

RunbookId string

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

ScriptPath string

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

failOverDirections This property is required. List<String>
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
failOverTypes This property is required. List<String>
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
name This property is required. String
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
type This property is required. String
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
fabricLocation String

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

manualActionInstruction String

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

runbookId String

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

scriptPath String

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

failOverDirections This property is required. string[]
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
failOverTypes This property is required. string[]
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
name This property is required. string
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
type This property is required. string
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
fabricLocation string

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

manualActionInstruction string

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

runbookId string

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

scriptPath string

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

fail_over_directions This property is required. Sequence[str]
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
fail_over_types This property is required. Sequence[str]
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
name This property is required. str
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
type This property is required. str
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
fabric_location str

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

manual_action_instruction str

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

runbook_id str

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

script_path str

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

failOverDirections This property is required. List<String>
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
failOverTypes This property is required. List<String>
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
name This property is required. String
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
type This property is required. String
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
fabricLocation String

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

manualActionInstruction String

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

runbookId String

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

scriptPath String

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

ReplicationRecoveryPlanShutdownRecoveryGroup
, ReplicationRecoveryPlanShutdownRecoveryGroupArgs

PostActions List<ReplicationRecoveryPlanShutdownRecoveryGroupPostAction>
one or more action block as defined below. which will be executed after the group recovery.
PreActions List<ReplicationRecoveryPlanShutdownRecoveryGroupPreAction>
one or more action block as defined below. which will be executed before the group recovery.
PostActions []ReplicationRecoveryPlanShutdownRecoveryGroupPostAction
one or more action block as defined below. which will be executed after the group recovery.
PreActions []ReplicationRecoveryPlanShutdownRecoveryGroupPreAction
one or more action block as defined below. which will be executed before the group recovery.
postActions List<ReplicationRecoveryPlanShutdownRecoveryGroupPostAction>
one or more action block as defined below. which will be executed after the group recovery.
preActions List<ReplicationRecoveryPlanShutdownRecoveryGroupPreAction>
one or more action block as defined below. which will be executed before the group recovery.
postActions ReplicationRecoveryPlanShutdownRecoveryGroupPostAction[]
one or more action block as defined below. which will be executed after the group recovery.
preActions ReplicationRecoveryPlanShutdownRecoveryGroupPreAction[]
one or more action block as defined below. which will be executed before the group recovery.
post_actions Sequence[ReplicationRecoveryPlanShutdownRecoveryGroupPostAction]
one or more action block as defined below. which will be executed after the group recovery.
pre_actions Sequence[ReplicationRecoveryPlanShutdownRecoveryGroupPreAction]
one or more action block as defined below. which will be executed before the group recovery.
postActions List<Property Map>
one or more action block as defined below. which will be executed after the group recovery.
preActions List<Property Map>
one or more action block as defined below. which will be executed before the group recovery.

ReplicationRecoveryPlanShutdownRecoveryGroupPostAction
, ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArgs

FailOverDirections This property is required. List<string>
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
FailOverTypes This property is required. List<string>
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
Name This property is required. string
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
Type This property is required. string
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
FabricLocation string

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

ManualActionInstruction string

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

RunbookId string

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

ScriptPath string

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

FailOverDirections This property is required. []string
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
FailOverTypes This property is required. []string
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
Name This property is required. string
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
Type This property is required. string
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
FabricLocation string

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

ManualActionInstruction string

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

RunbookId string

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

ScriptPath string

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

failOverDirections This property is required. List<String>
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
failOverTypes This property is required. List<String>
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
name This property is required. String
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
type This property is required. String
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
fabricLocation String

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

manualActionInstruction String

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

runbookId String

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

scriptPath String

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

failOverDirections This property is required. string[]
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
failOverTypes This property is required. string[]
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
name This property is required. string
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
type This property is required. string
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
fabricLocation string

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

manualActionInstruction string

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

runbookId string

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

scriptPath string

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

fail_over_directions This property is required. Sequence[str]
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
fail_over_types This property is required. Sequence[str]
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
name This property is required. str
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
type This property is required. str
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
fabric_location str

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

manual_action_instruction str

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

runbook_id str

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

script_path str

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

failOverDirections This property is required. List<String>
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
failOverTypes This property is required. List<String>
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
name This property is required. String
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
type This property is required. String
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
fabricLocation String

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

manualActionInstruction String

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

runbookId String

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

scriptPath String

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

ReplicationRecoveryPlanShutdownRecoveryGroupPreAction
, ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArgs

FailOverDirections This property is required. List<string>
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
FailOverTypes This property is required. List<string>
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
Name This property is required. string
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
Type This property is required. string
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
FabricLocation string

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

ManualActionInstruction string

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

RunbookId string

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

ScriptPath string

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

FailOverDirections This property is required. []string
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
FailOverTypes This property is required. []string
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
Name This property is required. string
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
Type This property is required. string
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
FabricLocation string

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

ManualActionInstruction string

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

RunbookId string

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

ScriptPath string

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

failOverDirections This property is required. List<String>
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
failOverTypes This property is required. List<String>
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
name This property is required. String
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
type This property is required. String
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
fabricLocation String

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

manualActionInstruction String

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

runbookId String

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

scriptPath String

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

failOverDirections This property is required. string[]
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
failOverTypes This property is required. string[]
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
name This property is required. string
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
type This property is required. string
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
fabricLocation string

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

manualActionInstruction string

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

runbookId string

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

scriptPath string

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

fail_over_directions This property is required. Sequence[str]
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
fail_over_types This property is required. Sequence[str]
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
name This property is required. str
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
type This property is required. str
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
fabric_location str

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

manual_action_instruction str

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

runbook_id str

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

script_path str

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

failOverDirections This property is required. List<String>
Directions of fail over. Possible values are PrimaryToRecovery and RecoveryToPrimary
failOverTypes This property is required. List<String>
Types of fail over. Possible values are TestFailover, PlannedFailover and UnplannedFailover
name This property is required. String
The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
type This property is required. String
Type of the action detail. Possible values are AutomationRunbookActionDetails, ManualActionDetails and ScriptActionDetails.
fabricLocation String

The fabric location of runbook or script. Possible values are Primary and Recovery. It must not be specified when type is ManualActionDetails.

NOTE: This is required when type is set to AutomationRunbookActionDetails or ScriptActionDetails.

manualActionInstruction String

Instructions of manual action.

NOTE: This property is required when type is set to ManualActionDetails.

runbookId String

Id of runbook.

NOTE: This property is required when type is set to AutomationRunbookActionDetails.

scriptPath String

Path of action script.

NOTE: This property is required when type is set to ScriptActionDetails.

Import

Site Recovery Fabric can be imported using the resource id, e.g.

$ pulumi import azure:siterecovery/replicationRecoveryPlan:ReplicationRecoveryPlan azurerm_site_recovery_replication_recovery_plan.example /subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/groupName/providers/Microsoft.RecoveryServices/vaults/vaultName/replicationRecoveryPlans/planName
Copy

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
Azure Classic pulumi/pulumi-azure
License
Apache-2.0
Notes
This Pulumi package is based on the azurerm Terraform Provider.