We recommend using Azure Native.
azure.siterecovery.ReplicatedVM
Manages a VM replicated using Azure Site Recovery (Azure to Azure only). A replicated VM keeps a copiously updated image of the VM in another region in order to be able to start the VM in that region in case of a disaster.
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,
    ],
});
import pulumi
import pulumi_azure as azure
primary = azure.core.ResourceGroup("primary",
    name="tfex-replicated-vm-primary",
    location="West US")
secondary = azure.core.ResourceGroup("secondary",
    name="tfex-replicated-vm-secondary",
    location="East US")
primary_virtual_network = azure.network.VirtualNetwork("primary",
    name="network1",
    resource_group_name=primary.name,
    address_spaces=["192.168.1.0/24"],
    location=primary.location)
primary_subnet = azure.network.Subnet("primary",
    name="network1-subnet",
    resource_group_name=primary.name,
    virtual_network_name=primary_virtual_network.name,
    address_prefixes=["192.168.1.0/24"])
primary_public_ip = azure.network.PublicIp("primary",
    name="vm-public-ip-primary",
    allocation_method="Static",
    location=primary.location,
    resource_group_name=primary.name,
    sku="Basic")
vm_network_interface = azure.network.NetworkInterface("vm",
    name="vm-nic",
    location=primary.location,
    resource_group_name=primary.name,
    ip_configurations=[{
        "name": "vm",
        "subnet_id": primary_subnet.id,
        "private_ip_address_allocation": "Dynamic",
        "public_ip_address_id": primary_public_ip.id,
    }])
vm = azure.compute.VirtualMachine("vm",
    name="vm",
    location=primary.location,
    resource_group_name=primary.name,
    vm_size="Standard_B1s",
    network_interface_ids=[vm_network_interface.id],
    storage_image_reference={
        "publisher": "Canonical",
        "offer": "0001-com-ubuntu-server-jammy",
        "sku": "22_04-lts",
        "version": "latest",
    },
    storage_os_disk={
        "name": "vm-os-disk",
        "os_type": "Linux",
        "caching": "ReadWrite",
        "create_option": "FromImage",
        "managed_disk_type": "Premium_LRS",
    },
    os_profile={
        "admin_username": "test-admin-123",
        "admin_password": "test-pwd-123",
        "computer_name": "vm",
    },
    os_profile_linux_config={
        "disable_password_authentication": False,
    })
vault = azure.recoveryservices.Vault("vault",
    name="example-recovery-vault",
    location=secondary.location,
    resource_group_name=secondary.name,
    sku="Standard")
primary_fabric = azure.siterecovery.Fabric("primary",
    name="primary-fabric",
    resource_group_name=secondary.name,
    recovery_vault_name=vault.name,
    location=primary.location)
secondary_fabric = azure.siterecovery.Fabric("secondary",
    name="secondary-fabric",
    resource_group_name=secondary.name,
    recovery_vault_name=vault.name,
    location=secondary.location)
primary_protection_container = azure.siterecovery.ProtectionContainer("primary",
    name="primary-protection-container",
    resource_group_name=secondary.name,
    recovery_vault_name=vault.name,
    recovery_fabric_name=primary_fabric.name)
secondary_protection_container = azure.siterecovery.ProtectionContainer("secondary",
    name="secondary-protection-container",
    resource_group_name=secondary.name,
    recovery_vault_name=vault.name,
    recovery_fabric_name=secondary_fabric.name)
policy = azure.siterecovery.ReplicationPolicy("policy",
    name="policy",
    resource_group_name=secondary.name,
    recovery_vault_name=vault.name,
    recovery_point_retention_in_minutes=24 * 60,
    application_consistent_snapshot_frequency_in_minutes=4 * 60)
container_mapping = azure.siterecovery.ProtectionContainerMapping("container-mapping",
    name="container-mapping",
    resource_group_name=secondary.name,
    recovery_vault_name=vault.name,
    recovery_fabric_name=primary_fabric.name,
    recovery_source_protection_container_name=primary_protection_container.name,
    recovery_target_protection_container_id=secondary_protection_container.id,
    recovery_replication_policy_id=policy.id)
secondary_virtual_network = azure.network.VirtualNetwork("secondary",
    name="network2",
    resource_group_name=secondary.name,
    address_spaces=["192.168.2.0/24"],
    location=secondary.location)
network_mapping = azure.siterecovery.NetworkMapping("network-mapping",
    name="network-mapping",
    resource_group_name=secondary.name,
    recovery_vault_name=vault.name,
    source_recovery_fabric_name=primary_fabric.name,
    target_recovery_fabric_name=secondary_fabric.name,
    source_network_id=primary_virtual_network.id,
    target_network_id=secondary_virtual_network.id)
primary_account = azure.storage.Account("primary",
    name="primaryrecoverycache",
    location=primary.location,
    resource_group_name=primary.name,
    account_tier="Standard",
    account_replication_type="LRS")
secondary_subnet = azure.network.Subnet("secondary",
    name="network2-subnet",
    resource_group_name=secondary.name,
    virtual_network_name=secondary_virtual_network.name,
    address_prefixes=["192.168.2.0/24"])
secondary_public_ip = azure.network.PublicIp("secondary",
    name="vm-public-ip-secondary",
    allocation_method="Static",
    location=secondary.location,
    resource_group_name=secondary.name,
    sku="Basic")
vm_replication = azure.siterecovery.ReplicatedVM("vm-replication",
    name="vm-replication",
    resource_group_name=secondary.name,
    recovery_vault_name=vault.name,
    source_recovery_fabric_name=primary_fabric.name,
    source_vm_id=vm.id,
    recovery_replication_policy_id=policy.id,
    source_recovery_protection_container_name=primary_protection_container.name,
    target_resource_group_id=secondary.id,
    target_recovery_fabric_id=secondary_fabric.id,
    target_recovery_protection_container_id=secondary_protection_container.id,
    managed_disks=[{
        "disk_id": vm.storage_os_disk.managed_disk_id,
        "staging_storage_account_id": primary_account.id,
        "target_resource_group_id": secondary.id,
        "target_disk_type": "Premium_LRS",
        "target_replica_disk_type": "Premium_LRS",
    }],
    network_interfaces=[{
        "source_network_interface_id": vm_network_interface.id,
        "target_subnet_name": secondary_subnet.name,
        "recovery_public_ip_address_id": secondary_public_ip.id,
    }],
    opts = pulumi.ResourceOptions(depends_on=[
            container_mapping,
            network_mapping,
        ]))
