We recommend using Azure Native.
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],
}],
});
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=[azure.network.NetworkInterfaceIpConfigurationArgs(
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=azure.compute.VirtualMachineStorageImageReferenceArgs(
publisher="Canonical",
offer="0001-com-ubuntu-server-jammy",
sku="22_04-lts",
version="latest",
),
storage_os_disk=azure.compute.VirtualMachineStorageOsDiskArgs(
name="vm-os-disk",
os_type="Linux",
caching="ReadWrite",
create_option="FromImage",
managed_disk_type="Premium_LRS",
),
os_profile=azure.compute.VirtualMachineOsProfileArgs(
admin_username="test-admin-123",
admin_password="test-pwd-123",
computer_name="vm",
),
os_profile_linux_config=azure.compute.VirtualMachineOsProfileLinuxConfigArgs(
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=[azure.siterecovery.ReplicatedVMManagedDiskArgs(
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=[azure.siterecovery.ReplicatedVMNetworkInterfaceArgs(
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=azure.siterecovery.ReplicationRecoveryPlanShutdownRecoveryGroupArgs(),
failover_recovery_group=azure.siterecovery.ReplicationRecoveryPlanFailoverRecoveryGroupArgs(),
boot_recovery_groups=[azure.siterecovery.ReplicationRecoveryPlanBootRecoveryGroupArgs(
replicated_protected_items=[vm_replication.id],
)])
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/recoveryservices"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/siterecovery"
"github.com/pulumi/pulumi-azure/sdk/v5/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: 24 * 60,
ApplicationConsistentSnapshotFrequencyInMinutes: 4 * 60,
})
if err != nil {
return err
}
_, 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
}
_, 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
}
_, 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: nil,
FailoverRecoveryGroup: nil,
BootRecoveryGroups: siterecovery.ReplicationRecoveryPlanBootRecoveryGroupArray{
&siterecovery.ReplicationRecoveryPlanBootRecoveryGroupArgs{
ReplicatedProtectedItems: pulumi.StringArray{
vm_replication.ID(),
},
},
},
})
if err != nil {
return err
}
return nil
})
}
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,
},
},
},
});
});
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());
}
}
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,
recovery_vault_id: Optional[str] = None,
source_recovery_fabric_id: Optional[str] = None,
target_recovery_fabric_id: Optional[str] = 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_groups: Optional[Sequence[ReplicationRecoveryPlanRecoveryGroupArgs]] = None,
shutdown_recovery_group: Optional[ReplicationRecoveryPlanShutdownRecoveryGroupArgs] = 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 string
- The unique name of the resource.
- args ReplicationRecoveryPlanArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args 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 string
- The unique name of the resource.
- args ReplicationRecoveryPlanArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ReplicationRecoveryPlanArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args 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()
{
RecoveryVaultId = "string",
SourceRecoveryFabricId = "string",
TargetRecoveryFabricId = "string",
AzureToAzureSettings = new Azure.SiteRecovery.Inputs.ReplicationRecoveryPlanAzureToAzureSettingsArgs
{
PrimaryEdgeZone = "string",
PrimaryZone = "string",
RecoveryEdgeZone = "string",
RecoveryZone = "string",
},
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",
},
},
},
Name = "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",
},
},
},
});
example, err := siterecovery.NewReplicationRecoveryPlan(ctx, "replicationRecoveryPlanResource", &siterecovery.ReplicationRecoveryPlanArgs{
RecoveryVaultId: 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"),
},
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"),
},
},
},
Name: 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"),
},
},
},
})
var replicationRecoveryPlanResource = new ReplicationRecoveryPlan("replicationRecoveryPlanResource", ReplicationRecoveryPlanArgs.builder()
.recoveryVaultId("string")
.sourceRecoveryFabricId("string")
.targetRecoveryFabricId("string")
.azureToAzureSettings(ReplicationRecoveryPlanAzureToAzureSettingsArgs.builder()
.primaryEdgeZone("string")
.primaryZone("string")
.recoveryEdgeZone("string")
.recoveryZone("string")
.build())
.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())
.name("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())
.build());
replication_recovery_plan_resource = azure.siterecovery.ReplicationRecoveryPlan("replicationRecoveryPlanResource",
recovery_vault_id="string",
source_recovery_fabric_id="string",
target_recovery_fabric_id="string",
azure_to_azure_settings=azure.siterecovery.ReplicationRecoveryPlanAzureToAzureSettingsArgs(
primary_edge_zone="string",
primary_zone="string",
recovery_edge_zone="string",
recovery_zone="string",
),
boot_recovery_groups=[azure.siterecovery.ReplicationRecoveryPlanBootRecoveryGroupArgs(
post_actions=[azure.siterecovery.ReplicationRecoveryPlanBootRecoveryGroupPostActionArgs(
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=[azure.siterecovery.ReplicationRecoveryPlanBootRecoveryGroupPreActionArgs(
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=azure.siterecovery.ReplicationRecoveryPlanFailoverRecoveryGroupArgs(
post_actions=[azure.siterecovery.ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArgs(
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=[azure.siterecovery.ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArgs(
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",
)],
),
name="string",
shutdown_recovery_group=azure.siterecovery.ReplicationRecoveryPlanShutdownRecoveryGroupArgs(
post_actions=[azure.siterecovery.ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArgs(
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=[azure.siterecovery.ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArgs(
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",
)],
))
const replicationRecoveryPlanResource = new azure.siterecovery.ReplicationRecoveryPlan("replicationRecoveryPlanResource", {
recoveryVaultId: "string",
sourceRecoveryFabricId: "string",
targetRecoveryFabricId: "string",
azureToAzureSettings: {
primaryEdgeZone: "string",
primaryZone: "string",
recoveryEdgeZone: "string",
recoveryZone: "string",
},
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",
}],
},
name: "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",
}],
},
});
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
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
The ReplicationRecoveryPlan resource accepts the following input properties:
- Recovery
Vault stringId - The ID of the vault that should be updated. Changing this forces a new resource to be created.
- Source
Recovery stringFabric Id - ID of source fabric to be recovered from. Changing this forces a new Replication Plan to be created.
- Target
Recovery stringFabric Id - ID of target fabric to recover. Changing this forces a new Replication Plan to be created.
- Azure
To ReplicationAzure Settings Recovery Plan Azure To Azure Settings - An
azure_to_azure_settings
block as defined below. - Boot
Recovery List<ReplicationGroups Recovery Plan Boot Recovery Group> 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 ReplicationGroup Recovery Plan Failover Recovery Group 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 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.
- Recovery
Groups List<ReplicationRecovery Plan Recovery Group> Three or more
recovery_group
block defined as below.Note: The
recovery_group
block is deprecated in favor ofshutdown_recovery_group
,failover_recovery_group
andboot_recovery_group
. It will be removed in v4.0 of the Azure Provider.- Shutdown
Recovery ReplicationGroup Recovery Plan Shutdown Recovery Group One
shutdown_recovery_group
block as defined below.NOTE:
shutdown_recovery_group
will be required in the next major version of the AzureRM Provider.
- Recovery
Vault stringId - The ID of the vault that should be updated. Changing this forces a new resource to be created.
- Source
Recovery stringFabric Id - ID of source fabric to be recovered from. Changing this forces a new Replication Plan to be created.
- Target
Recovery stringFabric Id - ID of target fabric to recover. Changing this forces a new Replication Plan to be created.
- Azure
To ReplicationAzure Settings Recovery Plan Azure To Azure Settings Args - An
azure_to_azure_settings
block as defined below. - Boot
Recovery []ReplicationGroups Recovery Plan Boot Recovery Group Args 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 ReplicationGroup Recovery Plan Failover Recovery Group Args 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 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.
- Recovery
Groups []ReplicationRecovery Plan Recovery Group Args Three or more
recovery_group
block defined as below.Note: The
recovery_group
block is deprecated in favor ofshutdown_recovery_group
,failover_recovery_group
andboot_recovery_group
. It will be removed in v4.0 of the Azure Provider.- Shutdown
Recovery ReplicationGroup Recovery Plan Shutdown Recovery Group Args One
shutdown_recovery_group
block as defined below.NOTE:
shutdown_recovery_group
will be required in the next major version of the AzureRM Provider.
- recovery
Vault StringId - The ID of the vault that should be updated. Changing this forces a new resource to be created.
- source
Recovery StringFabric Id - ID of source fabric to be recovered from. Changing this forces a new Replication Plan to be created.
- target
Recovery StringFabric Id - ID of target fabric to recover. Changing this forces a new Replication Plan to be created.
- azure
To ReplicationAzure Settings Recovery Plan Azure To Azure Settings - An
azure_to_azure_settings
block as defined below. - boot
Recovery List<ReplicationGroups Recovery Plan Boot Recovery Group> 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 ReplicationGroup Recovery Plan Failover Recovery Group 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 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.
- recovery
Groups List<ReplicationRecovery Plan Recovery Group> Three or more
recovery_group
block defined as below.Note: The
recovery_group
block is deprecated in favor ofshutdown_recovery_group
,failover_recovery_group
andboot_recovery_group
. It will be removed in v4.0 of the Azure Provider.- shutdown
Recovery ReplicationGroup Recovery Plan Shutdown Recovery Group One
shutdown_recovery_group
block as defined below.NOTE:
shutdown_recovery_group
will be required in the next major version of the AzureRM Provider.
- recovery
Vault stringId - The ID of the vault that should be updated. Changing this forces a new resource to be created.
- source
Recovery stringFabric Id - ID of source fabric to be recovered from. Changing this forces a new Replication Plan to be created.
- target
Recovery stringFabric Id - ID of target fabric to recover. Changing this forces a new Replication Plan to be created.
- azure
To ReplicationAzure Settings Recovery Plan Azure To Azure Settings - An
azure_to_azure_settings
block as defined below. - boot
Recovery ReplicationGroups Recovery Plan Boot Recovery Group[] 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 ReplicationGroup Recovery Plan Failover Recovery Group 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 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.
- recovery
Groups ReplicationRecovery Plan Recovery Group[] Three or more
recovery_group
block defined as below.Note: The
recovery_group
block is deprecated in favor ofshutdown_recovery_group
,failover_recovery_group
andboot_recovery_group
. It will be removed in v4.0 of the Azure Provider.- shutdown
Recovery ReplicationGroup Recovery Plan Shutdown Recovery Group One
shutdown_recovery_group
block as defined below.NOTE:
shutdown_recovery_group
will be required in the next major version of the AzureRM Provider.
- recovery_
vault_ strid - The ID of the vault that should be updated. Changing this forces a new resource to be created.
- source_
recovery_ strfabric_ id - ID of source fabric to be recovered from. Changing this forces a new Replication Plan to be created.
- target_
recovery_ strfabric_ id - ID of target fabric to recover. Changing this forces a new Replication Plan to be created.
- azure_
to_ Replicationazure_ settings Recovery Plan Azure To Azure Settings Args - An
azure_to_azure_settings
block as defined below. - boot_
recovery_ Sequence[Replicationgroups Recovery Plan Boot Recovery Group Args] 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_ Replicationgroup Recovery Plan Failover Recovery Group Args 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 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_
groups Sequence[ReplicationRecovery Plan Recovery Group Args] Three or more
recovery_group
block defined as below.Note: The
recovery_group
block is deprecated in favor ofshutdown_recovery_group
,failover_recovery_group
andboot_recovery_group
. It will be removed in v4.0 of the Azure Provider.- shutdown_
recovery_ Replicationgroup Recovery Plan Shutdown Recovery Group Args One
shutdown_recovery_group
block as defined below.NOTE:
shutdown_recovery_group
will be required in the next major version of the AzureRM Provider.
- recovery
Vault StringId - The ID of the vault that should be updated. Changing this forces a new resource to be created.
- source
Recovery StringFabric Id - ID of source fabric to be recovered from. Changing this forces a new Replication Plan to be created.
- target
Recovery StringFabric Id - ID of target fabric to recover. Changing this forces a new Replication Plan to be created.
- azure
To Property MapAzure Settings - An
azure_to_azure_settings
block as defined below. - boot
Recovery List<Property Map>Groups 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 Property MapGroup 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 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.
- recovery
Groups List<Property Map> Three or more
recovery_group
block defined as below.Note: The
recovery_group
block is deprecated in favor ofshutdown_recovery_group
,failover_recovery_group
andboot_recovery_group
. It will be removed in v4.0 of the Azure Provider.- shutdown
Recovery Property MapGroup One
shutdown_recovery_group
block as defined below.NOTE:
shutdown_recovery_group
will be required in the next major version of the AzureRM Provider.
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_groups: Optional[Sequence[ReplicationRecoveryPlanRecoveryGroupArgs]] = 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)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- 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
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- 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
- The unique name of the resulting resource.
- id
- 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
- The unique name of the resulting resource.
- id
- 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.
- Azure
To ReplicationAzure Settings Recovery Plan Azure To Azure Settings - An
azure_to_azure_settings
block as defined below. - Boot
Recovery List<ReplicationGroups Recovery Plan Boot Recovery Group> 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 ReplicationGroup Recovery Plan Failover Recovery Group 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 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.
- Recovery
Groups List<ReplicationRecovery Plan Recovery Group> Three or more
recovery_group
block defined as below.Note: The
recovery_group
block is deprecated in favor ofshutdown_recovery_group
,failover_recovery_group
andboot_recovery_group
. It will be removed in v4.0 of the Azure Provider.- Recovery
Vault stringId - The ID of the vault that should be updated. Changing this forces a new resource to be created.
- Shutdown
Recovery ReplicationGroup Recovery Plan Shutdown Recovery Group 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 stringFabric Id - ID of source fabric to be recovered from. Changing this forces a new Replication Plan to be created.
- Target
Recovery stringFabric Id - ID of target fabric to recover. Changing this forces a new Replication Plan to be created.
- Azure
To ReplicationAzure Settings Recovery Plan Azure To Azure Settings Args - An
azure_to_azure_settings
block as defined below. - Boot
Recovery []ReplicationGroups Recovery Plan Boot Recovery Group Args 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 ReplicationGroup Recovery Plan Failover Recovery Group Args 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 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.
- Recovery
Groups []ReplicationRecovery Plan Recovery Group Args Three or more
recovery_group
block defined as below.Note: The
recovery_group
block is deprecated in favor ofshutdown_recovery_group
,failover_recovery_group
andboot_recovery_group
. It will be removed in v4.0 of the Azure Provider.- Recovery
Vault stringId - The ID of the vault that should be updated. Changing this forces a new resource to be created.
- Shutdown
Recovery ReplicationGroup Recovery Plan Shutdown Recovery Group Args 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 stringFabric Id - ID of source fabric to be recovered from. Changing this forces a new Replication Plan to be created.
- Target
Recovery stringFabric Id - ID of target fabric to recover. Changing this forces a new Replication Plan to be created.
- azure
To ReplicationAzure Settings Recovery Plan Azure To Azure Settings - An
azure_to_azure_settings
block as defined below. - boot
Recovery List<ReplicationGroups Recovery Plan Boot Recovery Group> 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 ReplicationGroup Recovery Plan Failover Recovery Group 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 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.
- recovery
Groups List<ReplicationRecovery Plan Recovery Group> Three or more
recovery_group
block defined as below.Note: The
recovery_group
block is deprecated in favor ofshutdown_recovery_group
,failover_recovery_group
andboot_recovery_group
. It will be removed in v4.0 of the Azure Provider.- recovery
Vault StringId - The ID of the vault that should be updated. Changing this forces a new resource to be created.
- shutdown
Recovery ReplicationGroup Recovery Plan Shutdown Recovery Group 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 StringFabric Id - ID of source fabric to be recovered from. Changing this forces a new Replication Plan to be created.
- target
Recovery StringFabric Id - ID of target fabric to recover. Changing this forces a new Replication Plan to be created.
- azure
To ReplicationAzure Settings Recovery Plan Azure To Azure Settings - An
azure_to_azure_settings
block as defined below. - boot
Recovery ReplicationGroups Recovery Plan Boot Recovery Group[] 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 ReplicationGroup Recovery Plan Failover Recovery Group 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 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.
- recovery
Groups ReplicationRecovery Plan Recovery Group[] Three or more
recovery_group
block defined as below.Note: The
recovery_group
block is deprecated in favor ofshutdown_recovery_group
,failover_recovery_group
andboot_recovery_group
. It will be removed in v4.0 of the Azure Provider.- recovery
Vault stringId - The ID of the vault that should be updated. Changing this forces a new resource to be created.
- shutdown
Recovery ReplicationGroup Recovery Plan Shutdown Recovery Group 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 stringFabric Id - ID of source fabric to be recovered from. Changing this forces a new Replication Plan to be created.
- target
Recovery stringFabric Id - ID of target fabric to recover. Changing this forces a new Replication Plan to be created.
- azure_
to_ Replicationazure_ settings Recovery Plan Azure To Azure Settings Args - An
azure_to_azure_settings
block as defined below. - boot_
recovery_ Sequence[Replicationgroups Recovery Plan Boot Recovery Group Args] 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_ Replicationgroup Recovery Plan Failover Recovery Group Args 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 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_
groups Sequence[ReplicationRecovery Plan Recovery Group Args] Three or more
recovery_group
block defined as below.Note: The
recovery_group
block is deprecated in favor ofshutdown_recovery_group
,failover_recovery_group
andboot_recovery_group
. It will be removed in v4.0 of the Azure Provider.- recovery_
vault_ strid - The ID of the vault that should be updated. Changing this forces a new resource to be created.
- shutdown_
recovery_ Replicationgroup Recovery Plan Shutdown Recovery Group Args 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_ strfabric_ id - ID of source fabric to be recovered from. Changing this forces a new Replication Plan to be created.
- target_
recovery_ strfabric_ id - ID of target fabric to recover. Changing this forces a new Replication Plan to be created.
- azure
To Property MapAzure Settings - An
azure_to_azure_settings
block as defined below. - boot
Recovery List<Property Map>Groups 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 Property MapGroup 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 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.
- recovery
Groups List<Property Map> Three or more
recovery_group
block defined as below.Note: The
recovery_group
block is deprecated in favor ofshutdown_recovery_group
,failover_recovery_group
andboot_recovery_group
. It will be removed in v4.0 of the Azure Provider.- recovery
Vault StringId - The ID of the vault that should be updated. Changing this forces a new resource to be created.
- shutdown
Recovery Property MapGroup 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 StringFabric Id - ID of source fabric to be recovered from. Changing this forces a new Replication Plan to be created.
- target
Recovery StringFabric Id - ID of target fabric to recover. Changing this forces a new Replication Plan to be created.
Supporting Types
ReplicationRecoveryPlanAzureToAzureSettings, ReplicationRecoveryPlanAzureToAzureSettingsArgs
- Primary
Edge stringZone - 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 string - The Availability Zone in which the VM is located. Changing this forces a new Site Recovery Replication Recovery Plan to be created.
- Recovery
Edge stringZone 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
andrecovery_edge_zone
must be specified together.- Recovery
Zone 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
andrecovery_zone
must be specified together.
- Primary
Edge stringZone - 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 string - The Availability Zone in which the VM is located. Changing this forces a new Site Recovery Replication Recovery Plan to be created.
- Recovery
Edge stringZone 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
andrecovery_edge_zone
must be specified together.- Recovery
Zone 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
andrecovery_zone
must be specified together.
- primary
Edge StringZone - 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 String - The Availability Zone in which the VM is located. Changing this forces a new Site Recovery Replication Recovery Plan to be created.
- recovery
Edge StringZone 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
andrecovery_edge_zone
must be specified together.- recovery
Zone 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
andrecovery_zone
must be specified together.
- primary
Edge stringZone - 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 string - The Availability Zone in which the VM is located. Changing this forces a new Site Recovery Replication Recovery Plan to be created.
- recovery
Edge stringZone 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
andrecovery_edge_zone
must be specified together.- recovery
Zone 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
andrecovery_zone
must be specified together.
- primary_
edge_ strzone - 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 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_ strzone 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
andrecovery_edge_zone
must be specified together.- recovery_
zone 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
andrecovery_zone
must be specified together.
- primary
Edge StringZone - 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 String - The Availability Zone in which the VM is located. Changing this forces a new Site Recovery Replication Recovery Plan to be created.
- recovery
Edge StringZone 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
andrecovery_edge_zone
must be specified together.- recovery
Zone 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
andrecovery_zone
must be specified together.
ReplicationRecoveryPlanBootRecoveryGroup, ReplicationRecoveryPlanBootRecoveryGroupArgs
- Post
Actions List<ReplicationRecovery Plan Boot Recovery Group Post Action> - one or more
action
block as defined below. which will be executed after the group recovery. - Pre
Actions List<ReplicationRecovery Plan Boot Recovery Group Pre Action> - one or more
action
block as defined below. which will be executed before the group recovery. - Replicated
Protected List<string>Items - One or more protected VM IDs. It must not be specified when
type
isShutdown
.
- Post
Actions []ReplicationRecovery Plan Boot Recovery Group Post Action - one or more
action
block as defined below. which will be executed after the group recovery. - Pre
Actions []ReplicationRecovery Plan Boot Recovery Group Pre Action - one or more
action
block as defined below. which will be executed before the group recovery. - Replicated
Protected []stringItems - One or more protected VM IDs. It must not be specified when
type
isShutdown
.
- post
Actions List<ReplicationRecovery Plan Boot Recovery Group Post Action> - one or more
action
block as defined below. which will be executed after the group recovery. - pre
Actions List<ReplicationRecovery Plan Boot Recovery Group Pre Action> - one or more
action
block as defined below. which will be executed before the group recovery. - replicated
Protected List<String>Items - One or more protected VM IDs. It must not be specified when
type
isShutdown
.
- post
Actions ReplicationRecovery Plan Boot Recovery Group Post Action[] - one or more
action
block as defined below. which will be executed after the group recovery. - pre
Actions ReplicationRecovery Plan Boot Recovery Group Pre Action[] - one or more
action
block as defined below. which will be executed before the group recovery. - replicated
Protected string[]Items - One or more protected VM IDs. It must not be specified when
type
isShutdown
.
- post_
actions Sequence[ReplicationRecovery Plan Boot Recovery Group Post Action] - one or more
action
block as defined below. which will be executed after the group recovery. - pre_
actions Sequence[ReplicationRecovery Plan Boot Recovery Group Pre Action] - one or more
action
block as defined below. which will be executed before the group recovery. - replicated_
protected_ Sequence[str]items - One or more protected VM IDs. It must not be specified when
type
isShutdown
.
- post
Actions List<Property Map> - one or more
action
block as defined below. which will be executed after the group recovery. - pre
Actions List<Property Map> - one or more
action
block as defined below. which will be executed before the group recovery. - replicated
Protected List<String>Items - One or more protected VM IDs. It must not be specified when
type
isShutdown
.
ReplicationRecoveryPlanBootRecoveryGroupPostAction, ReplicationRecoveryPlanBootRecoveryGroupPostActionArgs
- Fail
Over List<string>Directions - Fail
Over List<string>Types - Name 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 string
- Fabric
Location string - Manual
Action stringInstruction - Runbook
Id string - Script
Path string
- Fail
Over []stringDirections - Fail
Over []stringTypes - Name 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 string
- Fabric
Location string - Manual
Action stringInstruction - Runbook
Id string - Script
Path string
- fail
Over List<String>Directions - fail
Over List<String>Types - name 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 String
- fabric
Location String - manual
Action StringInstruction - runbook
Id String - script
Path String
- fail
Over string[]Directions - fail
Over string[]Types - name 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 string
- fabric
Location string - manual
Action stringInstruction - runbook
Id string - script
Path string
- fail_
over_ Sequence[str]directions - fail_
over_ Sequence[str]types - name 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 str
- fabric_
location str - manual_
action_ strinstruction - runbook_
id str - script_
path str
- fail
Over List<String>Directions - fail
Over List<String>Types - name 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 String
- fabric
Location String - manual
Action StringInstruction - runbook
Id String - script
Path String
ReplicationRecoveryPlanBootRecoveryGroupPreAction, ReplicationRecoveryPlanBootRecoveryGroupPreActionArgs
- Fail
Over List<string>Directions - Fail
Over List<string>Types - Name 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 string
- Fabric
Location string - Manual
Action stringInstruction - Runbook
Id string - Script
Path string
- Fail
Over []stringDirections - Fail
Over []stringTypes - Name 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 string
- Fabric
Location string - Manual
Action stringInstruction - Runbook
Id string - Script
Path string
- fail
Over List<String>Directions - fail
Over List<String>Types - name 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 String
- fabric
Location String - manual
Action StringInstruction - runbook
Id String - script
Path String
- fail
Over string[]Directions - fail
Over string[]Types - name 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 string
- fabric
Location string - manual
Action stringInstruction - runbook
Id string - script
Path string
- fail_
over_ Sequence[str]directions - fail_
over_ Sequence[str]types - name 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 str
- fabric_
location str - manual_
action_ strinstruction - runbook_
id str - script_
path str
- fail
Over List<String>Directions - fail
Over List<String>Types - name 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 String
- fabric
Location String - manual
Action StringInstruction - runbook
Id String - script
Path String
ReplicationRecoveryPlanFailoverRecoveryGroup, ReplicationRecoveryPlanFailoverRecoveryGroupArgs
- Post
Actions List<ReplicationRecovery Plan Failover Recovery Group Post Action> - one or more
action
block as defined below. which will be executed after the group recovery. - Pre
Actions List<ReplicationRecovery Plan Failover Recovery Group Pre Action> - one or more
action
block as defined below. which will be executed before the group recovery.
- Post
Actions []ReplicationRecovery Plan Failover Recovery Group Post Action - one or more
action
block as defined below. which will be executed after the group recovery. - Pre
Actions []ReplicationRecovery Plan Failover Recovery Group Pre Action - one or more
action
block as defined below. which will be executed before the group recovery.
- post
Actions List<ReplicationRecovery Plan Failover Recovery Group Post Action> - one or more
action
block as defined below. which will be executed after the group recovery. - pre
Actions List<ReplicationRecovery Plan Failover Recovery Group Pre Action> - one or more
action
block as defined below. which will be executed before the group recovery.
- post
Actions ReplicationRecovery Plan Failover Recovery Group Post Action[] - one or more
action
block as defined below. which will be executed after the group recovery. - pre
Actions ReplicationRecovery Plan Failover Recovery Group Pre Action[] - one or more
action
block as defined below. which will be executed before the group recovery.
- post_
actions Sequence[ReplicationRecovery Plan Failover Recovery Group Post Action] - one or more
action
block as defined below. which will be executed after the group recovery. - pre_
actions Sequence[ReplicationRecovery Plan Failover Recovery Group Pre Action] - one or more
action
block as defined below. which will be executed before the group recovery.
- post
Actions List<Property Map> - one or more
action
block as defined below. which will be executed after the group recovery. - pre
Actions List<Property Map> - one or more
action
block as defined below. which will be executed before the group recovery.
ReplicationRecoveryPlanFailoverRecoveryGroupPostAction, ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArgs
- Fail
Over List<string>Directions - Fail
Over List<string>Types - Name 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 string
- Fabric
Location string - Manual
Action stringInstruction - Runbook
Id string - Script
Path string
- Fail
Over []stringDirections - Fail
Over []stringTypes - Name 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 string
- Fabric
Location string - Manual
Action stringInstruction - Runbook
Id string - Script
Path string
- fail
Over List<String>Directions - fail
Over List<String>Types - name 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 String
- fabric
Location String - manual
Action StringInstruction - runbook
Id String - script
Path String
- fail
Over string[]Directions - fail
Over string[]Types - name 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 string
- fabric
Location string - manual
Action stringInstruction - runbook
Id string - script
Path string
- fail_
over_ Sequence[str]directions - fail_
over_ Sequence[str]types - name 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 str
- fabric_
location str - manual_
action_ strinstruction - runbook_
id str - script_
path str
- fail
Over List<String>Directions - fail
Over List<String>Types - name 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 String
- fabric
Location String - manual
Action StringInstruction - runbook
Id String - script
Path String
ReplicationRecoveryPlanFailoverRecoveryGroupPreAction, ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArgs
- Fail
Over List<string>Directions - Fail
Over List<string>Types - Name 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 string
- Fabric
Location string - Manual
Action stringInstruction - Runbook
Id string - Script
Path string
- Fail
Over []stringDirections - Fail
Over []stringTypes - Name 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 string
- Fabric
Location string - Manual
Action stringInstruction - Runbook
Id string - Script
Path string
- fail
Over List<String>Directions - fail
Over List<String>Types - name 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 String
- fabric
Location String - manual
Action StringInstruction - runbook
Id String - script
Path String
- fail
Over string[]Directions - fail
Over string[]Types - name 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 string
- fabric
Location string - manual
Action stringInstruction - runbook
Id string - script
Path string
- fail_
over_ Sequence[str]directions - fail_
over_ Sequence[str]types - name 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 str
- fabric_
location str - manual_
action_ strinstruction - runbook_
id str - script_
path str
- fail
Over List<String>Directions - fail
Over List<String>Types - name 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 String
- fabric
Location String - manual
Action StringInstruction - runbook
Id String - script
Path String
ReplicationRecoveryPlanRecoveryGroup, ReplicationRecoveryPlanRecoveryGroupArgs
- Type string
- The Recovery Plan Group Type. Possible values are
Boot
,Failover
andShutdown
. - Post
Actions List<ReplicationRecovery Plan Recovery Group Post Action> - one or more
action
block as defined below. which will be executed after the group recovery. - Pre
Actions List<ReplicationRecovery Plan Recovery Group Pre Action> - one or more
action
block as defined below. which will be executed before the group recovery. - Replicated
Protected List<string>Items - One or more protected VM IDs. It must not be specified when
type
isShutdown
.
- Type string
- The Recovery Plan Group Type. Possible values are
Boot
,Failover
andShutdown
. - Post
Actions []ReplicationRecovery Plan Recovery Group Post Action - one or more
action
block as defined below. which will be executed after the group recovery. - Pre
Actions []ReplicationRecovery Plan Recovery Group Pre Action - one or more
action
block as defined below. which will be executed before the group recovery. - Replicated
Protected []stringItems - One or more protected VM IDs. It must not be specified when
type
isShutdown
.
- type String
- The Recovery Plan Group Type. Possible values are
Boot
,Failover
andShutdown
. - post
Actions List<ReplicationRecovery Plan Recovery Group Post Action> - one or more
action
block as defined below. which will be executed after the group recovery. - pre
Actions List<ReplicationRecovery Plan Recovery Group Pre Action> - one or more
action
block as defined below. which will be executed before the group recovery. - replicated
Protected List<String>Items - One or more protected VM IDs. It must not be specified when
type
isShutdown
.
- type string
- The Recovery Plan Group Type. Possible values are
Boot
,Failover
andShutdown
. - post
Actions ReplicationRecovery Plan Recovery Group Post Action[] - one or more
action
block as defined below. which will be executed after the group recovery. - pre
Actions ReplicationRecovery Plan Recovery Group Pre Action[] - one or more
action
block as defined below. which will be executed before the group recovery. - replicated
Protected string[]Items - One or more protected VM IDs. It must not be specified when
type
isShutdown
.
- type str
- The Recovery Plan Group Type. Possible values are
Boot
,Failover
andShutdown
. - post_
actions Sequence[ReplicationRecovery Plan Recovery Group Post Action] - one or more
action
block as defined below. which will be executed after the group recovery. - pre_
actions Sequence[ReplicationRecovery Plan Recovery Group Pre Action] - one or more
action
block as defined below. which will be executed before the group recovery. - replicated_
protected_ Sequence[str]items - One or more protected VM IDs. It must not be specified when
type
isShutdown
.
- type String
- The Recovery Plan Group Type. Possible values are
Boot
,Failover
andShutdown
. - post
Actions List<Property Map> - one or more
action
block as defined below. which will be executed after the group recovery. - pre
Actions List<Property Map> - one or more
action
block as defined below. which will be executed before the group recovery. - replicated
Protected List<String>Items - One or more protected VM IDs. It must not be specified when
type
isShutdown
.
ReplicationRecoveryPlanRecoveryGroupPostAction, ReplicationRecoveryPlanRecoveryGroupPostActionArgs
- Fail
Over List<string>Directions - Fail
Over List<string>Types - Name 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 string
- Fabric
Location string - Manual
Action stringInstruction - Runbook
Id string - Script
Path string
- Fail
Over []stringDirections - Fail
Over []stringTypes - Name 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 string
- Fabric
Location string - Manual
Action stringInstruction - Runbook
Id string - Script
Path string
- fail
Over List<String>Directions - fail
Over List<String>Types - name 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 String
- fabric
Location String - manual
Action StringInstruction - runbook
Id String - script
Path String
- fail
Over string[]Directions - fail
Over string[]Types - name 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 string
- fabric
Location string - manual
Action stringInstruction - runbook
Id string - script
Path string
- fail_
over_ Sequence[str]directions - fail_
over_ Sequence[str]types - name 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 str
- fabric_
location str - manual_
action_ strinstruction - runbook_
id str - script_
path str
- fail
Over List<String>Directions - fail
Over List<String>Types - name 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 String
- fabric
Location String - manual
Action StringInstruction - runbook
Id String - script
Path String
ReplicationRecoveryPlanRecoveryGroupPreAction, ReplicationRecoveryPlanRecoveryGroupPreActionArgs
- Fail
Over List<string>Directions - Fail
Over List<string>Types - Name 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 string
- Fabric
Location string - Manual
Action stringInstruction - Runbook
Id string - Script
Path string
- Fail
Over []stringDirections - Fail
Over []stringTypes - Name 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 string
- Fabric
Location string - Manual
Action stringInstruction - Runbook
Id string - Script
Path string
- fail
Over List<String>Directions - fail
Over List<String>Types - name 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 String
- fabric
Location String - manual
Action StringInstruction - runbook
Id String - script
Path String
- fail
Over string[]Directions - fail
Over string[]Types - name 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 string
- fabric
Location string - manual
Action stringInstruction - runbook
Id string - script
Path string
- fail_
over_ Sequence[str]directions - fail_
over_ Sequence[str]types - name 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 str
- fabric_
location str - manual_
action_ strinstruction - runbook_
id str - script_
path str
- fail
Over List<String>Directions - fail
Over List<String>Types - name 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 String
- fabric
Location String - manual
Action StringInstruction - runbook
Id String - script
Path String
ReplicationRecoveryPlanShutdownRecoveryGroup, ReplicationRecoveryPlanShutdownRecoveryGroupArgs
- Post
Actions List<ReplicationRecovery Plan Shutdown Recovery Group Post Action> - one or more
action
block as defined below. which will be executed after the group recovery. - Pre
Actions List<ReplicationRecovery Plan Shutdown Recovery Group Pre Action> - one or more
action
block as defined below. which will be executed before the group recovery.
- Post
Actions []ReplicationRecovery Plan Shutdown Recovery Group Post Action - one or more
action
block as defined below. which will be executed after the group recovery. - Pre
Actions []ReplicationRecovery Plan Shutdown Recovery Group Pre Action - one or more
action
block as defined below. which will be executed before the group recovery.
- post
Actions List<ReplicationRecovery Plan Shutdown Recovery Group Post Action> - one or more
action
block as defined below. which will be executed after the group recovery. - pre
Actions List<ReplicationRecovery Plan Shutdown Recovery Group Pre Action> - one or more
action
block as defined below. which will be executed before the group recovery.
- post
Actions ReplicationRecovery Plan Shutdown Recovery Group Post Action[] - one or more
action
block as defined below. which will be executed after the group recovery. - pre
Actions ReplicationRecovery Plan Shutdown Recovery Group Pre Action[] - one or more
action
block as defined below. which will be executed before the group recovery.
- post_
actions Sequence[ReplicationRecovery Plan Shutdown Recovery Group Post Action] - one or more
action
block as defined below. which will be executed after the group recovery. - pre_
actions Sequence[ReplicationRecovery Plan Shutdown Recovery Group Pre Action] - one or more
action
block as defined below. which will be executed before the group recovery.
- post
Actions List<Property Map> - one or more
action
block as defined below. which will be executed after the group recovery. - pre
Actions List<Property Map> - one or more
action
block as defined below. which will be executed before the group recovery.
ReplicationRecoveryPlanShutdownRecoveryGroupPostAction, ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArgs
- Fail
Over List<string>Directions - Fail
Over List<string>Types - Name 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 string
- Fabric
Location string - Manual
Action stringInstruction - Runbook
Id string - Script
Path string
- Fail
Over []stringDirections - Fail
Over []stringTypes - Name 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 string
- Fabric
Location string - Manual
Action stringInstruction - Runbook
Id string - Script
Path string
- fail
Over List<String>Directions - fail
Over List<String>Types - name 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 String
- fabric
Location String - manual
Action StringInstruction - runbook
Id String - script
Path String
- fail
Over string[]Directions - fail
Over string[]Types - name 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 string
- fabric
Location string - manual
Action stringInstruction - runbook
Id string - script
Path string
- fail_
over_ Sequence[str]directions - fail_
over_ Sequence[str]types - name 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 str
- fabric_
location str - manual_
action_ strinstruction - runbook_
id str - script_
path str
- fail
Over List<String>Directions - fail
Over List<String>Types - name 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 String
- fabric
Location String - manual
Action StringInstruction - runbook
Id String - script
Path String
ReplicationRecoveryPlanShutdownRecoveryGroupPreAction, ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArgs
- Fail
Over List<string>Directions - Fail
Over List<string>Types - Name 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 string
- Fabric
Location string - Manual
Action stringInstruction - Runbook
Id string - Script
Path string
- Fail
Over []stringDirections - Fail
Over []stringTypes - Name 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 string
- Fabric
Location string - Manual
Action stringInstruction - Runbook
Id string - Script
Path string
- fail
Over List<String>Directions - fail
Over List<String>Types - name 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 String
- fabric
Location String - manual
Action StringInstruction - runbook
Id String - script
Path String
- fail
Over string[]Directions - fail
Over string[]Types - name 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 string
- fabric
Location string - manual
Action stringInstruction - runbook
Id string - script
Path string
- fail_
over_ Sequence[str]directions - fail_
over_ Sequence[str]types - name 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 str
- fabric_
location str - manual_
action_ strinstruction - runbook_
id str - script_
path str
- fail
Over List<String>Directions - fail
Over List<String>Types - name 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 String
- fabric
Location String - manual
Action StringInstruction - runbook
Id String - script
Path String
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
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.