package main
import (
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute"
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network"
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/recoveryservices"
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/siterecovery"
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := core.NewResourceGroup(ctx, "primary", &core.ResourceGroupArgs{
			Name:     pulumi.String("tfex-replicated-vm-primary"),
			Location: pulumi.String("West US"),
		})
		if err != nil {
			return err
		}
		secondary, err := core.NewResourceGroup(ctx, "secondary", &core.ResourceGroupArgs{
			Name:     pulumi.String("tfex-replicated-vm-secondary"),
			Location: pulumi.String("East US"),
		})
		if err != nil {
			return err
		}
		primaryVirtualNetwork, err := network.NewVirtualNetwork(ctx, "primary", &network.VirtualNetworkArgs{
			Name:              pulumi.String("network1"),
			ResourceGroupName: primary.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("192.168.1.0/24"),
			},
			Location: primary.Location,
		})
		if err != nil {
			return err
		}
		primarySubnet, err := network.NewSubnet(ctx, "primary", &network.SubnetArgs{
			Name:               pulumi.String("network1-subnet"),
			ResourceGroupName:  primary.Name,
			VirtualNetworkName: primaryVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("192.168.1.0/24"),
			},
		})
		if err != nil {
			return err
		}
		primaryPublicIp, err := network.NewPublicIp(ctx, "primary", &network.PublicIpArgs{
			Name:              pulumi.String("vm-public-ip-primary"),
			AllocationMethod:  pulumi.String("Static"),
			Location:          primary.Location,
			ResourceGroupName: primary.Name,
			Sku:               pulumi.String("Basic"),
		})
		if err != nil {
			return err
		}
		vmNetworkInterface, err := network.NewNetworkInterface(ctx, "vm", &network.NetworkInterfaceArgs{
			Name:              pulumi.String("vm-nic"),
			Location:          primary.Location,
			ResourceGroupName: primary.Name,
			IpConfigurations: network.NetworkInterfaceIpConfigurationArray{
				&network.NetworkInterfaceIpConfigurationArgs{
					Name:                       pulumi.String("vm"),
					SubnetId:                   primarySubnet.ID(),
					PrivateIpAddressAllocation: pulumi.String("Dynamic"),
					PublicIpAddressId:          primaryPublicIp.ID(),
				},
			},
		})
		if err != nil {
			return err
		}
		vm, err := compute.NewVirtualMachine(ctx, "vm", &compute.VirtualMachineArgs{
			Name:              pulumi.String("vm"),
			Location:          primary.Location,
			ResourceGroupName: primary.Name,
			VmSize:            pulumi.String("Standard_B1s"),
			NetworkInterfaceIds: pulumi.StringArray{
				vmNetworkInterface.ID(),
			},
			StorageImageReference: &compute.VirtualMachineStorageImageReferenceArgs{
				Publisher: pulumi.String("Canonical"),
				Offer:     pulumi.String("0001-com-ubuntu-server-jammy"),
				Sku:       pulumi.String("22_04-lts"),
				Version:   pulumi.String("latest"),
			},
			StorageOsDisk: &compute.VirtualMachineStorageOsDiskArgs{
				Name:            pulumi.String("vm-os-disk"),
				OsType:          pulumi.String("Linux"),
				Caching:         pulumi.String("ReadWrite"),
				CreateOption:    pulumi.String("FromImage"),
				ManagedDiskType: pulumi.String("Premium_LRS"),
			},
			OsProfile: &compute.VirtualMachineOsProfileArgs{
				AdminUsername: pulumi.String("test-admin-123"),
				AdminPassword: pulumi.String("test-pwd-123"),
				ComputerName:  pulumi.String("vm"),
			},
			OsProfileLinuxConfig: &compute.VirtualMachineOsProfileLinuxConfigArgs{
				DisablePasswordAuthentication: pulumi.Bool(false),
			},
		})
		if err != nil {
			return err
		}
		vault, err := recoveryservices.NewVault(ctx, "vault", &recoveryservices.VaultArgs{
			Name:              pulumi.String("example-recovery-vault"),
			Location:          secondary.Location,
			ResourceGroupName: secondary.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		primaryFabric, err := siterecovery.NewFabric(ctx, "primary", &siterecovery.FabricArgs{
			Name:              pulumi.String("primary-fabric"),
			ResourceGroupName: secondary.Name,
			RecoveryVaultName: vault.Name,
			Location:          primary.Location,
		})
		if err != nil {
			return err
		}
		secondaryFabric, err := siterecovery.NewFabric(ctx, "secondary", &siterecovery.FabricArgs{
			Name:              pulumi.String("secondary-fabric"),
			ResourceGroupName: secondary.Name,
			RecoveryVaultName: vault.Name,
			Location:          secondary.Location,
		})
		if err != nil {
			return err
		}
		primaryProtectionContainer, err := siterecovery.NewProtectionContainer(ctx, "primary", &siterecovery.ProtectionContainerArgs{
			Name:               pulumi.String("primary-protection-container"),
			ResourceGroupName:  secondary.Name,
			RecoveryVaultName:  vault.Name,
			RecoveryFabricName: primaryFabric.Name,
		})
		if err != nil {
			return err
		}
		secondaryProtectionContainer, err := siterecovery.NewProtectionContainer(ctx, "secondary", &siterecovery.ProtectionContainerArgs{
			Name:               pulumi.String("secondary-protection-container"),
			ResourceGroupName:  secondary.Name,
			RecoveryVaultName:  vault.Name,
			RecoveryFabricName: secondaryFabric.Name,
		})
		if err != nil {
			return err
		}
		policy, err := siterecovery.NewReplicationPolicy(ctx, "policy", &siterecovery.ReplicationPolicyArgs{
			Name:                            pulumi.String("policy"),
			ResourceGroupName:               secondary.Name,
			RecoveryVaultName:               vault.Name,
			RecoveryPointRetentionInMinutes: int(24 * 60),
			ApplicationConsistentSnapshotFrequencyInMinutes: int(4 * 60),
		})
		if err != nil {
			return err
		}
		container_mapping, err := siterecovery.NewProtectionContainerMapping(ctx, "container-mapping", &siterecovery.ProtectionContainerMappingArgs{
			Name:                                  pulumi.String("container-mapping"),
			ResourceGroupName:                     secondary.Name,
			RecoveryVaultName:                     vault.Name,
			RecoveryFabricName:                    primaryFabric.Name,
			RecoverySourceProtectionContainerName: primaryProtectionContainer.Name,
			RecoveryTargetProtectionContainerId:   secondaryProtectionContainer.ID(),
			RecoveryReplicationPolicyId:           policy.ID(),
		})
		if err != nil {
			return err
		}
		secondaryVirtualNetwork, err := network.NewVirtualNetwork(ctx, "secondary", &network.VirtualNetworkArgs{
			Name:              pulumi.String("network2"),
			ResourceGroupName: secondary.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("192.168.2.0/24"),
			},
			Location: secondary.Location,
		})
		if err != nil {
			return err
		}
		network_mapping, err := siterecovery.NewNetworkMapping(ctx, "network-mapping", &siterecovery.NetworkMappingArgs{
			Name:                     pulumi.String("network-mapping"),
			ResourceGroupName:        secondary.Name,
			RecoveryVaultName:        vault.Name,
			SourceRecoveryFabricName: primaryFabric.Name,
			TargetRecoveryFabricName: secondaryFabric.Name,
			SourceNetworkId:          primaryVirtualNetwork.ID(),
			TargetNetworkId:          secondaryVirtualNetwork.ID(),
		})
		if err != nil {
			return err
		}
		primaryAccount, err := storage.NewAccount(ctx, "primary", &storage.AccountArgs{
			Name:                   pulumi.String("primaryrecoverycache"),
			Location:               primary.Location,
			ResourceGroupName:      primary.Name,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("LRS"),
		})
		if err != nil {
			return err
		}
		secondarySubnet, err := network.NewSubnet(ctx, "secondary", &network.SubnetArgs{
			Name:               pulumi.String("network2-subnet"),
			ResourceGroupName:  secondary.Name,
			VirtualNetworkName: secondaryVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("192.168.2.0/24"),
			},
		})
		if err != nil {
			return err
		}
		secondaryPublicIp, err := network.NewPublicIp(ctx, "secondary", &network.PublicIpArgs{
			Name:              pulumi.String("vm-public-ip-secondary"),
			AllocationMethod:  pulumi.String("Static"),
			Location:          secondary.Location,
			ResourceGroupName: secondary.Name,
			Sku:               pulumi.String("Basic"),
		})
		if err != nil {
			return err
		}
		_, 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
		}
		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,
        },
    });
});
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.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());
    }
}
Example coming soon!
API Providers
This resource uses the following Azure API Providers:
- Microsoft.RecoveryServices- 2024-04-01
Create ReplicatedVM Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new ReplicatedVM(name: string, args: ReplicatedVMArgs, opts?: CustomResourceOptions);@overload
def ReplicatedVM(resource_name: str,
                 args: ReplicatedVMArgs,
                 opts: Optional[ResourceOptions] = None)
@overload
def ReplicatedVM(resource_name: str,
                 opts: Optional[ResourceOptions] = None,
                 target_resource_group_id: Optional[str] = None,
                 source_vm_id: Optional[str] = None,
                 target_recovery_protection_container_id: Optional[str] = None,
                 target_recovery_fabric_id: Optional[str] = None,
                 recovery_replication_policy_id: Optional[str] = None,
                 recovery_vault_name: Optional[str] = None,
                 resource_group_name: Optional[str] = None,
                 source_recovery_fabric_name: Optional[str] = None,
                 source_recovery_protection_container_name: Optional[str] = None,
                 target_boot_diagnostic_storage_account_id: Optional[str] = None,
                 target_capacity_reservation_group_id: Optional[str] = None,
                 target_availability_set_id: Optional[str] = None,
                 network_interfaces: Optional[Sequence[ReplicatedVMNetworkInterfaceArgs]] = None,
                 target_edge_zone: Optional[str] = None,
                 target_network_id: Optional[str] = None,
                 target_proximity_placement_group_id: Optional[str] = None,
                 multi_vm_group_name: Optional[str] = None,
                 name: Optional[str] = None,
                 managed_disks: Optional[Sequence[ReplicatedVMManagedDiskArgs]] = None,
                 target_virtual_machine_scale_set_id: Optional[str] = None,
                 target_virtual_machine_size: Optional[str] = None,
                 target_zone: Optional[str] = None,
                 test_network_id: Optional[str] = None,
                 unmanaged_disks: Optional[Sequence[ReplicatedVMUnmanagedDiskArgs]] = None)func NewReplicatedVM(ctx *Context, name string, args ReplicatedVMArgs, opts ...ResourceOption) (*ReplicatedVM, error)public ReplicatedVM(string name, ReplicatedVMArgs args, CustomResourceOptions? opts = null)
public ReplicatedVM(String name, ReplicatedVMArgs args)
public ReplicatedVM(String name, ReplicatedVMArgs args, CustomResourceOptions options)
type: azure:siterecovery:ReplicatedVM
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 ReplicatedVMArgs
- 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 ReplicatedVMArgs
- 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 ReplicatedVMArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ReplicatedVMArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ReplicatedVMArgs
- 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 replicatedVMResource = new Azure.SiteRecovery.ReplicatedVM("replicatedVMResource", new()
{
    TargetResourceGroupId = "string",
    SourceVmId = "string",
    TargetRecoveryProtectionContainerId = "string",
    TargetRecoveryFabricId = "string",
    RecoveryReplicationPolicyId = "string",
    RecoveryVaultName = "string",
    ResourceGroupName = "string",
    SourceRecoveryFabricName = "string",
    SourceRecoveryProtectionContainerName = "string",
    TargetBootDiagnosticStorageAccountId = "string",
    TargetCapacityReservationGroupId = "string",
    TargetAvailabilitySetId = "string",
    NetworkInterfaces = new[]
    {
        new Azure.SiteRecovery.Inputs.ReplicatedVMNetworkInterfaceArgs
        {
            FailoverTestPublicIpAddressId = "string",
            FailoverTestStaticIp = "string",
            FailoverTestSubnetName = "string",
            RecoveryLoadBalancerBackendAddressPoolIds = new[]
            {
                "string",
            },
            RecoveryPublicIpAddressId = "string",
            SourceNetworkInterfaceId = "string",
            TargetStaticIp = "string",
            TargetSubnetName = "string",
        },
    },
    TargetEdgeZone = "string",
    TargetNetworkId = "string",
    TargetProximityPlacementGroupId = "string",
    MultiVmGroupName = "string",
    Name = "string",
    ManagedDisks = new[]
    {
        new Azure.SiteRecovery.Inputs.ReplicatedVMManagedDiskArgs
        {
            DiskId = "string",
            StagingStorageAccountId = "string",
            TargetDiskType = "string",
            TargetReplicaDiskType = "string",
            TargetResourceGroupId = "string",
            TargetDiskEncryption = new Azure.SiteRecovery.Inputs.ReplicatedVMManagedDiskTargetDiskEncryptionArgs
            {
                DiskEncryptionKey = new Azure.SiteRecovery.Inputs.ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyArgs
                {
                    SecretUrl = "string",
                    VaultId = "string",
                },
                KeyEncryptionKey = new Azure.SiteRecovery.Inputs.ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyArgs
                {
                    KeyUrl = "string",
                    VaultId = "string",
                },
            },
            TargetDiskEncryptionSetId = "string",
        },
    },
    TargetVirtualMachineScaleSetId = "string",
    TargetVirtualMachineSize = "string",
    TargetZone = "string",
    TestNetworkId = "string",
    UnmanagedDisks = new[]
    {
        new Azure.SiteRecovery.Inputs.ReplicatedVMUnmanagedDiskArgs
        {
            DiskUri = "string",
            StagingStorageAccountId = "string",
            TargetStorageAccountId = "string",
        },
    },
});
example, err := siterecovery.NewReplicatedVM(ctx, "replicatedVMResource", &siterecovery.ReplicatedVMArgs{
	TargetResourceGroupId:                 pulumi.String("string"),
	SourceVmId:                            pulumi.String("string"),
	TargetRecoveryProtectionContainerId:   pulumi.String("string"),
	TargetRecoveryFabricId:                pulumi.String("string"),
	RecoveryReplicationPolicyId:           pulumi.String("string"),
	RecoveryVaultName:                     pulumi.String("string"),
	ResourceGroupName:                     pulumi.String("string"),
	SourceRecoveryFabricName:              pulumi.String("string"),
	SourceRecoveryProtectionContainerName: pulumi.String("string"),
	TargetBootDiagnosticStorageAccountId:  pulumi.String("string"),
	TargetCapacityReservationGroupId:      pulumi.String("string"),
	TargetAvailabilitySetId:               pulumi.String("string"),
	NetworkInterfaces: siterecovery.ReplicatedVMNetworkInterfaceArray{
		&siterecovery.ReplicatedVMNetworkInterfaceArgs{
			FailoverTestPublicIpAddressId: pulumi.String("string"),
			FailoverTestStaticIp:          pulumi.String("string"),
			FailoverTestSubnetName:        pulumi.String("string"),
			RecoveryLoadBalancerBackendAddressPoolIds: pulumi.StringArray{
				pulumi.String("string"),
			},
			RecoveryPublicIpAddressId: pulumi.String("string"),
			SourceNetworkInterfaceId:  pulumi.String("string"),
			TargetStaticIp:            pulumi.String("string"),
			TargetSubnetName:          pulumi.String("string"),
		},
	},
	TargetEdgeZone:                  pulumi.String("string"),
	TargetNetworkId:                 pulumi.String("string"),
	TargetProximityPlacementGroupId: pulumi.String("string"),
	MultiVmGroupName:                pulumi.String("string"),
	Name:                            pulumi.String("string"),
	ManagedDisks: siterecovery.ReplicatedVMManagedDiskArray{
		&siterecovery.ReplicatedVMManagedDiskArgs{
			DiskId:                  pulumi.String("string"),
			StagingStorageAccountId: pulumi.String("string"),
			TargetDiskType:          pulumi.String("string"),
			TargetReplicaDiskType:   pulumi.String("string"),
			TargetResourceGroupId:   pulumi.String("string"),
			TargetDiskEncryption: &siterecovery.ReplicatedVMManagedDiskTargetDiskEncryptionArgs{
				DiskEncryptionKey: &siterecovery.ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyArgs{
					SecretUrl: pulumi.String("string"),
					VaultId:   pulumi.String("string"),
				},
				KeyEncryptionKey: &siterecovery.ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyArgs{
					KeyUrl:  pulumi.String("string"),
					VaultId: pulumi.String("string"),
				},
			},
			TargetDiskEncryptionSetId: pulumi.String("string"),
		},
	},
	TargetVirtualMachineScaleSetId: pulumi.String("string"),
	TargetVirtualMachineSize:       pulumi.String("string"),
	TargetZone:                     pulumi.String("string"),
	TestNetworkId:                  pulumi.String("string"),
	UnmanagedDisks: siterecovery.ReplicatedVMUnmanagedDiskArray{
		&siterecovery.ReplicatedVMUnmanagedDiskArgs{
			DiskUri:                 pulumi.String("string"),
			StagingStorageAccountId: pulumi.String("string"),
			TargetStorageAccountId:  pulumi.String("string"),
		},
	},
})
var replicatedVMResource = new ReplicatedVM("replicatedVMResource", ReplicatedVMArgs.builder()
    .targetResourceGroupId("string")
    .sourceVmId("string")
    .targetRecoveryProtectionContainerId("string")
    .targetRecoveryFabricId("string")
    .recoveryReplicationPolicyId("string")
    .recoveryVaultName("string")
    .resourceGroupName("string")
    .sourceRecoveryFabricName("string")
    .sourceRecoveryProtectionContainerName("string")
    .targetBootDiagnosticStorageAccountId("string")
    .targetCapacityReservationGroupId("string")
    .targetAvailabilitySetId("string")
    .networkInterfaces(ReplicatedVMNetworkInterfaceArgs.builder()
        .failoverTestPublicIpAddressId("string")
        .failoverTestStaticIp("string")
        .failoverTestSubnetName("string")
        .recoveryLoadBalancerBackendAddressPoolIds("string")
        .recoveryPublicIpAddressId("string")
        .sourceNetworkInterfaceId("string")
        .targetStaticIp("string")
        .targetSubnetName("string")
        .build())
    .targetEdgeZone("string")
    .targetNetworkId("string")
    .targetProximityPlacementGroupId("string")
    .multiVmGroupName("string")
    .name("string")
    .managedDisks(ReplicatedVMManagedDiskArgs.builder()
        .diskId("string")
        .stagingStorageAccountId("string")
        .targetDiskType("string")
        .targetReplicaDiskType("string")
        .targetResourceGroupId("string")
        .targetDiskEncryption(ReplicatedVMManagedDiskTargetDiskEncryptionArgs.builder()
            .diskEncryptionKey(ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyArgs.builder()
                .secretUrl("string")
                .vaultId("string")
                .build())
            .keyEncryptionKey(ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyArgs.builder()
                .keyUrl("string")
                .vaultId("string")
                .build())
            .build())
        .targetDiskEncryptionSetId("string")
        .build())
    .targetVirtualMachineScaleSetId("string")
    .targetVirtualMachineSize("string")
    .targetZone("string")
    .testNetworkId("string")
    .unmanagedDisks(ReplicatedVMUnmanagedDiskArgs.builder()
        .diskUri("string")
        .stagingStorageAccountId("string")
        .targetStorageAccountId("string")
        .build())
    .build());
replicated_vm_resource = azure.siterecovery.ReplicatedVM("replicatedVMResource",
    target_resource_group_id="string",
    source_vm_id="string",
    target_recovery_protection_container_id="string",
    target_recovery_fabric_id="string",
    recovery_replication_policy_id="string",
    recovery_vault_name="string",
    resource_group_name="string",
    source_recovery_fabric_name="string",
    source_recovery_protection_container_name="string",
    target_boot_diagnostic_storage_account_id="string",
    target_capacity_reservation_group_id="string",
    target_availability_set_id="string",
    network_interfaces=[{
        "failover_test_public_ip_address_id": "string",
        "failover_test_static_ip": "string",
        "failover_test_subnet_name": "string",
        "recovery_load_balancer_backend_address_pool_ids": ["string"],
        "recovery_public_ip_address_id": "string",
        "source_network_interface_id": "string",
        "target_static_ip": "string",
        "target_subnet_name": "string",
    }],
    target_edge_zone="string",
    target_network_id="string",
    target_proximity_placement_group_id="string",
    multi_vm_group_name="string",
    name="string",
    managed_disks=[{
        "disk_id": "string",
        "staging_storage_account_id": "string",
        "target_disk_type": "string",
        "target_replica_disk_type": "string",
        "target_resource_group_id": "string",
        "target_disk_encryption": {
            "disk_encryption_key": {
                "secret_url": "string",
                "vault_id": "string",
            },
            "key_encryption_key": {
                "key_url": "string",
                "vault_id": "string",
            },
        },
        "target_disk_encryption_set_id": "string",
    }],
    target_virtual_machine_scale_set_id="string",
    target_virtual_machine_size="string",
    target_zone="string",
    test_network_id="string",
    unmanaged_disks=[{
        "disk_uri": "string",
        "staging_storage_account_id": "string",
        "target_storage_account_id": "string",
    }])
const replicatedVMResource = new azure.siterecovery.ReplicatedVM("replicatedVMResource", {
    targetResourceGroupId: "string",
    sourceVmId: "string",
    targetRecoveryProtectionContainerId: "string",
    targetRecoveryFabricId: "string",
    recoveryReplicationPolicyId: "string",
    recoveryVaultName: "string",
    resourceGroupName: "string",
    sourceRecoveryFabricName: "string",
    sourceRecoveryProtectionContainerName: "string",
    targetBootDiagnosticStorageAccountId: "string",
    targetCapacityReservationGroupId: "string",
    targetAvailabilitySetId: "string",
    networkInterfaces: [{
        failoverTestPublicIpAddressId: "string",
        failoverTestStaticIp: "string",
        failoverTestSubnetName: "string",
        recoveryLoadBalancerBackendAddressPoolIds: ["string"],
        recoveryPublicIpAddressId: "string",
        sourceNetworkInterfaceId: "string",
        targetStaticIp: "string",
        targetSubnetName: "string",
    }],
    targetEdgeZone: "string",
    targetNetworkId: "string",
    targetProximityPlacementGroupId: "string",
    multiVmGroupName: "string",
    name: "string",
    managedDisks: [{
        diskId: "string",
        stagingStorageAccountId: "string",
        targetDiskType: "string",
        targetReplicaDiskType: "string",
        targetResourceGroupId: "string",
        targetDiskEncryption: {
            diskEncryptionKey: {
                secretUrl: "string",
                vaultId: "string",
            },
            keyEncryptionKey: {
                keyUrl: "string",
                vaultId: "string",
            },
        },
        targetDiskEncryptionSetId: "string",
    }],
    targetVirtualMachineScaleSetId: "string",
    targetVirtualMachineSize: "string",
    targetZone: "string",
    testNetworkId: "string",
    unmanagedDisks: [{
        diskUri: "string",
        stagingStorageAccountId: "string",
        targetStorageAccountId: "string",
    }],
});
type: azure:siterecovery:ReplicatedVM
properties:
    managedDisks:
        - diskId: string
          stagingStorageAccountId: string
          targetDiskEncryption:
            diskEncryptionKey:
                secretUrl: string
                vaultId: string
            keyEncryptionKey:
                keyUrl: string
                vaultId: string
          targetDiskEncryptionSetId: string
          targetDiskType: string
          targetReplicaDiskType: string
          targetResourceGroupId: string
    multiVmGroupName: string
    name: string
    networkInterfaces:
        - failoverTestPublicIpAddressId: string
          failoverTestStaticIp: string
          failoverTestSubnetName: string
          recoveryLoadBalancerBackendAddressPoolIds:
            - string
          recoveryPublicIpAddressId: string
          sourceNetworkInterfaceId: string
          targetStaticIp: string
          targetSubnetName: string
    recoveryReplicationPolicyId: string
    recoveryVaultName: string
    resourceGroupName: string
    sourceRecoveryFabricName: string
    sourceRecoveryProtectionContainerName: string
    sourceVmId: string
    targetAvailabilitySetId: string
    targetBootDiagnosticStorageAccountId: string
    targetCapacityReservationGroupId: string
    targetEdgeZone: string
    targetNetworkId: string
    targetProximityPlacementGroupId: string
    targetRecoveryFabricId: string
    targetRecoveryProtectionContainerId: string
    targetResourceGroupId: string
    targetVirtualMachineScaleSetId: string
    targetVirtualMachineSize: string
    targetZone: string
    testNetworkId: string
    unmanagedDisks:
        - diskUri: string
          stagingStorageAccountId: string
          targetStorageAccountId: string
ReplicatedVM Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The ReplicatedVM resource accepts the following input properties:
- RecoveryReplication stringPolicy Id 
- Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
- RecoveryVault stringName 
- The name of the vault that should be updated. Changing this forces a new resource to be created.
- ResourceGroup stringName 
- Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
- SourceRecovery stringFabric Name 
- Name of fabric that should contain this replication. Changing this forces a new resource to be created.
- SourceRecovery stringProtection Container Name 
- Name of the protection container to use. Changing this forces a new resource to be created.
- SourceVm stringId 
- Id of the VM to replicate Changing this forces a new resource to be created.
- TargetRecovery stringFabric Id 
- Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
- TargetRecovery stringProtection Container Id 
- Id of protection container where the VM replication should be created when a failover is done. Changing this forces a new resource to be created.
- TargetResource stringGroup Id 
- Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.
- ManagedDisks List<ReplicatedVMManaged Disk> 
- One or more managed_diskblock as defined below. Changing this forces a new resource to be created.
- MultiVm stringGroup Name 
- Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
- Name string
- The name of the replication for the replicated VM. Changing this forces a new resource to be created.
- NetworkInterfaces List<ReplicatedVMNetwork Interface> 
- One or more network_interfaceblock as defined below.
- TargetAvailability stringSet Id 
- Id of availability set that the new VM should belong to when a failover is done.
- TargetBoot stringDiagnostic Storage Account Id 
- Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
- TargetCapacity stringReservation Group Id 
- Id of the Capacity reservation group where the new VM should belong to when a failover is done.
- TargetEdge stringZone 
- Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- TargetNetwork stringId 
- Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
- TargetProximity stringPlacement Group Id 
- Id of Proximity Placement Group the new VM should belong to when a failover is done.
- TargetVirtual stringMachine Scale Set Id 
- Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
- TargetVirtual stringMachine Size 
- Specifies the size the Virtual Machine should have.
- TargetZone string
- Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
- TestNetwork stringId 
- Network to use when a test failover is done.
- UnmanagedDisks List<ReplicatedVMUnmanaged Disk> 
- One or more unmanaged_diskblock as defined below. Changing this forces a new resource to be created.
- RecoveryReplication stringPolicy Id 
- Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
- RecoveryVault stringName 
- The name of the vault that should be updated. Changing this forces a new resource to be created.
- ResourceGroup stringName 
- Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
- SourceRecovery stringFabric Name 
- Name of fabric that should contain this replication. Changing this forces a new resource to be created.
- SourceRecovery stringProtection Container Name 
- Name of the protection container to use. Changing this forces a new resource to be created.
- SourceVm stringId 
- Id of the VM to replicate Changing this forces a new resource to be created.
- TargetRecovery stringFabric Id 
- Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
- TargetRecovery stringProtection Container Id 
- Id of protection container where the VM replication should be created when a failover is done. Changing this forces a new resource to be created.
- TargetResource stringGroup Id 
- Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.
- ManagedDisks []ReplicatedVMManaged Disk Args 
- One or more managed_diskblock as defined below. Changing this forces a new resource to be created.
- MultiVm stringGroup Name 
- Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
- Name string
- The name of the replication for the replicated VM. Changing this forces a new resource to be created.
- NetworkInterfaces []ReplicatedVMNetwork Interface Args 
- One or more network_interfaceblock as defined below.
- TargetAvailability stringSet Id 
- Id of availability set that the new VM should belong to when a failover is done.
- TargetBoot stringDiagnostic Storage Account Id 
- Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
- TargetCapacity stringReservation Group Id 
- Id of the Capacity reservation group where the new VM should belong to when a failover is done.
- TargetEdge stringZone 
- Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- TargetNetwork stringId 
- Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
- TargetProximity stringPlacement Group Id 
- Id of Proximity Placement Group the new VM should belong to when a failover is done.
- TargetVirtual stringMachine Scale Set Id 
- Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
- TargetVirtual stringMachine Size 
- Specifies the size the Virtual Machine should have.
- TargetZone string
- Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
- TestNetwork stringId 
- Network to use when a test failover is done.
- UnmanagedDisks []ReplicatedVMUnmanaged Disk Args 
- One or more unmanaged_diskblock as defined below. Changing this forces a new resource to be created.
- recoveryReplication StringPolicy Id 
- Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
- recoveryVault StringName 
- The name of the vault that should be updated. Changing this forces a new resource to be created.
- resourceGroup StringName 
- Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
- sourceRecovery StringFabric Name 
- Name of fabric that should contain this replication. Changing this forces a new resource to be created.
- sourceRecovery StringProtection Container Name 
- Name of the protection container to use. Changing this forces a new resource to be created.
- sourceVm StringId 
- Id of the VM to replicate Changing this forces a new resource to be created.
- targetRecovery StringFabric Id 
- Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
- targetRecovery StringProtection Container Id 
- Id of protection container where the VM replication should be created when a failover is done. Changing this forces a new resource to be created.
- targetResource StringGroup Id 
- Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.
- managedDisks List<ReplicatedVMManaged Disk> 
- One or more managed_diskblock as defined below. Changing this forces a new resource to be created.
- multiVm StringGroup Name 
- Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
- name String
- The name of the replication for the replicated VM. Changing this forces a new resource to be created.
- networkInterfaces List<ReplicatedVMNetwork Interface> 
- One or more network_interfaceblock as defined below.
- targetAvailability StringSet Id 
- Id of availability set that the new VM should belong to when a failover is done.
- targetBoot StringDiagnostic Storage Account Id 
- Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
- targetCapacity StringReservation Group Id 
- Id of the Capacity reservation group where the new VM should belong to when a failover is done.
- targetEdge StringZone 
- Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- targetNetwork StringId 
- Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
- targetProximity StringPlacement Group Id 
- Id of Proximity Placement Group the new VM should belong to when a failover is done.
- targetVirtual StringMachine Scale Set Id 
- Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
- targetVirtual StringMachine Size 
- Specifies the size the Virtual Machine should have.
- targetZone String
- Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
- testNetwork StringId 
- Network to use when a test failover is done.
- unmanagedDisks List<ReplicatedVMUnmanaged Disk> 
- One or more unmanaged_diskblock as defined below. Changing this forces a new resource to be created.
- recoveryReplication stringPolicy Id 
- Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
- recoveryVault stringName 
- The name of the vault that should be updated. Changing this forces a new resource to be created.
- resourceGroup stringName 
- Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
- sourceRecovery stringFabric Name 
- Name of fabric that should contain this replication. Changing this forces a new resource to be created.
- sourceRecovery stringProtection Container Name 
- Name of the protection container to use. Changing this forces a new resource to be created.
- sourceVm stringId 
- Id of the VM to replicate Changing this forces a new resource to be created.
- targetRecovery stringFabric Id 
- Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
- targetRecovery stringProtection Container Id 
- Id of protection container where the VM replication should be created when a failover is done. Changing this forces a new resource to be created.
- targetResource stringGroup Id 
- Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.
- managedDisks ReplicatedVMManaged Disk[] 
- One or more managed_diskblock as defined below. Changing this forces a new resource to be created.
- multiVm stringGroup Name 
- Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
- name string
- The name of the replication for the replicated VM. Changing this forces a new resource to be created.
- networkInterfaces ReplicatedVMNetwork Interface[] 
- One or more network_interfaceblock as defined below.
- targetAvailability stringSet Id 
- Id of availability set that the new VM should belong to when a failover is done.
- targetBoot stringDiagnostic Storage Account Id 
- Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
- targetCapacity stringReservation Group Id 
- Id of the Capacity reservation group where the new VM should belong to when a failover is done.
- targetEdge stringZone 
- Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- targetNetwork stringId 
- Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
- targetProximity stringPlacement Group Id 
- Id of Proximity Placement Group the new VM should belong to when a failover is done.
- targetVirtual stringMachine Scale Set Id 
- Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
- targetVirtual stringMachine Size 
- Specifies the size the Virtual Machine should have.
- targetZone string
- Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
- testNetwork stringId 
- Network to use when a test failover is done.
- unmanagedDisks ReplicatedVMUnmanaged Disk[] 
- One or more unmanaged_diskblock as defined below. Changing this forces a new resource to be created.
- recovery_replication_ strpolicy_ id 
- Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
- recovery_vault_ strname 
- The name of the vault that should be updated. Changing this forces a new resource to be created.
- resource_group_ strname 
- Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
- source_recovery_ strfabric_ name 
- Name of fabric that should contain this replication. Changing this forces a new resource to be created.
- source_recovery_ strprotection_ container_ name 
- Name of the protection container to use. Changing this forces a new resource to be created.
- source_vm_ strid 
- Id of the VM to replicate Changing this forces a new resource to be created.
- target_recovery_ strfabric_ id 
- Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
- target_recovery_ strprotection_ container_ id 
- Id of protection container where the VM replication should be created when a failover is done. Changing this forces a new resource to be created.
- target_resource_ strgroup_ id 
- Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.
- managed_disks Sequence[ReplicatedVMManaged Disk Args] 
- One or more managed_diskblock as defined below. Changing this forces a new resource to be created.
- multi_vm_ strgroup_ name 
- Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
- name str
- The name of the replication for the replicated VM. Changing this forces a new resource to be created.
- network_interfaces Sequence[ReplicatedVMNetwork Interface Args] 
- One or more network_interfaceblock as defined below.
- target_availability_ strset_ id 
- Id of availability set that the new VM should belong to when a failover is done.
- target_boot_ strdiagnostic_ storage_ account_ id 
- Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
- target_capacity_ strreservation_ group_ id 
- Id of the Capacity reservation group where the new VM should belong to when a failover is done.
- target_edge_ strzone 
- Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- target_network_ strid 
- Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
- target_proximity_ strplacement_ group_ id 
- Id of Proximity Placement Group the new VM should belong to when a failover is done.
- target_virtual_ strmachine_ scale_ set_ id 
- Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
- target_virtual_ strmachine_ size 
- Specifies the size the Virtual Machine should have.
- target_zone str
- Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
- test_network_ strid 
- Network to use when a test failover is done.
- unmanaged_disks Sequence[ReplicatedVMUnmanaged Disk Args] 
- One or more unmanaged_diskblock as defined below. Changing this forces a new resource to be created.
- recoveryReplication StringPolicy Id 
- Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
- recoveryVault StringName 
- The name of the vault that should be updated. Changing this forces a new resource to be created.
- resourceGroup StringName 
- Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
- sourceRecovery StringFabric Name 
- Name of fabric that should contain this replication. Changing this forces a new resource to be created.
- sourceRecovery StringProtection Container Name 
- Name of the protection container to use. Changing this forces a new resource to be created.
- sourceVm StringId 
- Id of the VM to replicate Changing this forces a new resource to be created.
- targetRecovery StringFabric Id 
- Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
- targetRecovery StringProtection Container Id 
- Id of protection container where the VM replication should be created when a failover is done. Changing this forces a new resource to be created.
- targetResource StringGroup Id 
- Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.
- managedDisks List<Property Map>
- One or more managed_diskblock as defined below. Changing this forces a new resource to be created.
- multiVm StringGroup Name 
- Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
- name String
- The name of the replication for the replicated VM. Changing this forces a new resource to be created.
- networkInterfaces List<Property Map>
- One or more network_interfaceblock as defined below.
- targetAvailability StringSet Id 
- Id of availability set that the new VM should belong to when a failover is done.
- targetBoot StringDiagnostic Storage Account Id 
- Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
- targetCapacity StringReservation Group Id 
- Id of the Capacity reservation group where the new VM should belong to when a failover is done.
- targetEdge StringZone 
- Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- targetNetwork StringId 
- Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
- targetProximity StringPlacement Group Id 
- Id of Proximity Placement Group the new VM should belong to when a failover is done.
- targetVirtual StringMachine Scale Set Id 
- Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
- targetVirtual StringMachine Size 
- Specifies the size the Virtual Machine should have.
- targetZone String
- Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
- testNetwork StringId 
- Network to use when a test failover is done.
- unmanagedDisks List<Property Map>
- One or more unmanaged_diskblock as defined below. Changing this forces a new resource to be created.
Outputs
All input properties are implicitly available as output properties. Additionally, the ReplicatedVM 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 ReplicatedVM Resource
Get an existing ReplicatedVM 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?: ReplicatedVMState, opts?: CustomResourceOptions): ReplicatedVM@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        managed_disks: Optional[Sequence[ReplicatedVMManagedDiskArgs]] = None,
        multi_vm_group_name: Optional[str] = None,
        name: Optional[str] = None,
        network_interfaces: Optional[Sequence[ReplicatedVMNetworkInterfaceArgs]] = None,
        recovery_replication_policy_id: Optional[str] = None,
        recovery_vault_name: Optional[str] = None,
        resource_group_name: Optional[str] = None,
        source_recovery_fabric_name: Optional[str] = None,
        source_recovery_protection_container_name: Optional[str] = None,
        source_vm_id: Optional[str] = None,
        target_availability_set_id: Optional[str] = None,
        target_boot_diagnostic_storage_account_id: Optional[str] = None,
        target_capacity_reservation_group_id: Optional[str] = None,
        target_edge_zone: Optional[str] = None,
        target_network_id: Optional[str] = None,
        target_proximity_placement_group_id: Optional[str] = None,
        target_recovery_fabric_id: Optional[str] = None,
        target_recovery_protection_container_id: Optional[str] = None,
        target_resource_group_id: Optional[str] = None,
        target_virtual_machine_scale_set_id: Optional[str] = None,
        target_virtual_machine_size: Optional[str] = None,
        target_zone: Optional[str] = None,
        test_network_id: Optional[str] = None,
        unmanaged_disks: Optional[Sequence[ReplicatedVMUnmanagedDiskArgs]] = None) -> ReplicatedVMfunc GetReplicatedVM(ctx *Context, name string, id IDInput, state *ReplicatedVMState, opts ...ResourceOption) (*ReplicatedVM, error)public static ReplicatedVM Get(string name, Input<string> id, ReplicatedVMState? state, CustomResourceOptions? opts = null)public static ReplicatedVM get(String name, Output<String> id, ReplicatedVMState state, CustomResourceOptions options)resources:  _:    type: azure:siterecovery:ReplicatedVM    get:      id: ${id}- 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.
- ManagedDisks List<ReplicatedVMManaged Disk> 
- One or more managed_diskblock as defined below. Changing this forces a new resource to be created.
- MultiVm stringGroup Name 
- Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
- Name string
- The name of the replication for the replicated VM. Changing this forces a new resource to be created.
- NetworkInterfaces List<ReplicatedVMNetwork Interface> 
- One or more network_interfaceblock as defined below.
- RecoveryReplication stringPolicy Id 
- Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
- RecoveryVault stringName 
- The name of the vault that should be updated. Changing this forces a new resource to be created.
- ResourceGroup stringName 
- Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
- SourceRecovery stringFabric Name 
- Name of fabric that should contain this replication. Changing this forces a new resource to be created.
- SourceRecovery stringProtection Container Name 
- Name of the protection container to use. Changing this forces a new resource to be created.
- SourceVm stringId 
- Id of the VM to replicate Changing this forces a new resource to be created.
- TargetAvailability stringSet Id 
- Id of availability set that the new VM should belong to when a failover is done.
- TargetBoot stringDiagnostic Storage Account Id 
- Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
- TargetCapacity stringReservation Group Id 
- Id of the Capacity reservation group where the new VM should belong to when a failover is done.
- TargetEdge stringZone 
- Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- TargetNetwork stringId 
- Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
- TargetProximity stringPlacement Group Id 
- Id of Proximity Placement Group the new VM should belong to when a failover is done.
- TargetRecovery stringFabric Id 
- Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
- TargetRecovery stringProtection Container Id 
- Id of protection container where the VM replication should be created when a failover is done. Changing this forces a new resource to be created.
- TargetResource stringGroup Id 
- Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.
- TargetVirtual stringMachine Scale Set Id 
- Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
- TargetVirtual stringMachine Size 
- Specifies the size the Virtual Machine should have.
- TargetZone string
- Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
- TestNetwork stringId 
- Network to use when a test failover is done.
- UnmanagedDisks List<ReplicatedVMUnmanaged Disk> 
- One or more unmanaged_diskblock as defined below. Changing this forces a new resource to be created.
- ManagedDisks []ReplicatedVMManaged Disk Args 
- One or more managed_diskblock as defined below. Changing this forces a new resource to be created.
- MultiVm stringGroup Name 
- Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
- Name string
- The name of the replication for the replicated VM. Changing this forces a new resource to be created.
- NetworkInterfaces []ReplicatedVMNetwork Interface Args 
- One or more network_interfaceblock as defined below.
- RecoveryReplication stringPolicy Id 
- Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
- RecoveryVault stringName 
- The name of the vault that should be updated. Changing this forces a new resource to be created.
- ResourceGroup stringName 
- Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
- SourceRecovery stringFabric Name 
- Name of fabric that should contain this replication. Changing this forces a new resource to be created.
- SourceRecovery stringProtection Container Name 
- Name of the protection container to use. Changing this forces a new resource to be created.
- SourceVm stringId 
- Id of the VM to replicate Changing this forces a new resource to be created.
- TargetAvailability stringSet Id 
- Id of availability set that the new VM should belong to when a failover is done.
- TargetBoot stringDiagnostic Storage Account Id 
- Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
- TargetCapacity stringReservation Group Id 
- Id of the Capacity reservation group where the new VM should belong to when a failover is done.
- TargetEdge stringZone 
- Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- TargetNetwork stringId 
- Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
- TargetProximity stringPlacement Group Id 
- Id of Proximity Placement Group the new VM should belong to when a failover is done.
- TargetRecovery stringFabric Id 
- Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
- TargetRecovery stringProtection Container Id 
- Id of protection container where the VM replication should be created when a failover is done. Changing this forces a new resource to be created.
- TargetResource stringGroup Id 
- Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.
- TargetVirtual stringMachine Scale Set Id 
- Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
- TargetVirtual stringMachine Size 
- Specifies the size the Virtual Machine should have.
- TargetZone string
- Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
- TestNetwork stringId 
- Network to use when a test failover is done.
- UnmanagedDisks []ReplicatedVMUnmanaged Disk Args 
- One or more unmanaged_diskblock as defined below. Changing this forces a new resource to be created.
- managedDisks List<ReplicatedVMManaged Disk> 
- One or more managed_diskblock as defined below. Changing this forces a new resource to be created.
- multiVm StringGroup Name 
- Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
- name String
- The name of the replication for the replicated VM. Changing this forces a new resource to be created.
- networkInterfaces List<ReplicatedVMNetwork Interface> 
- One or more network_interfaceblock as defined below.
- recoveryReplication StringPolicy Id 
- Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
- recoveryVault StringName 
- The name of the vault that should be updated. Changing this forces a new resource to be created.
- resourceGroup StringName 
- Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
- sourceRecovery StringFabric Name 
- Name of fabric that should contain this replication. Changing this forces a new resource to be created.
- sourceRecovery StringProtection Container Name 
- Name of the protection container to use. Changing this forces a new resource to be created.
- sourceVm StringId 
- Id of the VM to replicate Changing this forces a new resource to be created.
- targetAvailability StringSet Id 
- Id of availability set that the new VM should belong to when a failover is done.
- targetBoot StringDiagnostic Storage Account Id 
- Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
- targetCapacity StringReservation Group Id 
- Id of the Capacity reservation group where the new VM should belong to when a failover is done.
- targetEdge StringZone 
- Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- targetNetwork StringId 
- Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
- targetProximity StringPlacement Group Id 
- Id of Proximity Placement Group the new VM should belong to when a failover is done.
- targetRecovery StringFabric Id 
- Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
- targetRecovery StringProtection Container Id 
- Id of protection container where the VM replication should be created when a failover is done. Changing this forces a new resource to be created.
- targetResource StringGroup Id 
- Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.
- targetVirtual StringMachine Scale Set Id 
- Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
- targetVirtual StringMachine Size 
- Specifies the size the Virtual Machine should have.
- targetZone String
- Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
- testNetwork StringId 
- Network to use when a test failover is done.
- unmanagedDisks List<ReplicatedVMUnmanaged Disk> 
- One or more unmanaged_diskblock as defined below. Changing this forces a new resource to be created.
- managedDisks ReplicatedVMManaged Disk[] 
- One or more managed_diskblock as defined below. Changing this forces a new resource to be created.
- multiVm stringGroup Name 
- Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
- name string
- The name of the replication for the replicated VM. Changing this forces a new resource to be created.
- networkInterfaces ReplicatedVMNetwork Interface[] 
- One or more network_interfaceblock as defined below.
- recoveryReplication stringPolicy Id 
- Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
- recoveryVault stringName 
- The name of the vault that should be updated. Changing this forces a new resource to be created.
- resourceGroup stringName 
- Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
- sourceRecovery stringFabric Name 
- Name of fabric that should contain this replication. Changing this forces a new resource to be created.
- sourceRecovery stringProtection Container Name 
- Name of the protection container to use. Changing this forces a new resource to be created.
- sourceVm stringId 
- Id of the VM to replicate Changing this forces a new resource to be created.
- targetAvailability stringSet Id 
- Id of availability set that the new VM should belong to when a failover is done.
- targetBoot stringDiagnostic Storage Account Id 
- Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
- targetCapacity stringReservation Group Id 
- Id of the Capacity reservation group where the new VM should belong to when a failover is done.
- targetEdge stringZone 
- Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- targetNetwork stringId 
- Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
- targetProximity stringPlacement Group Id 
- Id of Proximity Placement Group the new VM should belong to when a failover is done.
- targetRecovery stringFabric Id 
- Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
- targetRecovery stringProtection Container Id 
- Id of protection container where the VM replication should be created when a failover is done. Changing this forces a new resource to be created.
- targetResource stringGroup Id 
- Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.
- targetVirtual stringMachine Scale Set Id 
- Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
- targetVirtual stringMachine Size 
- Specifies the size the Virtual Machine should have.
- targetZone string
- Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
- testNetwork stringId 
- Network to use when a test failover is done.
- unmanagedDisks ReplicatedVMUnmanaged Disk[] 
- One or more unmanaged_diskblock as defined below. Changing this forces a new resource to be created.
- managed_disks Sequence[ReplicatedVMManaged Disk Args] 
- One or more managed_diskblock as defined below. Changing this forces a new resource to be created.
- multi_vm_ strgroup_ name 
- Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
- name str
- The name of the replication for the replicated VM. Changing this forces a new resource to be created.
- network_interfaces Sequence[ReplicatedVMNetwork Interface Args] 
- One or more network_interfaceblock as defined below.
- recovery_replication_ strpolicy_ id 
- Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
- recovery_vault_ strname 
- The name of the vault that should be updated. Changing this forces a new resource to be created.
- resource_group_ strname 
- Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
- source_recovery_ strfabric_ name 
- Name of fabric that should contain this replication. Changing this forces a new resource to be created.
- source_recovery_ strprotection_ container_ name 
- Name of the protection container to use. Changing this forces a new resource to be created.
- source_vm_ strid 
- Id of the VM to replicate Changing this forces a new resource to be created.
- target_availability_ strset_ id 
- Id of availability set that the new VM should belong to when a failover is done.
- target_boot_ strdiagnostic_ storage_ account_ id 
- Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
- target_capacity_ strreservation_ group_ id 
- Id of the Capacity reservation group where the new VM should belong to when a failover is done.
- target_edge_ strzone 
- Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- target_network_ strid 
- Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
- target_proximity_ strplacement_ group_ id 
- Id of Proximity Placement Group the new VM should belong to when a failover is done.
- target_recovery_ strfabric_ id 
- Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
- target_recovery_ strprotection_ container_ id 
- Id of protection container where the VM replication should be created when a failover is done. Changing this forces a new resource to be created.
- target_resource_ strgroup_ id 
- Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.
- target_virtual_ strmachine_ scale_ set_ id 
- Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
- target_virtual_ strmachine_ size 
- Specifies the size the Virtual Machine should have.
- target_zone str
- Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
- test_network_ strid 
- Network to use when a test failover is done.
- unmanaged_disks Sequence[ReplicatedVMUnmanaged Disk Args] 
- One or more unmanaged_diskblock as defined below. Changing this forces a new resource to be created.
- managedDisks List<Property Map>
- One or more managed_diskblock as defined below. Changing this forces a new resource to be created.
- multiVm StringGroup Name 
- Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
- name String
- The name of the replication for the replicated VM. Changing this forces a new resource to be created.
- networkInterfaces List<Property Map>
- One or more network_interfaceblock as defined below.
- recoveryReplication StringPolicy Id 
- Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
- recoveryVault StringName 
- The name of the vault that should be updated. Changing this forces a new resource to be created.
- resourceGroup StringName 
- Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
- sourceRecovery StringFabric Name 
- Name of fabric that should contain this replication. Changing this forces a new resource to be created.
- sourceRecovery StringProtection Container Name 
- Name of the protection container to use. Changing this forces a new resource to be created.
- sourceVm StringId 
- Id of the VM to replicate Changing this forces a new resource to be created.
- targetAvailability StringSet Id 
- Id of availability set that the new VM should belong to when a failover is done.
- targetBoot StringDiagnostic Storage Account Id 
- Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
- targetCapacity StringReservation Group Id 
- Id of the Capacity reservation group where the new VM should belong to when a failover is done.
- targetEdge StringZone 
- Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- targetNetwork StringId 
- Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
- targetProximity StringPlacement Group Id 
- Id of Proximity Placement Group the new VM should belong to when a failover is done.
- targetRecovery StringFabric Id 
- Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
- targetRecovery StringProtection Container Id 
- Id of protection container where the VM replication should be created when a failover is done. Changing this forces a new resource to be created.
- targetResource StringGroup Id 
- Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.
- targetVirtual StringMachine Scale Set Id 
- Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
- targetVirtual StringMachine Size 
- Specifies the size the Virtual Machine should have.
- targetZone String
- Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
- testNetwork StringId 
- Network to use when a test failover is done.
- unmanagedDisks List<Property Map>
- One or more unmanaged_diskblock as defined below. Changing this forces a new resource to be created.
Supporting Types
ReplicatedVMManagedDisk, ReplicatedVMManagedDiskArgs      
- DiskId string
- Id of disk that should be replicated. Changing this forces a new resource to be created.
- StagingStorage stringAccount Id 
- Storage account that should be used for caching. Changing this forces a new resource to be created.
- TargetDisk stringType 
- What type should the disk be when a failover is done. Possible values are Standard_LRS,Premium_LRS,PremiumV2_LRS,StandardSSD_LRS,UltraSSD_LRS,StandardSSD_ZRSandPremium_ZRS. Changing this forces a new resource to be created.
- TargetReplica stringDisk Type 
- What type should the disk be that holds the replication data. Possible values are Standard_LRS,Premium_LRS,StandardSSD_LRS,UltraSSD_LRS,StandardSSD_ZRSandPremium_ZRS. Changing this forces a new resource to be created.
- TargetResource stringGroup Id 
- Resource group disk should belong to when a failover is done. Changing this forces a new resource to be created.
- TargetDisk ReplicatedEncryption VMManaged Disk Target Disk Encryption 
- A target_disk_encryptionblock as defined below.
- TargetDisk stringEncryption Set Id 
- The Disk Encryption Set that the Managed Disk will be associated with. Changing this forces a new resource to be created. - Note: Creating replicated vm with - target_disk_encryption_set_idwil take more time (up to 5 hours), please extend the- timeoutfor- create.
- DiskId string
- Id of disk that should be replicated. Changing this forces a new resource to be created.
- StagingStorage stringAccount Id 
- Storage account that should be used for caching. Changing this forces a new resource to be created.
- TargetDisk stringType 
- What type should the disk be when a failover is done. Possible values are Standard_LRS,Premium_LRS,PremiumV2_LRS,StandardSSD_LRS,UltraSSD_LRS,StandardSSD_ZRSandPremium_ZRS. Changing this forces a new resource to be created.
- TargetReplica stringDisk Type 
- What type should the disk be that holds the replication data. Possible values are Standard_LRS,Premium_LRS,StandardSSD_LRS,UltraSSD_LRS,StandardSSD_ZRSandPremium_ZRS. Changing this forces a new resource to be created.
- TargetResource stringGroup Id 
- Resource group disk should belong to when a failover is done. Changing this forces a new resource to be created.
- TargetDisk ReplicatedEncryption VMManaged Disk Target Disk Encryption 
- A target_disk_encryptionblock as defined below.
- TargetDisk stringEncryption Set Id 
- The Disk Encryption Set that the Managed Disk will be associated with. Changing this forces a new resource to be created. - Note: Creating replicated vm with - target_disk_encryption_set_idwil take more time (up to 5 hours), please extend the- timeoutfor- create.
- diskId String
- Id of disk that should be replicated. Changing this forces a new resource to be created.
- stagingStorage StringAccount Id 
- Storage account that should be used for caching. Changing this forces a new resource to be created.
- targetDisk StringType 
- What type should the disk be when a failover is done. Possible values are Standard_LRS,Premium_LRS,PremiumV2_LRS,StandardSSD_LRS,UltraSSD_LRS,StandardSSD_ZRSandPremium_ZRS. Changing this forces a new resource to be created.
- targetReplica StringDisk Type 
- What type should the disk be that holds the replication data. Possible values are Standard_LRS,Premium_LRS,StandardSSD_LRS,UltraSSD_LRS,StandardSSD_ZRSandPremium_ZRS. Changing this forces a new resource to be created.
- targetResource StringGroup Id 
- Resource group disk should belong to when a failover is done. Changing this forces a new resource to be created.
- targetDisk ReplicatedEncryption VMManaged Disk Target Disk Encryption 
- A target_disk_encryptionblock as defined below.
- targetDisk StringEncryption Set Id 
- The Disk Encryption Set that the Managed Disk will be associated with. Changing this forces a new resource to be created. - Note: Creating replicated vm with - target_disk_encryption_set_idwil take more time (up to 5 hours), please extend the- timeoutfor- create.
- diskId string
- Id of disk that should be replicated. Changing this forces a new resource to be created.
- stagingStorage stringAccount Id 
- Storage account that should be used for caching. Changing this forces a new resource to be created.
- targetDisk stringType 
- What type should the disk be when a failover is done. Possible values are Standard_LRS,Premium_LRS,PremiumV2_LRS,StandardSSD_LRS,UltraSSD_LRS,StandardSSD_ZRSandPremium_ZRS. Changing this forces a new resource to be created.
- targetReplica stringDisk Type 
- What type should the disk be that holds the replication data. Possible values are Standard_LRS,Premium_LRS,StandardSSD_LRS,UltraSSD_LRS,StandardSSD_ZRSandPremium_ZRS. Changing this forces a new resource to be created.
- targetResource stringGroup Id 
- Resource group disk should belong to when a failover is done. Changing this forces a new resource to be created.
- targetDisk ReplicatedEncryption VMManaged Disk Target Disk Encryption 
- A target_disk_encryptionblock as defined below.
- targetDisk stringEncryption Set Id 
- The Disk Encryption Set that the Managed Disk will be associated with. Changing this forces a new resource to be created. - Note: Creating replicated vm with - target_disk_encryption_set_idwil take more time (up to 5 hours), please extend the- timeoutfor- create.
- disk_id str
- Id of disk that should be replicated. Changing this forces a new resource to be created.
- staging_storage_ straccount_ id 
- Storage account that should be used for caching. Changing this forces a new resource to be created.
- target_disk_ strtype 
- What type should the disk be when a failover is done. Possible values are Standard_LRS,Premium_LRS,PremiumV2_LRS,StandardSSD_LRS,UltraSSD_LRS,StandardSSD_ZRSandPremium_ZRS. Changing this forces a new resource to be created.
- target_replica_ strdisk_ type 
- What type should the disk be that holds the replication data. Possible values are Standard_LRS,Premium_LRS,StandardSSD_LRS,UltraSSD_LRS,StandardSSD_ZRSandPremium_ZRS. Changing this forces a new resource to be created.
- target_resource_ strgroup_ id 
- Resource group disk should belong to when a failover is done. Changing this forces a new resource to be created.
- target_disk_ Replicatedencryption VMManaged Disk Target Disk Encryption 
- A target_disk_encryptionblock as defined below.
- target_disk_ strencryption_ set_ id 
- The Disk Encryption Set that the Managed Disk will be associated with. Changing this forces a new resource to be created. - Note: Creating replicated vm with - target_disk_encryption_set_idwil take more time (up to 5 hours), please extend the- timeoutfor- create.
- diskId String
- Id of disk that should be replicated. Changing this forces a new resource to be created.
- stagingStorage StringAccount Id 
- Storage account that should be used for caching. Changing this forces a new resource to be created.
- targetDisk StringType 
- What type should the disk be when a failover is done. Possible values are Standard_LRS,Premium_LRS,PremiumV2_LRS,StandardSSD_LRS,UltraSSD_LRS,StandardSSD_ZRSandPremium_ZRS. Changing this forces a new resource to be created.
- targetReplica StringDisk Type 
- What type should the disk be that holds the replication data. Possible values are Standard_LRS,Premium_LRS,StandardSSD_LRS,UltraSSD_LRS,StandardSSD_ZRSandPremium_ZRS. Changing this forces a new resource to be created.
- targetResource StringGroup Id 
- Resource group disk should belong to when a failover is done. Changing this forces a new resource to be created.
- targetDisk Property MapEncryption 
- A target_disk_encryptionblock as defined below.
- targetDisk StringEncryption Set Id 
- The Disk Encryption Set that the Managed Disk will be associated with. Changing this forces a new resource to be created. - Note: Creating replicated vm with - target_disk_encryption_set_idwil take more time (up to 5 hours), please extend the- timeoutfor- create.
ReplicatedVMManagedDiskTargetDiskEncryption, ReplicatedVMManagedDiskTargetDiskEncryptionArgs            
- DiskEncryption ReplicatedKey VMManaged Disk Target Disk Encryption Disk Encryption Key 
- A disk_encryption_keyblock as defined below.
- KeyEncryption ReplicatedKey VMManaged Disk Target Disk Encryption Key Encryption Key 
- A key_encryption_keyblock as defined below.
- DiskEncryption ReplicatedKey VMManaged Disk Target Disk Encryption Disk Encryption Key 
- A disk_encryption_keyblock as defined below.
- KeyEncryption ReplicatedKey VMManaged Disk Target Disk Encryption Key Encryption Key 
- A key_encryption_keyblock as defined below.
- diskEncryption ReplicatedKey VMManaged Disk Target Disk Encryption Disk Encryption Key 
- A disk_encryption_keyblock as defined below.
- keyEncryption ReplicatedKey VMManaged Disk Target Disk Encryption Key Encryption Key 
- A key_encryption_keyblock as defined below.
- diskEncryption ReplicatedKey VMManaged Disk Target Disk Encryption Disk Encryption Key 
- A disk_encryption_keyblock as defined below.
- keyEncryption ReplicatedKey VMManaged Disk Target Disk Encryption Key Encryption Key 
- A key_encryption_keyblock as defined below.
- disk_encryption_ Replicatedkey VMManaged Disk Target Disk Encryption Disk Encryption Key 
- A disk_encryption_keyblock as defined below.
- key_encryption_ Replicatedkey VMManaged Disk Target Disk Encryption Key Encryption Key 
- A key_encryption_keyblock as defined below.
- diskEncryption Property MapKey 
- A disk_encryption_keyblock as defined below.
- keyEncryption Property MapKey 
- A key_encryption_keyblock as defined below.
ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKey, ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyArgs                  
- SecretUrl string
- The URL to the Key Vault Secret used as the Disk Encryption Key that the Managed Disk will be associated with. This can be found as idon theazure.keyvault.Secretresource. Changing this forces a new resource to be created.
- VaultId string
- The ID of the Key Vault. This can be found as idon theazure.keyvault.KeyVaultresource. Changing this forces a new resource to be created.
- SecretUrl string
- The URL to the Key Vault Secret used as the Disk Encryption Key that the Managed Disk will be associated with. This can be found as idon theazure.keyvault.Secretresource. Changing this forces a new resource to be created.
- VaultId string
- The ID of the Key Vault. This can be found as idon theazure.keyvault.KeyVaultresource. Changing this forces a new resource to be created.
- secretUrl String
- The URL to the Key Vault Secret used as the Disk Encryption Key that the Managed Disk will be associated with. This can be found as idon theazure.keyvault.Secretresource. Changing this forces a new resource to be created.
- vaultId String
- The ID of the Key Vault. This can be found as idon theazure.keyvault.KeyVaultresource. Changing this forces a new resource to be created.
- secretUrl string
- The URL to the Key Vault Secret used as the Disk Encryption Key that the Managed Disk will be associated with. This can be found as idon theazure.keyvault.Secretresource. Changing this forces a new resource to be created.
- vaultId string
- The ID of the Key Vault. This can be found as idon theazure.keyvault.KeyVaultresource. Changing this forces a new resource to be created.
- secret_url str
- The URL to the Key Vault Secret used as the Disk Encryption Key that the Managed Disk will be associated with. This can be found as idon theazure.keyvault.Secretresource. Changing this forces a new resource to be created.
- vault_id str
- The ID of the Key Vault. This can be found as idon theazure.keyvault.KeyVaultresource. Changing this forces a new resource to be created.
- secretUrl String
- The URL to the Key Vault Secret used as the Disk Encryption Key that the Managed Disk will be associated with. This can be found as idon theazure.keyvault.Secretresource. Changing this forces a new resource to be created.
- vaultId String
- The ID of the Key Vault. This can be found as idon theazure.keyvault.KeyVaultresource. Changing this forces a new resource to be created.
ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKey, ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyArgs                  
- KeyUrl string
- The URL to the Key Vault Key used as the Key Encryption Key that the Managed Disk will be associated with. This can be found as idon theazure.keyvault.Keyresource. Changing this forces a new resource to be created.
- VaultId string
- The ID of the Key Vault. This can be found as idon theazure.keyvault.KeyVaultresource. Changing this forces a new resource to be created.
- KeyUrl string
- The URL to the Key Vault Key used as the Key Encryption Key that the Managed Disk will be associated with. This can be found as idon theazure.keyvault.Keyresource. Changing this forces a new resource to be created.
- VaultId string
- The ID of the Key Vault. This can be found as idon theazure.keyvault.KeyVaultresource. Changing this forces a new resource to be created.
- keyUrl String
- The URL to the Key Vault Key used as the Key Encryption Key that the Managed Disk will be associated with. This can be found as idon theazure.keyvault.Keyresource. Changing this forces a new resource to be created.
- vaultId String
- The ID of the Key Vault. This can be found as idon theazure.keyvault.KeyVaultresource. Changing this forces a new resource to be created.
- keyUrl string
- The URL to the Key Vault Key used as the Key Encryption Key that the Managed Disk will be associated with. This can be found as idon theazure.keyvault.Keyresource. Changing this forces a new resource to be created.
- vaultId string
- The ID of the Key Vault. This can be found as idon theazure.keyvault.KeyVaultresource. Changing this forces a new resource to be created.
- key_url str
- The URL to the Key Vault Key used as the Key Encryption Key that the Managed Disk will be associated with. This can be found as idon theazure.keyvault.Keyresource. Changing this forces a new resource to be created.
- vault_id str
- The ID of the Key Vault. This can be found as idon theazure.keyvault.KeyVaultresource. Changing this forces a new resource to be created.
- keyUrl String
- The URL to the Key Vault Key used as the Key Encryption Key that the Managed Disk will be associated with. This can be found as idon theazure.keyvault.Keyresource. Changing this forces a new resource to be created.
- vaultId String
- The ID of the Key Vault. This can be found as idon theazure.keyvault.KeyVaultresource. Changing this forces a new resource to be created.
ReplicatedVMNetworkInterface, ReplicatedVMNetworkInterfaceArgs      
- FailoverTest stringPublic Ip Address Id 
- Id of the public IP object to use when a test failover is done.
- FailoverTest stringStatic Ip 
- Static IP to assign when a test failover is done.
- FailoverTest stringSubnet Name 
- Name of the subnet to use when a test failover is done.
- RecoveryLoad List<string>Balancer Backend Address Pool Ids 
- A list of IDs of Load Balancer Backend Address Pools to use when a failover is done.
- RecoveryPublic stringIp Address Id 
- Id of the public IP object to use when a failover is done.
- SourceNetwork stringInterface Id 
- (Required if the network_interface block is specified) Id source network interface.
- TargetStatic stringIp 
- Static IP to assign when a failover is done.
- TargetSubnet stringName 
- Name of the subnet to use when a failover is done.
- FailoverTest stringPublic Ip Address Id 
- Id of the public IP object to use when a test failover is done.
- FailoverTest stringStatic Ip 
- Static IP to assign when a test failover is done.
- FailoverTest stringSubnet Name 
- Name of the subnet to use when a test failover is done.
- RecoveryLoad []stringBalancer Backend Address Pool Ids 
- A list of IDs of Load Balancer Backend Address Pools to use when a failover is done.
- RecoveryPublic stringIp Address Id 
- Id of the public IP object to use when a failover is done.
- SourceNetwork stringInterface Id 
- (Required if the network_interface block is specified) Id source network interface.
- TargetStatic stringIp 
- Static IP to assign when a failover is done.
- TargetSubnet stringName 
- Name of the subnet to use when a failover is done.
- failoverTest StringPublic Ip Address Id 
- Id of the public IP object to use when a test failover is done.
- failoverTest StringStatic Ip 
- Static IP to assign when a test failover is done.
- failoverTest StringSubnet Name 
- Name of the subnet to use when a test failover is done.
- recoveryLoad List<String>Balancer Backend Address Pool Ids 
- A list of IDs of Load Balancer Backend Address Pools to use when a failover is done.
- recoveryPublic StringIp Address Id 
- Id of the public IP object to use when a failover is done.
- sourceNetwork StringInterface Id 
- (Required if the network_interface block is specified) Id source network interface.
- targetStatic StringIp 
- Static IP to assign when a failover is done.
- targetSubnet StringName 
- Name of the subnet to use when a failover is done.
- failoverTest stringPublic Ip Address Id 
- Id of the public IP object to use when a test failover is done.
- failoverTest stringStatic Ip 
- Static IP to assign when a test failover is done.
- failoverTest stringSubnet Name 
- Name of the subnet to use when a test failover is done.
- recoveryLoad string[]Balancer Backend Address Pool Ids 
- A list of IDs of Load Balancer Backend Address Pools to use when a failover is done.
- recoveryPublic stringIp Address Id 
- Id of the public IP object to use when a failover is done.
- sourceNetwork stringInterface Id 
- (Required if the network_interface block is specified) Id source network interface.
- targetStatic stringIp 
- Static IP to assign when a failover is done.
- targetSubnet stringName 
- Name of the subnet to use when a failover is done.
- failover_test_ strpublic_ ip_ address_ id 
- Id of the public IP object to use when a test failover is done.
- failover_test_ strstatic_ ip 
- Static IP to assign when a test failover is done.
- failover_test_ strsubnet_ name 
- Name of the subnet to use when a test failover is done.
- recovery_load_ Sequence[str]balancer_ backend_ address_ pool_ ids 
- A list of IDs of Load Balancer Backend Address Pools to use when a failover is done.
- recovery_public_ strip_ address_ id 
- Id of the public IP object to use when a failover is done.
- source_network_ strinterface_ id 
- (Required if the network_interface block is specified) Id source network interface.
- target_static_ strip 
- Static IP to assign when a failover is done.
- target_subnet_ strname 
- Name of the subnet to use when a failover is done.
- failoverTest StringPublic Ip Address Id 
- Id of the public IP object to use when a test failover is done.
- failoverTest StringStatic Ip 
- Static IP to assign when a test failover is done.
- failoverTest StringSubnet Name 
- Name of the subnet to use when a test failover is done.
- recoveryLoad List<String>Balancer Backend Address Pool Ids 
- A list of IDs of Load Balancer Backend Address Pools to use when a failover is done.
- recoveryPublic StringIp Address Id 
- Id of the public IP object to use when a failover is done.
- sourceNetwork StringInterface Id 
- (Required if the network_interface block is specified) Id source network interface.
- targetStatic StringIp 
- Static IP to assign when a failover is done.
- targetSubnet StringName 
- Name of the subnet to use when a failover is done.
ReplicatedVMUnmanagedDisk, ReplicatedVMUnmanagedDiskArgs      
- DiskUri string
- Id of disk that should be replicated. Changing this forces a new resource to be created.
- StagingStorage stringAccount Id 
- Storage account that should be used for caching. Changing this forces a new resource to be created.
- TargetStorage stringAccount Id 
- Storage account disk should belong to when a failover is done. Changing this forces a new resource to be created.
- DiskUri string
- Id of disk that should be replicated. Changing this forces a new resource to be created.
- StagingStorage stringAccount Id 
- Storage account that should be used for caching. Changing this forces a new resource to be created.
- TargetStorage stringAccount Id 
- Storage account disk should belong to when a failover is done. Changing this forces a new resource to be created.
- diskUri String
- Id of disk that should be replicated. Changing this forces a new resource to be created.
- stagingStorage StringAccount Id 
- Storage account that should be used for caching. Changing this forces a new resource to be created.
- targetStorage StringAccount Id 
- Storage account disk should belong to when a failover is done. Changing this forces a new resource to be created.
- diskUri string
- Id of disk that should be replicated. Changing this forces a new resource to be created.
- stagingStorage stringAccount Id 
- Storage account that should be used for caching. Changing this forces a new resource to be created.
- targetStorage stringAccount Id 
- Storage account disk should belong to when a failover is done. Changing this forces a new resource to be created.
- disk_uri str
- Id of disk that should be replicated. Changing this forces a new resource to be created.
- staging_storage_ straccount_ id 
- Storage account that should be used for caching. Changing this forces a new resource to be created.
- target_storage_ straccount_ id 
- Storage account disk should belong to when a failover is done. Changing this forces a new resource to be created.
- diskUri String
- Id of disk that should be replicated. Changing this forces a new resource to be created.
- stagingStorage StringAccount Id 
- Storage account that should be used for caching. Changing this forces a new resource to be created.
- targetStorage StringAccount Id 
- Storage account disk should belong to when a failover is done. Changing this forces a new resource to be created.
Import
Site Recovery Replicated VM’s can be imported using the resource id, e.g.
$ pulumi import azure:siterecovery/replicatedVM:ReplicatedVM vmreplication /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.RecoveryServices/vaults/recovery-vault-name/replicationFabrics/fabric-name/replicationProtectionContainers/protection-container-name/replicationProtectedItems/vm-replication-name
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 azurermTerraform Provider.
