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

We recommend using Azure Native.

Azure v6.22.0 published on Tuesday, Apr 1, 2025 by Pulumi

azure.siterecovery.ReplicatedVM

Explore with Pulumi AI

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,
    ],
});
Copy
import pulumi
import pulumi_azure as azure

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

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

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := core.NewResourceGroup(ctx, "primary", &core.ResourceGroupArgs{
			Name:     pulumi.String("tfex-replicated-vm-primary"),
			Location: pulumi.String("West US"),
		})
		if err != nil {
			return err
		}
		secondary, err := core.NewResourceGroup(ctx, "secondary", &core.ResourceGroupArgs{
			Name:     pulumi.String("tfex-replicated-vm-secondary"),
			Location: pulumi.String("East US"),
		})
		if err != nil {
			return err
		}
		primaryVirtualNetwork, err := network.NewVirtualNetwork(ctx, "primary", &network.VirtualNetworkArgs{
			Name:              pulumi.String("network1"),
			ResourceGroupName: primary.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("192.168.1.0/24"),
			},
			Location: primary.Location,
		})
		if err != nil {
			return err
		}
		primarySubnet, err := network.NewSubnet(ctx, "primary", &network.SubnetArgs{
			Name:               pulumi.String("network1-subnet"),
			ResourceGroupName:  primary.Name,
			VirtualNetworkName: primaryVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("192.168.1.0/24"),
			},
		})
		if err != nil {
			return err
		}
		primaryPublicIp, err := network.NewPublicIp(ctx, "primary", &network.PublicIpArgs{
			Name:              pulumi.String("vm-public-ip-primary"),
			AllocationMethod:  pulumi.String("Static"),
			Location:          primary.Location,
			ResourceGroupName: primary.Name,
			Sku:               pulumi.String("Basic"),
		})
		if err != nil {
			return err
		}
		vmNetworkInterface, err := network.NewNetworkInterface(ctx, "vm", &network.NetworkInterfaceArgs{
			Name:              pulumi.String("vm-nic"),
			Location:          primary.Location,
			ResourceGroupName: primary.Name,
			IpConfigurations: network.NetworkInterfaceIpConfigurationArray{
				&network.NetworkInterfaceIpConfigurationArgs{
					Name:                       pulumi.String("vm"),
					SubnetId:                   primarySubnet.ID(),
					PrivateIpAddressAllocation: pulumi.String("Dynamic"),
					PublicIpAddressId:          primaryPublicIp.ID(),
				},
			},
		})
		if err != nil {
			return err
		}
		vm, err := compute.NewVirtualMachine(ctx, "vm", &compute.VirtualMachineArgs{
			Name:              pulumi.String("vm"),
			Location:          primary.Location,
			ResourceGroupName: primary.Name,
			VmSize:            pulumi.String("Standard_B1s"),
			NetworkInterfaceIds: pulumi.StringArray{
				vmNetworkInterface.ID(),
			},
			StorageImageReference: &compute.VirtualMachineStorageImageReferenceArgs{
				Publisher: pulumi.String("Canonical"),
				Offer:     pulumi.String("0001-com-ubuntu-server-jammy"),
				Sku:       pulumi.String("22_04-lts"),
				Version:   pulumi.String("latest"),
			},
			StorageOsDisk: &compute.VirtualMachineStorageOsDiskArgs{
				Name:            pulumi.String("vm-os-disk"),
				OsType:          pulumi.String("Linux"),
				Caching:         pulumi.String("ReadWrite"),
				CreateOption:    pulumi.String("FromImage"),
				ManagedDiskType: pulumi.String("Premium_LRS"),
			},
			OsProfile: &compute.VirtualMachineOsProfileArgs{
				AdminUsername: pulumi.String("test-admin-123"),
				AdminPassword: pulumi.String("test-pwd-123"),
				ComputerName:  pulumi.String("vm"),
			},
			OsProfileLinuxConfig: &compute.VirtualMachineOsProfileLinuxConfigArgs{
				DisablePasswordAuthentication: pulumi.Bool(false),
			},
		})
		if err != nil {
			return err
		}
		vault, err := recoveryservices.NewVault(ctx, "vault", &recoveryservices.VaultArgs{
			Name:              pulumi.String("example-recovery-vault"),
			Location:          secondary.Location,
			ResourceGroupName: secondary.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		primaryFabric, err := siterecovery.NewFabric(ctx, "primary", &siterecovery.FabricArgs{
			Name:              pulumi.String("primary-fabric"),
			ResourceGroupName: secondary.Name,
			RecoveryVaultName: vault.Name,
			Location:          primary.Location,
		})
		if err != nil {
			return err
		}
		secondaryFabric, err := siterecovery.NewFabric(ctx, "secondary", &siterecovery.FabricArgs{
			Name:              pulumi.String("secondary-fabric"),
			ResourceGroupName: secondary.Name,
			RecoveryVaultName: vault.Name,
			Location:          secondary.Location,
		})
		if err != nil {
			return err
		}
		primaryProtectionContainer, err := siterecovery.NewProtectionContainer(ctx, "primary", &siterecovery.ProtectionContainerArgs{
			Name:               pulumi.String("primary-protection-container"),
			ResourceGroupName:  secondary.Name,
			RecoveryVaultName:  vault.Name,
			RecoveryFabricName: primaryFabric.Name,
		})
		if err != nil {
			return err
		}
		secondaryProtectionContainer, err := siterecovery.NewProtectionContainer(ctx, "secondary", &siterecovery.ProtectionContainerArgs{
			Name:               pulumi.String("secondary-protection-container"),
			ResourceGroupName:  secondary.Name,
			RecoveryVaultName:  vault.Name,
			RecoveryFabricName: secondaryFabric.Name,
		})
		if err != nil {
			return err
		}
		policy, err := siterecovery.NewReplicationPolicy(ctx, "policy", &siterecovery.ReplicationPolicyArgs{
			Name:                            pulumi.String("policy"),
			ResourceGroupName:               secondary.Name,
			RecoveryVaultName:               vault.Name,
			RecoveryPointRetentionInMinutes: int(24 * 60),
			ApplicationConsistentSnapshotFrequencyInMinutes: int(4 * 60),
		})
		if err != nil {
			return err
		}
		container_mapping, err := siterecovery.NewProtectionContainerMapping(ctx, "container-mapping", &siterecovery.ProtectionContainerMappingArgs{
			Name:                                  pulumi.String("container-mapping"),
			ResourceGroupName:                     secondary.Name,
			RecoveryVaultName:                     vault.Name,
			RecoveryFabricName:                    primaryFabric.Name,
			RecoverySourceProtectionContainerName: primaryProtectionContainer.Name,
			RecoveryTargetProtectionContainerId:   secondaryProtectionContainer.ID(),
			RecoveryReplicationPolicyId:           policy.ID(),
		})
		if err != nil {
			return err
		}
		secondaryVirtualNetwork, err := network.NewVirtualNetwork(ctx, "secondary", &network.VirtualNetworkArgs{
			Name:              pulumi.String("network2"),
			ResourceGroupName: secondary.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("192.168.2.0/24"),
			},
			Location: secondary.Location,
		})
		if err != nil {
			return err
		}
		network_mapping, err := siterecovery.NewNetworkMapping(ctx, "network-mapping", &siterecovery.NetworkMappingArgs{
			Name:                     pulumi.String("network-mapping"),
			ResourceGroupName:        secondary.Name,
			RecoveryVaultName:        vault.Name,
			SourceRecoveryFabricName: primaryFabric.Name,
			TargetRecoveryFabricName: secondaryFabric.Name,
			SourceNetworkId:          primaryVirtualNetwork.ID(),
			TargetNetworkId:          secondaryVirtualNetwork.ID(),
		})
		if err != nil {
			return err
		}
		primaryAccount, err := storage.NewAccount(ctx, "primary", &storage.AccountArgs{
			Name:                   pulumi.String("primaryrecoverycache"),
			Location:               primary.Location,
			ResourceGroupName:      primary.Name,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("LRS"),
		})
		if err != nil {
			return err
		}
		secondarySubnet, err := network.NewSubnet(ctx, "secondary", &network.SubnetArgs{
			Name:               pulumi.String("network2-subnet"),
			ResourceGroupName:  secondary.Name,
			VirtualNetworkName: secondaryVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("192.168.2.0/24"),
			},
		})
		if err != nil {
			return err
		}
		secondaryPublicIp, err := network.NewPublicIp(ctx, "secondary", &network.PublicIpArgs{
			Name:              pulumi.String("vm-public-ip-secondary"),
			AllocationMethod:  pulumi.String("Static"),
			Location:          secondary.Location,
			ResourceGroupName: secondary.Name,
			Sku:               pulumi.String("Basic"),
		})
		if err != nil {
			return err
		}
		_, 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
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.network.VirtualNetwork;
import com.pulumi.azure.network.VirtualNetworkArgs;
import com.pulumi.azure.network.Subnet;
import com.pulumi.azure.network.SubnetArgs;
import com.pulumi.azure.network.PublicIp;
import com.pulumi.azure.network.PublicIpArgs;
import com.pulumi.azure.network.NetworkInterface;
import com.pulumi.azure.network.NetworkInterfaceArgs;
import com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;
import com.pulumi.azure.compute.VirtualMachine;
import com.pulumi.azure.compute.VirtualMachineArgs;
import com.pulumi.azure.compute.inputs.VirtualMachineStorageImageReferenceArgs;
import com.pulumi.azure.compute.inputs.VirtualMachineStorageOsDiskArgs;
import com.pulumi.azure.compute.inputs.VirtualMachineOsProfileArgs;
import com.pulumi.azure.compute.inputs.VirtualMachineOsProfileLinuxConfigArgs;
import com.pulumi.azure.recoveryservices.Vault;
import com.pulumi.azure.recoveryservices.VaultArgs;
import com.pulumi.azure.siterecovery.Fabric;
import com.pulumi.azure.siterecovery.FabricArgs;
import com.pulumi.azure.siterecovery.ProtectionContainer;
import com.pulumi.azure.siterecovery.ProtectionContainerArgs;
import com.pulumi.azure.siterecovery.ReplicationPolicy;
import com.pulumi.azure.siterecovery.ReplicationPolicyArgs;
import com.pulumi.azure.siterecovery.ProtectionContainerMapping;
import com.pulumi.azure.siterecovery.ProtectionContainerMappingArgs;
import com.pulumi.azure.siterecovery.NetworkMapping;
import com.pulumi.azure.siterecovery.NetworkMappingArgs;
import com.pulumi.azure.storage.Account;
import com.pulumi.azure.storage.AccountArgs;
import com.pulumi.azure.siterecovery.ReplicatedVM;
import com.pulumi.azure.siterecovery.ReplicatedVMArgs;
import com.pulumi.azure.siterecovery.inputs.ReplicatedVMManagedDiskArgs;
import com.pulumi.azure.siterecovery.inputs.ReplicatedVMNetworkInterfaceArgs;
import com.pulumi.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());

    }
}
Copy
Coming soon!

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,
                 target_recovery_fabric_id: Optional[str] = None,
                 target_recovery_protection_container_id: Optional[str] = None,
                 source_vm_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_capacity_reservation_group_id: Optional[str] = None,
                 name: Optional[str] = None,
                 target_zone: Optional[str] = None,
                 multi_vm_group_name: Optional[str] = None,
                 target_edge_zone: Optional[str] = None,
                 network_interfaces: Optional[Sequence[ReplicatedVMNetworkInterfaceArgs]] = None,
                 unmanaged_disks: Optional[Sequence[ReplicatedVMUnmanagedDiskArgs]] = None,
                 target_network_id: Optional[str] = None,
                 target_proximity_placement_group_id: 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_boot_diagnostic_storage_account_id: Optional[str] = None,
                 test_network_id: Optional[str] = None,
                 target_availability_set_id: Optional[str] = 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 This property is required. string
The unique name of the resource.
args This property is required. ReplicatedVMArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. 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 This property is required. string
The unique name of the resource.
args This property is required. ReplicatedVMArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. ReplicatedVMArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. 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",
    TargetRecoveryFabricId = "string",
    TargetRecoveryProtectionContainerId = "string",
    SourceVmId = "string",
    RecoveryReplicationPolicyId = "string",
    RecoveryVaultName = "string",
    ResourceGroupName = "string",
    SourceRecoveryFabricName = "string",
    SourceRecoveryProtectionContainerName = "string",
    TargetCapacityReservationGroupId = "string",
    Name = "string",
    TargetZone = "string",
    MultiVmGroupName = "string",
    TargetEdgeZone = "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",
        },
    },
    UnmanagedDisks = new[]
    {
        new Azure.SiteRecovery.Inputs.ReplicatedVMUnmanagedDiskArgs
        {
            DiskUri = "string",
            StagingStorageAccountId = "string",
            TargetStorageAccountId = "string",
        },
    },
    TargetNetworkId = "string",
    TargetProximityPlacementGroupId = "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",
    TargetBootDiagnosticStorageAccountId = "string",
    TestNetworkId = "string",
    TargetAvailabilitySetId = "string",
});
Copy
example, err := siterecovery.NewReplicatedVM(ctx, "replicatedVMResource", &siterecovery.ReplicatedVMArgs{
	TargetResourceGroupId:                 pulumi.String("string"),
	TargetRecoveryFabricId:                pulumi.String("string"),
	TargetRecoveryProtectionContainerId:   pulumi.String("string"),
	SourceVmId:                            pulumi.String("string"),
	RecoveryReplicationPolicyId:           pulumi.String("string"),
	RecoveryVaultName:                     pulumi.String("string"),
	ResourceGroupName:                     pulumi.String("string"),
	SourceRecoveryFabricName:              pulumi.String("string"),
	SourceRecoveryProtectionContainerName: pulumi.String("string"),
	TargetCapacityReservationGroupId:      pulumi.String("string"),
	Name:                                  pulumi.String("string"),
	TargetZone:                            pulumi.String("string"),
	MultiVmGroupName:                      pulumi.String("string"),
	TargetEdgeZone:                        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"),
		},
	},
	UnmanagedDisks: siterecovery.ReplicatedVMUnmanagedDiskArray{
		&siterecovery.ReplicatedVMUnmanagedDiskArgs{
			DiskUri:                 pulumi.String("string"),
			StagingStorageAccountId: pulumi.String("string"),
			TargetStorageAccountId:  pulumi.String("string"),
		},
	},
	TargetNetworkId:                 pulumi.String("string"),
	TargetProximityPlacementGroupId: 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"),
	TargetBootDiagnosticStorageAccountId: pulumi.String("string"),
	TestNetworkId:                        pulumi.String("string"),
	TargetAvailabilitySetId:              pulumi.String("string"),
})
Copy
var replicatedVMResource = new ReplicatedVM("replicatedVMResource", ReplicatedVMArgs.builder()
    .targetResourceGroupId("string")
    .targetRecoveryFabricId("string")
    .targetRecoveryProtectionContainerId("string")
    .sourceVmId("string")
    .recoveryReplicationPolicyId("string")
    .recoveryVaultName("string")
    .resourceGroupName("string")
    .sourceRecoveryFabricName("string")
    .sourceRecoveryProtectionContainerName("string")
    .targetCapacityReservationGroupId("string")
    .name("string")
    .targetZone("string")
    .multiVmGroupName("string")
    .targetEdgeZone("string")
    .networkInterfaces(ReplicatedVMNetworkInterfaceArgs.builder()
        .failoverTestPublicIpAddressId("string")
        .failoverTestStaticIp("string")
        .failoverTestSubnetName("string")
        .recoveryLoadBalancerBackendAddressPoolIds("string")
        .recoveryPublicIpAddressId("string")
        .sourceNetworkInterfaceId("string")
        .targetStaticIp("string")
        .targetSubnetName("string")
        .build())
    .unmanagedDisks(ReplicatedVMUnmanagedDiskArgs.builder()
        .diskUri("string")
        .stagingStorageAccountId("string")
        .targetStorageAccountId("string")
        .build())
    .targetNetworkId("string")
    .targetProximityPlacementGroupId("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")
    .targetBootDiagnosticStorageAccountId("string")
    .testNetworkId("string")
    .targetAvailabilitySetId("string")
    .build());
Copy
replicated_vm_resource = azure.siterecovery.ReplicatedVM("replicatedVMResource",
    target_resource_group_id="string",
    target_recovery_fabric_id="string",
    target_recovery_protection_container_id="string",
    source_vm_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_capacity_reservation_group_id="string",
    name="string",
    target_zone="string",
    multi_vm_group_name="string",
    target_edge_zone="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",
    }],
    unmanaged_disks=[{
        "disk_uri": "string",
        "staging_storage_account_id": "string",
        "target_storage_account_id": "string",
    }],
    target_network_id="string",
    target_proximity_placement_group_id="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_boot_diagnostic_storage_account_id="string",
    test_network_id="string",
    target_availability_set_id="string")
Copy
const replicatedVMResource = new azure.siterecovery.ReplicatedVM("replicatedVMResource", {
    targetResourceGroupId: "string",
    targetRecoveryFabricId: "string",
    targetRecoveryProtectionContainerId: "string",
    sourceVmId: "string",
    recoveryReplicationPolicyId: "string",
    recoveryVaultName: "string",
    resourceGroupName: "string",
    sourceRecoveryFabricName: "string",
    sourceRecoveryProtectionContainerName: "string",
    targetCapacityReservationGroupId: "string",
    name: "string",
    targetZone: "string",
    multiVmGroupName: "string",
    targetEdgeZone: "string",
    networkInterfaces: [{
        failoverTestPublicIpAddressId: "string",
        failoverTestStaticIp: "string",
        failoverTestSubnetName: "string",
        recoveryLoadBalancerBackendAddressPoolIds: ["string"],
        recoveryPublicIpAddressId: "string",
        sourceNetworkInterfaceId: "string",
        targetStaticIp: "string",
        targetSubnetName: "string",
    }],
    unmanagedDisks: [{
        diskUri: "string",
        stagingStorageAccountId: "string",
        targetStorageAccountId: "string",
    }],
    targetNetworkId: "string",
    targetProximityPlacementGroupId: "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",
    targetBootDiagnosticStorageAccountId: "string",
    testNetworkId: "string",
    targetAvailabilitySetId: "string",
});
Copy
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
Copy

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:

RecoveryReplicationPolicyId
This property is required.
Changes to this property will trigger replacement.
string
Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
RecoveryVaultName
This property is required.
Changes to this property will trigger replacement.
string
The name of the vault that should be updated. Changing this forces a new resource to be created.
ResourceGroupName
This property is required.
Changes to this property will trigger replacement.
string
Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
SourceRecoveryFabricName
This property is required.
Changes to this property will trigger replacement.
string
Name of fabric that should contain this replication. Changing this forces a new resource to be created.
SourceRecoveryProtectionContainerName
This property is required.
Changes to this property will trigger replacement.
string
Name of the protection container to use. Changing this forces a new resource to be created.
SourceVmId
This property is required.
Changes to this property will trigger replacement.
string
Id of the VM to replicate Changing this forces a new resource to be created.
TargetRecoveryFabricId
This property is required.
Changes to this property will trigger replacement.
string
Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
TargetRecoveryProtectionContainerId
This property is required.
Changes to this property will trigger replacement.
string
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.
TargetResourceGroupId
This property is required.
Changes to this property will trigger replacement.
string
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 Changes to this property will trigger replacement. List<ReplicatedVMManagedDisk>
One or more managed_disk block as defined below. Changing this forces a new resource to be created.
MultiVmGroupName string
Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
Name Changes to this property will trigger replacement. string
The name of the replication for the replicated VM. Changing this forces a new resource to be created.
NetworkInterfaces List<ReplicatedVMNetworkInterface>
One or more network_interface block as defined below.
TargetAvailabilitySetId string
Id of availability set that the new VM should belong to when a failover is done.
TargetBootDiagnosticStorageAccountId string
Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
TargetCapacityReservationGroupId string
Id of the Capacity reservation group where the new VM should belong to when a failover is done.
TargetEdgeZone Changes to this property will trigger replacement. string
Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
TargetNetworkId string
Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
TargetProximityPlacementGroupId string
Id of Proximity Placement Group the new VM should belong to when a failover is done.
TargetVirtualMachineScaleSetId string
Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
TargetVirtualMachineSize string
Specifies the size the Virtual Machine should have.
TargetZone Changes to this property will trigger replacement. string
Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
TestNetworkId string
Network to use when a test failover is done.
UnmanagedDisks Changes to this property will trigger replacement. List<ReplicatedVMUnmanagedDisk>
One or more unmanaged_disk block as defined below. Changing this forces a new resource to be created.
RecoveryReplicationPolicyId
This property is required.
Changes to this property will trigger replacement.
string
Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
RecoveryVaultName
This property is required.
Changes to this property will trigger replacement.
string
The name of the vault that should be updated. Changing this forces a new resource to be created.
ResourceGroupName
This property is required.
Changes to this property will trigger replacement.
string
Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
SourceRecoveryFabricName
This property is required.
Changes to this property will trigger replacement.
string
Name of fabric that should contain this replication. Changing this forces a new resource to be created.
SourceRecoveryProtectionContainerName
This property is required.
Changes to this property will trigger replacement.
string
Name of the protection container to use. Changing this forces a new resource to be created.
SourceVmId
This property is required.
Changes to this property will trigger replacement.
string
Id of the VM to replicate Changing this forces a new resource to be created.
TargetRecoveryFabricId
This property is required.
Changes to this property will trigger replacement.
string
Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
TargetRecoveryProtectionContainerId
This property is required.
Changes to this property will trigger replacement.
string
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.
TargetResourceGroupId
This property is required.
Changes to this property will trigger replacement.
string
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 Changes to this property will trigger replacement. []ReplicatedVMManagedDiskArgs
One or more managed_disk block as defined below. Changing this forces a new resource to be created.
MultiVmGroupName string
Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
Name Changes to this property will trigger replacement. string
The name of the replication for the replicated VM. Changing this forces a new resource to be created.
NetworkInterfaces []ReplicatedVMNetworkInterfaceArgs
One or more network_interface block as defined below.
TargetAvailabilitySetId string
Id of availability set that the new VM should belong to when a failover is done.
TargetBootDiagnosticStorageAccountId string
Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
TargetCapacityReservationGroupId string
Id of the Capacity reservation group where the new VM should belong to when a failover is done.
TargetEdgeZone Changes to this property will trigger replacement. string
Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
TargetNetworkId string
Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
TargetProximityPlacementGroupId string
Id of Proximity Placement Group the new VM should belong to when a failover is done.
TargetVirtualMachineScaleSetId string
Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
TargetVirtualMachineSize string
Specifies the size the Virtual Machine should have.
TargetZone Changes to this property will trigger replacement. string
Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
TestNetworkId string
Network to use when a test failover is done.
UnmanagedDisks Changes to this property will trigger replacement. []ReplicatedVMUnmanagedDiskArgs
One or more unmanaged_disk block as defined below. Changing this forces a new resource to be created.
recoveryReplicationPolicyId
This property is required.
Changes to this property will trigger replacement.
String
Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
recoveryVaultName
This property is required.
Changes to this property will trigger replacement.
String
The name of the vault that should be updated. Changing this forces a new resource to be created.
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
String
Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
sourceRecoveryFabricName
This property is required.
Changes to this property will trigger replacement.
String
Name of fabric that should contain this replication. Changing this forces a new resource to be created.
sourceRecoveryProtectionContainerName
This property is required.
Changes to this property will trigger replacement.
String
Name of the protection container to use. Changing this forces a new resource to be created.
sourceVmId
This property is required.
Changes to this property will trigger replacement.
String
Id of the VM to replicate Changing this forces a new resource to be created.
targetRecoveryFabricId
This property is required.
Changes to this property will trigger replacement.
String
Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
targetRecoveryProtectionContainerId
This property is required.
Changes to this property will trigger replacement.
String
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.
targetResourceGroupId
This property is required.
Changes to this property will trigger replacement.
String
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 Changes to this property will trigger replacement. List<ReplicatedVMManagedDisk>
One or more managed_disk block as defined below. Changing this forces a new resource to be created.
multiVmGroupName String
Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
name Changes to this property will trigger replacement. String
The name of the replication for the replicated VM. Changing this forces a new resource to be created.
networkInterfaces List<ReplicatedVMNetworkInterface>
One or more network_interface block as defined below.
targetAvailabilitySetId String
Id of availability set that the new VM should belong to when a failover is done.
targetBootDiagnosticStorageAccountId String
Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
targetCapacityReservationGroupId String
Id of the Capacity reservation group where the new VM should belong to when a failover is done.
targetEdgeZone Changes to this property will trigger replacement. String
Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
targetNetworkId String
Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
targetProximityPlacementGroupId String
Id of Proximity Placement Group the new VM should belong to when a failover is done.
targetVirtualMachineScaleSetId String
Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
targetVirtualMachineSize String
Specifies the size the Virtual Machine should have.
targetZone Changes to this property will trigger replacement. String
Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
testNetworkId String
Network to use when a test failover is done.
unmanagedDisks Changes to this property will trigger replacement. List<ReplicatedVMUnmanagedDisk>
One or more unmanaged_disk block as defined below. Changing this forces a new resource to be created.
recoveryReplicationPolicyId
This property is required.
Changes to this property will trigger replacement.
string
Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
recoveryVaultName
This property is required.
Changes to this property will trigger replacement.
string
The name of the vault that should be updated. Changing this forces a new resource to be created.
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
string
Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
sourceRecoveryFabricName
This property is required.
Changes to this property will trigger replacement.
string
Name of fabric that should contain this replication. Changing this forces a new resource to be created.
sourceRecoveryProtectionContainerName
This property is required.
Changes to this property will trigger replacement.
string
Name of the protection container to use. Changing this forces a new resource to be created.
sourceVmId
This property is required.
Changes to this property will trigger replacement.
string
Id of the VM to replicate Changing this forces a new resource to be created.
targetRecoveryFabricId
This property is required.
Changes to this property will trigger replacement.
string
Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
targetRecoveryProtectionContainerId
This property is required.
Changes to this property will trigger replacement.
string
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.
targetResourceGroupId
This property is required.
Changes to this property will trigger replacement.
string
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 Changes to this property will trigger replacement. ReplicatedVMManagedDisk[]
One or more managed_disk block as defined below. Changing this forces a new resource to be created.
multiVmGroupName string
Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
name Changes to this property will trigger replacement. string
The name of the replication for the replicated VM. Changing this forces a new resource to be created.
networkInterfaces ReplicatedVMNetworkInterface[]
One or more network_interface block as defined below.
targetAvailabilitySetId string
Id of availability set that the new VM should belong to when a failover is done.
targetBootDiagnosticStorageAccountId string
Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
targetCapacityReservationGroupId string
Id of the Capacity reservation group where the new VM should belong to when a failover is done.
targetEdgeZone Changes to this property will trigger replacement. string
Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
targetNetworkId string
Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
targetProximityPlacementGroupId string
Id of Proximity Placement Group the new VM should belong to when a failover is done.
targetVirtualMachineScaleSetId string
Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
targetVirtualMachineSize string
Specifies the size the Virtual Machine should have.
targetZone Changes to this property will trigger replacement. string
Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
testNetworkId string
Network to use when a test failover is done.
unmanagedDisks Changes to this property will trigger replacement. ReplicatedVMUnmanagedDisk[]
One or more unmanaged_disk block as defined below. Changing this forces a new resource to be created.
recovery_replication_policy_id
This property is required.
Changes to this property will trigger replacement.
str
Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
recovery_vault_name
This property is required.
Changes to this property will trigger replacement.
str
The name of the vault that should be updated. Changing this forces a new resource to be created.
resource_group_name
This property is required.
Changes to this property will trigger replacement.
str
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_fabric_name
This property is required.
Changes to this property will trigger replacement.
str
Name of fabric that should contain this replication. Changing this forces a new resource to be created.
source_recovery_protection_container_name
This property is required.
Changes to this property will trigger replacement.
str
Name of the protection container to use. Changing this forces a new resource to be created.
source_vm_id
This property is required.
Changes to this property will trigger replacement.
str
Id of the VM to replicate Changing this forces a new resource to be created.
target_recovery_fabric_id
This property is required.
Changes to this property will trigger replacement.
str
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_protection_container_id
This property is required.
Changes to this property will trigger replacement.
str
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_group_id
This property is required.
Changes to this property will trigger replacement.
str
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 Changes to this property will trigger replacement. Sequence[ReplicatedVMManagedDiskArgs]
One or more managed_disk block as defined below. Changing this forces a new resource to be created.
multi_vm_group_name str
Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
name Changes to this property will trigger replacement. str
The name of the replication for the replicated VM. Changing this forces a new resource to be created.
network_interfaces Sequence[ReplicatedVMNetworkInterfaceArgs]
One or more network_interface block as defined below.
target_availability_set_id str
Id of availability set that the new VM should belong to when a failover is done.
target_boot_diagnostic_storage_account_id str
Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
target_capacity_reservation_group_id str
Id of the Capacity reservation group where the new VM should belong to when a failover is done.
target_edge_zone Changes to this property will trigger replacement. str
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_id str
Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
target_proximity_placement_group_id str
Id of Proximity Placement Group the new VM should belong to when a failover is done.
target_virtual_machine_scale_set_id str
Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
target_virtual_machine_size str
Specifies the size the Virtual Machine should have.
target_zone Changes to this property will trigger replacement. str
Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
test_network_id str
Network to use when a test failover is done.
unmanaged_disks Changes to this property will trigger replacement. Sequence[ReplicatedVMUnmanagedDiskArgs]
One or more unmanaged_disk block as defined below. Changing this forces a new resource to be created.
recoveryReplicationPolicyId
This property is required.
Changes to this property will trigger replacement.
String
Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
recoveryVaultName
This property is required.
Changes to this property will trigger replacement.
String
The name of the vault that should be updated. Changing this forces a new resource to be created.
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
String
Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
sourceRecoveryFabricName
This property is required.
Changes to this property will trigger replacement.
String
Name of fabric that should contain this replication. Changing this forces a new resource to be created.
sourceRecoveryProtectionContainerName
This property is required.
Changes to this property will trigger replacement.
String
Name of the protection container to use. Changing this forces a new resource to be created.
sourceVmId
This property is required.
Changes to this property will trigger replacement.
String
Id of the VM to replicate Changing this forces a new resource to be created.
targetRecoveryFabricId
This property is required.
Changes to this property will trigger replacement.
String
Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
targetRecoveryProtectionContainerId
This property is required.
Changes to this property will trigger replacement.
String
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.
targetResourceGroupId
This property is required.
Changes to this property will trigger replacement.
String
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 Changes to this property will trigger replacement. List<Property Map>
One or more managed_disk block as defined below. Changing this forces a new resource to be created.
multiVmGroupName String
Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
name Changes to this property will trigger replacement. 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_interface block as defined below.
targetAvailabilitySetId String
Id of availability set that the new VM should belong to when a failover is done.
targetBootDiagnosticStorageAccountId String
Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
targetCapacityReservationGroupId String
Id of the Capacity reservation group where the new VM should belong to when a failover is done.
targetEdgeZone Changes to this property will trigger replacement. String
Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
targetNetworkId String
Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
targetProximityPlacementGroupId String
Id of Proximity Placement Group the new VM should belong to when a failover is done.
targetVirtualMachineScaleSetId String
Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
targetVirtualMachineSize String
Specifies the size the Virtual Machine should have.
targetZone Changes to this property will trigger replacement. String
Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
testNetworkId String
Network to use when a test failover is done.
unmanagedDisks Changes to this property will trigger replacement. List<Property Map>
One or more unmanaged_disk block 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) -> ReplicatedVM
func 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 This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
ManagedDisks Changes to this property will trigger replacement. List<ReplicatedVMManagedDisk>
One or more managed_disk block as defined below. Changing this forces a new resource to be created.
MultiVmGroupName string
Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
Name Changes to this property will trigger replacement. string
The name of the replication for the replicated VM. Changing this forces a new resource to be created.
NetworkInterfaces List<ReplicatedVMNetworkInterface>
One or more network_interface block as defined below.
RecoveryReplicationPolicyId Changes to this property will trigger replacement. string
Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
RecoveryVaultName Changes to this property will trigger replacement. string
The name of the vault that should be updated. Changing this forces a new resource to be created.
ResourceGroupName Changes to this property will trigger replacement. string
Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
SourceRecoveryFabricName Changes to this property will trigger replacement. string
Name of fabric that should contain this replication. Changing this forces a new resource to be created.
SourceRecoveryProtectionContainerName Changes to this property will trigger replacement. string
Name of the protection container to use. Changing this forces a new resource to be created.
SourceVmId Changes to this property will trigger replacement. string
Id of the VM to replicate Changing this forces a new resource to be created.
TargetAvailabilitySetId string
Id of availability set that the new VM should belong to when a failover is done.
TargetBootDiagnosticStorageAccountId string
Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
TargetCapacityReservationGroupId string
Id of the Capacity reservation group where the new VM should belong to when a failover is done.
TargetEdgeZone Changes to this property will trigger replacement. string
Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
TargetNetworkId string
Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
TargetProximityPlacementGroupId string
Id of Proximity Placement Group the new VM should belong to when a failover is done.
TargetRecoveryFabricId Changes to this property will trigger replacement. string
Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
TargetRecoveryProtectionContainerId Changes to this property will trigger replacement. string
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.
TargetResourceGroupId Changes to this property will trigger replacement. string
Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.
TargetVirtualMachineScaleSetId string
Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
TargetVirtualMachineSize string
Specifies the size the Virtual Machine should have.
TargetZone Changes to this property will trigger replacement. string
Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
TestNetworkId string
Network to use when a test failover is done.
UnmanagedDisks Changes to this property will trigger replacement. List<ReplicatedVMUnmanagedDisk>
One or more unmanaged_disk block as defined below. Changing this forces a new resource to be created.
ManagedDisks Changes to this property will trigger replacement. []ReplicatedVMManagedDiskArgs
One or more managed_disk block as defined below. Changing this forces a new resource to be created.
MultiVmGroupName string
Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
Name Changes to this property will trigger replacement. string
The name of the replication for the replicated VM. Changing this forces a new resource to be created.
NetworkInterfaces []ReplicatedVMNetworkInterfaceArgs
One or more network_interface block as defined below.
RecoveryReplicationPolicyId Changes to this property will trigger replacement. string
Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
RecoveryVaultName Changes to this property will trigger replacement. string
The name of the vault that should be updated. Changing this forces a new resource to be created.
ResourceGroupName Changes to this property will trigger replacement. string
Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
SourceRecoveryFabricName Changes to this property will trigger replacement. string
Name of fabric that should contain this replication. Changing this forces a new resource to be created.
SourceRecoveryProtectionContainerName Changes to this property will trigger replacement. string
Name of the protection container to use. Changing this forces a new resource to be created.
SourceVmId Changes to this property will trigger replacement. string
Id of the VM to replicate Changing this forces a new resource to be created.
TargetAvailabilitySetId string
Id of availability set that the new VM should belong to when a failover is done.
TargetBootDiagnosticStorageAccountId string
Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
TargetCapacityReservationGroupId string
Id of the Capacity reservation group where the new VM should belong to when a failover is done.
TargetEdgeZone Changes to this property will trigger replacement. string
Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
TargetNetworkId string
Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
TargetProximityPlacementGroupId string
Id of Proximity Placement Group the new VM should belong to when a failover is done.
TargetRecoveryFabricId Changes to this property will trigger replacement. string
Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
TargetRecoveryProtectionContainerId Changes to this property will trigger replacement. string
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.
TargetResourceGroupId Changes to this property will trigger replacement. string
Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.
TargetVirtualMachineScaleSetId string
Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
TargetVirtualMachineSize string
Specifies the size the Virtual Machine should have.
TargetZone Changes to this property will trigger replacement. string
Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
TestNetworkId string
Network to use when a test failover is done.
UnmanagedDisks Changes to this property will trigger replacement. []ReplicatedVMUnmanagedDiskArgs
One or more unmanaged_disk block as defined below. Changing this forces a new resource to be created.
managedDisks Changes to this property will trigger replacement. List<ReplicatedVMManagedDisk>
One or more managed_disk block as defined below. Changing this forces a new resource to be created.
multiVmGroupName String
Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
name Changes to this property will trigger replacement. String
The name of the replication for the replicated VM. Changing this forces a new resource to be created.
networkInterfaces List<ReplicatedVMNetworkInterface>
One or more network_interface block as defined below.
recoveryReplicationPolicyId Changes to this property will trigger replacement. String
Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
recoveryVaultName Changes to this property will trigger replacement. String
The name of the vault that should be updated. Changing this forces a new resource to be created.
resourceGroupName Changes to this property will trigger replacement. String
Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
sourceRecoveryFabricName Changes to this property will trigger replacement. String
Name of fabric that should contain this replication. Changing this forces a new resource to be created.
sourceRecoveryProtectionContainerName Changes to this property will trigger replacement. String
Name of the protection container to use. Changing this forces a new resource to be created.
sourceVmId Changes to this property will trigger replacement. String
Id of the VM to replicate Changing this forces a new resource to be created.
targetAvailabilitySetId String
Id of availability set that the new VM should belong to when a failover is done.
targetBootDiagnosticStorageAccountId String
Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
targetCapacityReservationGroupId String
Id of the Capacity reservation group where the new VM should belong to when a failover is done.
targetEdgeZone Changes to this property will trigger replacement. String
Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
targetNetworkId String
Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
targetProximityPlacementGroupId String
Id of Proximity Placement Group the new VM should belong to when a failover is done.
targetRecoveryFabricId Changes to this property will trigger replacement. String
Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
targetRecoveryProtectionContainerId Changes to this property will trigger replacement. String
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.
targetResourceGroupId Changes to this property will trigger replacement. String
Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.
targetVirtualMachineScaleSetId String
Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
targetVirtualMachineSize String
Specifies the size the Virtual Machine should have.
targetZone Changes to this property will trigger replacement. String
Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
testNetworkId String
Network to use when a test failover is done.
unmanagedDisks Changes to this property will trigger replacement. List<ReplicatedVMUnmanagedDisk>
One or more unmanaged_disk block as defined below. Changing this forces a new resource to be created.
managedDisks Changes to this property will trigger replacement. ReplicatedVMManagedDisk[]
One or more managed_disk block as defined below. Changing this forces a new resource to be created.
multiVmGroupName string
Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
name Changes to this property will trigger replacement. string
The name of the replication for the replicated VM. Changing this forces a new resource to be created.
networkInterfaces ReplicatedVMNetworkInterface[]
One or more network_interface block as defined below.
recoveryReplicationPolicyId Changes to this property will trigger replacement. string
Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
recoveryVaultName Changes to this property will trigger replacement. string
The name of the vault that should be updated. Changing this forces a new resource to be created.
resourceGroupName Changes to this property will trigger replacement. string
Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
sourceRecoveryFabricName Changes to this property will trigger replacement. string
Name of fabric that should contain this replication. Changing this forces a new resource to be created.
sourceRecoveryProtectionContainerName Changes to this property will trigger replacement. string
Name of the protection container to use. Changing this forces a new resource to be created.
sourceVmId Changes to this property will trigger replacement. string
Id of the VM to replicate Changing this forces a new resource to be created.
targetAvailabilitySetId string
Id of availability set that the new VM should belong to when a failover is done.
targetBootDiagnosticStorageAccountId string
Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
targetCapacityReservationGroupId string
Id of the Capacity reservation group where the new VM should belong to when a failover is done.
targetEdgeZone Changes to this property will trigger replacement. string
Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
targetNetworkId string
Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
targetProximityPlacementGroupId string
Id of Proximity Placement Group the new VM should belong to when a failover is done.
targetRecoveryFabricId Changes to this property will trigger replacement. string
Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
targetRecoveryProtectionContainerId Changes to this property will trigger replacement. string
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.
targetResourceGroupId Changes to this property will trigger replacement. string
Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.
targetVirtualMachineScaleSetId string
Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
targetVirtualMachineSize string
Specifies the size the Virtual Machine should have.
targetZone Changes to this property will trigger replacement. string
Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
testNetworkId string
Network to use when a test failover is done.
unmanagedDisks Changes to this property will trigger replacement. ReplicatedVMUnmanagedDisk[]
One or more unmanaged_disk block as defined below. Changing this forces a new resource to be created.
managed_disks Changes to this property will trigger replacement. Sequence[ReplicatedVMManagedDiskArgs]
One or more managed_disk block as defined below. Changing this forces a new resource to be created.
multi_vm_group_name str
Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
name Changes to this property will trigger replacement. str
The name of the replication for the replicated VM. Changing this forces a new resource to be created.
network_interfaces Sequence[ReplicatedVMNetworkInterfaceArgs]
One or more network_interface block as defined below.
recovery_replication_policy_id Changes to this property will trigger replacement. str
Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
recovery_vault_name Changes to this property will trigger replacement. str
The name of the vault that should be updated. Changing this forces a new resource to be created.
resource_group_name Changes to this property will trigger replacement. str
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_fabric_name Changes to this property will trigger replacement. str
Name of fabric that should contain this replication. Changing this forces a new resource to be created.
source_recovery_protection_container_name Changes to this property will trigger replacement. str
Name of the protection container to use. Changing this forces a new resource to be created.
source_vm_id Changes to this property will trigger replacement. str
Id of the VM to replicate Changing this forces a new resource to be created.
target_availability_set_id str
Id of availability set that the new VM should belong to when a failover is done.
target_boot_diagnostic_storage_account_id str
Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
target_capacity_reservation_group_id str
Id of the Capacity reservation group where the new VM should belong to when a failover is done.
target_edge_zone Changes to this property will trigger replacement. str
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_id str
Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
target_proximity_placement_group_id str
Id of Proximity Placement Group the new VM should belong to when a failover is done.
target_recovery_fabric_id Changes to this property will trigger replacement. str
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_protection_container_id Changes to this property will trigger replacement. str
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_group_id Changes to this property will trigger replacement. str
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_machine_scale_set_id str
Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
target_virtual_machine_size str
Specifies the size the Virtual Machine should have.
target_zone Changes to this property will trigger replacement. str
Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
test_network_id str
Network to use when a test failover is done.
unmanaged_disks Changes to this property will trigger replacement. Sequence[ReplicatedVMUnmanagedDiskArgs]
One or more unmanaged_disk block as defined below. Changing this forces a new resource to be created.
managedDisks Changes to this property will trigger replacement. List<Property Map>
One or more managed_disk block as defined below. Changing this forces a new resource to be created.
multiVmGroupName String
Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
name Changes to this property will trigger replacement. 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_interface block as defined below.
recoveryReplicationPolicyId Changes to this property will trigger replacement. String
Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
recoveryVaultName Changes to this property will trigger replacement. String
The name of the vault that should be updated. Changing this forces a new resource to be created.
resourceGroupName Changes to this property will trigger replacement. String
Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
sourceRecoveryFabricName Changes to this property will trigger replacement. String
Name of fabric that should contain this replication. Changing this forces a new resource to be created.
sourceRecoveryProtectionContainerName Changes to this property will trigger replacement. String
Name of the protection container to use. Changing this forces a new resource to be created.
sourceVmId Changes to this property will trigger replacement. String
Id of the VM to replicate Changing this forces a new resource to be created.
targetAvailabilitySetId String
Id of availability set that the new VM should belong to when a failover is done.
targetBootDiagnosticStorageAccountId String
Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
targetCapacityReservationGroupId String
Id of the Capacity reservation group where the new VM should belong to when a failover is done.
targetEdgeZone Changes to this property will trigger replacement. String
Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
targetNetworkId String
Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
targetProximityPlacementGroupId String
Id of Proximity Placement Group the new VM should belong to when a failover is done.
targetRecoveryFabricId Changes to this property will trigger replacement. String
Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
targetRecoveryProtectionContainerId Changes to this property will trigger replacement. String
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.
targetResourceGroupId Changes to this property will trigger replacement. String
Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.
targetVirtualMachineScaleSetId String
Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
targetVirtualMachineSize String
Specifies the size the Virtual Machine should have.
targetZone Changes to this property will trigger replacement. String
Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
testNetworkId String
Network to use when a test failover is done.
unmanagedDisks Changes to this property will trigger replacement. List<Property Map>
One or more unmanaged_disk block as defined below. Changing this forces a new resource to be created.

Supporting Types

ReplicatedVMManagedDisk
, ReplicatedVMManagedDiskArgs

DiskId
This property is required.
Changes to this property will trigger replacement.
string
Id of disk that should be replicated. Changing this forces a new resource to be created.
StagingStorageAccountId
This property is required.
Changes to this property will trigger replacement.
string
Storage account that should be used for caching. Changing this forces a new resource to be created.
TargetDiskType
This property is required.
Changes to this property will trigger replacement.
string
What type should the disk be when a failover is done. Possible values are Standard_LRS, Premium_LRS, StandardSSD_LRS and UltraSSD_LRS. Changing this forces a new resource to be created.
TargetReplicaDiskType
This property is required.
Changes to this property will trigger replacement.
string
What type should the disk be that holds the replication data. Possible values are Standard_LRS, Premium_LRS, StandardSSD_LRS and UltraSSD_LRS. Changing this forces a new resource to be created.
TargetResourceGroupId
This property is required.
Changes to this property will trigger replacement.
string
Resource group disk should belong to when a failover is done. Changing this forces a new resource to be created.
TargetDiskEncryption ReplicatedVMManagedDiskTargetDiskEncryption
A target_disk_encryption block as defined below.
TargetDiskEncryptionSetId Changes to this property will trigger replacement. string

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_id wil take more time (up to 5 hours), please extend the timeout for create.

DiskId
This property is required.
Changes to this property will trigger replacement.
string
Id of disk that should be replicated. Changing this forces a new resource to be created.
StagingStorageAccountId
This property is required.
Changes to this property will trigger replacement.
string
Storage account that should be used for caching. Changing this forces a new resource to be created.
TargetDiskType
This property is required.
Changes to this property will trigger replacement.
string
What type should the disk be when a failover is done. Possible values are Standard_LRS, Premium_LRS, StandardSSD_LRS and UltraSSD_LRS. Changing this forces a new resource to be created.
TargetReplicaDiskType
This property is required.
Changes to this property will trigger replacement.
string
What type should the disk be that holds the replication data. Possible values are Standard_LRS, Premium_LRS, StandardSSD_LRS and UltraSSD_LRS. Changing this forces a new resource to be created.
TargetResourceGroupId
This property is required.
Changes to this property will trigger replacement.
string
Resource group disk should belong to when a failover is done. Changing this forces a new resource to be created.
TargetDiskEncryption ReplicatedVMManagedDiskTargetDiskEncryption
A target_disk_encryption block as defined below.
TargetDiskEncryptionSetId Changes to this property will trigger replacement. string

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_id wil take more time (up to 5 hours), please extend the timeout for create.

diskId
This property is required.
Changes to this property will trigger replacement.
String
Id of disk that should be replicated. Changing this forces a new resource to be created.
stagingStorageAccountId
This property is required.
Changes to this property will trigger replacement.
String
Storage account that should be used for caching. Changing this forces a new resource to be created.
targetDiskType
This property is required.
Changes to this property will trigger replacement.
String
What type should the disk be when a failover is done. Possible values are Standard_LRS, Premium_LRS, StandardSSD_LRS and UltraSSD_LRS. Changing this forces a new resource to be created.
targetReplicaDiskType
This property is required.
Changes to this property will trigger replacement.
String
What type should the disk be that holds the replication data. Possible values are Standard_LRS, Premium_LRS, StandardSSD_LRS and UltraSSD_LRS. Changing this forces a new resource to be created.
targetResourceGroupId
This property is required.
Changes to this property will trigger replacement.
String
Resource group disk should belong to when a failover is done. Changing this forces a new resource to be created.
targetDiskEncryption ReplicatedVMManagedDiskTargetDiskEncryption
A target_disk_encryption block as defined below.
targetDiskEncryptionSetId Changes to this property will trigger replacement. String

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_id wil take more time (up to 5 hours), please extend the timeout for create.

diskId
This property is required.
Changes to this property will trigger replacement.
string
Id of disk that should be replicated. Changing this forces a new resource to be created.
stagingStorageAccountId
This property is required.
Changes to this property will trigger replacement.
string
Storage account that should be used for caching. Changing this forces a new resource to be created.
targetDiskType
This property is required.
Changes to this property will trigger replacement.
string
What type should the disk be when a failover is done. Possible values are Standard_LRS, Premium_LRS, StandardSSD_LRS and UltraSSD_LRS. Changing this forces a new resource to be created.
targetReplicaDiskType
This property is required.
Changes to this property will trigger replacement.
string
What type should the disk be that holds the replication data. Possible values are Standard_LRS, Premium_LRS, StandardSSD_LRS and UltraSSD_LRS. Changing this forces a new resource to be created.
targetResourceGroupId
This property is required.
Changes to this property will trigger replacement.
string
Resource group disk should belong to when a failover is done. Changing this forces a new resource to be created.
targetDiskEncryption ReplicatedVMManagedDiskTargetDiskEncryption
A target_disk_encryption block as defined below.
targetDiskEncryptionSetId Changes to this property will trigger replacement. string

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_id wil take more time (up to 5 hours), please extend the timeout for create.

disk_id
This property is required.
Changes to this property will trigger replacement.
str
Id of disk that should be replicated. Changing this forces a new resource to be created.
staging_storage_account_id
This property is required.
Changes to this property will trigger replacement.
str
Storage account that should be used for caching. Changing this forces a new resource to be created.
target_disk_type
This property is required.
Changes to this property will trigger replacement.
str
What type should the disk be when a failover is done. Possible values are Standard_LRS, Premium_LRS, StandardSSD_LRS and UltraSSD_LRS. Changing this forces a new resource to be created.
target_replica_disk_type
This property is required.
Changes to this property will trigger replacement.
str
What type should the disk be that holds the replication data. Possible values are Standard_LRS, Premium_LRS, StandardSSD_LRS and UltraSSD_LRS. Changing this forces a new resource to be created.
target_resource_group_id
This property is required.
Changes to this property will trigger replacement.
str
Resource group disk should belong to when a failover is done. Changing this forces a new resource to be created.
target_disk_encryption ReplicatedVMManagedDiskTargetDiskEncryption
A target_disk_encryption block as defined below.
target_disk_encryption_set_id Changes to this property will trigger replacement. str

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_id wil take more time (up to 5 hours), please extend the timeout for create.

diskId
This property is required.
Changes to this property will trigger replacement.
String
Id of disk that should be replicated. Changing this forces a new resource to be created.
stagingStorageAccountId
This property is required.
Changes to this property will trigger replacement.
String
Storage account that should be used for caching. Changing this forces a new resource to be created.
targetDiskType
This property is required.
Changes to this property will trigger replacement.
String
What type should the disk be when a failover is done. Possible values are Standard_LRS, Premium_LRS, StandardSSD_LRS and UltraSSD_LRS. Changing this forces a new resource to be created.
targetReplicaDiskType
This property is required.
Changes to this property will trigger replacement.
String
What type should the disk be that holds the replication data. Possible values are Standard_LRS, Premium_LRS, StandardSSD_LRS and UltraSSD_LRS. Changing this forces a new resource to be created.
targetResourceGroupId
This property is required.
Changes to this property will trigger replacement.
String
Resource group disk should belong to when a failover is done. Changing this forces a new resource to be created.
targetDiskEncryption Property Map
A target_disk_encryption block as defined below.
targetDiskEncryptionSetId Changes to this property will trigger replacement. String

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_id wil take more time (up to 5 hours), please extend the timeout for create.

ReplicatedVMManagedDiskTargetDiskEncryption
, ReplicatedVMManagedDiskTargetDiskEncryptionArgs

DiskEncryptionKey This property is required. ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKey
A disk_encryption_key block as defined below.
KeyEncryptionKey ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKey
A key_encryption_key block as defined below.
DiskEncryptionKey This property is required. ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKey
A disk_encryption_key block as defined below.
KeyEncryptionKey ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKey
A key_encryption_key block as defined below.
diskEncryptionKey This property is required. ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKey
A disk_encryption_key block as defined below.
keyEncryptionKey ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKey
A key_encryption_key block as defined below.
diskEncryptionKey This property is required. ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKey
A disk_encryption_key block as defined below.
keyEncryptionKey ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKey
A key_encryption_key block as defined below.
disk_encryption_key This property is required. ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKey
A disk_encryption_key block as defined below.
key_encryption_key ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKey
A key_encryption_key block as defined below.
diskEncryptionKey This property is required. Property Map
A disk_encryption_key block as defined below.
keyEncryptionKey Property Map
A key_encryption_key block as defined below.

ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKey
, ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyArgs

SecretUrl
This property is required.
Changes to this property will trigger replacement.
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 id on the azure.keyvault.Secret resource. Changing this forces a new resource to be created.
VaultId
This property is required.
Changes to this property will trigger replacement.
string
The ID of the Key Vault. This can be found as id on the azure.keyvault.KeyVault resource. Changing this forces a new resource to be created.
SecretUrl
This property is required.
Changes to this property will trigger replacement.
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 id on the azure.keyvault.Secret resource. Changing this forces a new resource to be created.
VaultId
This property is required.
Changes to this property will trigger replacement.
string
The ID of the Key Vault. This can be found as id on the azure.keyvault.KeyVault resource. Changing this forces a new resource to be created.
secretUrl
This property is required.
Changes to this property will trigger replacement.
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 id on the azure.keyvault.Secret resource. Changing this forces a new resource to be created.
vaultId
This property is required.
Changes to this property will trigger replacement.
String
The ID of the Key Vault. This can be found as id on the azure.keyvault.KeyVault resource. Changing this forces a new resource to be created.
secretUrl
This property is required.
Changes to this property will trigger replacement.
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 id on the azure.keyvault.Secret resource. Changing this forces a new resource to be created.
vaultId
This property is required.
Changes to this property will trigger replacement.
string
The ID of the Key Vault. This can be found as id on the azure.keyvault.KeyVault resource. Changing this forces a new resource to be created.
secret_url
This property is required.
Changes to this property will trigger replacement.
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 id on the azure.keyvault.Secret resource. Changing this forces a new resource to be created.
vault_id
This property is required.
Changes to this property will trigger replacement.
str
The ID of the Key Vault. This can be found as id on the azure.keyvault.KeyVault resource. Changing this forces a new resource to be created.
secretUrl
This property is required.
Changes to this property will trigger replacement.
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 id on the azure.keyvault.Secret resource. Changing this forces a new resource to be created.
vaultId
This property is required.
Changes to this property will trigger replacement.
String
The ID of the Key Vault. This can be found as id on the azure.keyvault.KeyVault resource. Changing this forces a new resource to be created.

ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKey
, ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyArgs

KeyUrl
This property is required.
Changes to this property will trigger replacement.
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 id on the azure.keyvault.Key resource. Changing this forces a new resource to be created.
VaultId
This property is required.
Changes to this property will trigger replacement.
string
The ID of the Key Vault. This can be found as id on the azure.keyvault.KeyVault resource. Changing this forces a new resource to be created.
KeyUrl
This property is required.
Changes to this property will trigger replacement.
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 id on the azure.keyvault.Key resource. Changing this forces a new resource to be created.
VaultId
This property is required.
Changes to this property will trigger replacement.
string
The ID of the Key Vault. This can be found as id on the azure.keyvault.KeyVault resource. Changing this forces a new resource to be created.
keyUrl
This property is required.
Changes to this property will trigger replacement.
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 id on the azure.keyvault.Key resource. Changing this forces a new resource to be created.
vaultId
This property is required.
Changes to this property will trigger replacement.
String
The ID of the Key Vault. This can be found as id on the azure.keyvault.KeyVault resource. Changing this forces a new resource to be created.
keyUrl
This property is required.
Changes to this property will trigger replacement.
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 id on the azure.keyvault.Key resource. Changing this forces a new resource to be created.
vaultId
This property is required.
Changes to this property will trigger replacement.
string
The ID of the Key Vault. This can be found as id on the azure.keyvault.KeyVault resource. Changing this forces a new resource to be created.
key_url
This property is required.
Changes to this property will trigger replacement.
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 id on the azure.keyvault.Key resource. Changing this forces a new resource to be created.
vault_id
This property is required.
Changes to this property will trigger replacement.
str
The ID of the Key Vault. This can be found as id on the azure.keyvault.KeyVault resource. Changing this forces a new resource to be created.
keyUrl
This property is required.
Changes to this property will trigger replacement.
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 id on the azure.keyvault.Key resource. Changing this forces a new resource to be created.
vaultId
This property is required.
Changes to this property will trigger replacement.
String
The ID of the Key Vault. This can be found as id on the azure.keyvault.KeyVault resource. Changing this forces a new resource to be created.

ReplicatedVMNetworkInterface
, ReplicatedVMNetworkInterfaceArgs

FailoverTestPublicIpAddressId string
Id of the public IP object to use when a test failover is done.
FailoverTestStaticIp string
Static IP to assign when a test failover is done.
FailoverTestSubnetName string
Name of the subnet to use when a test failover is done.
RecoveryLoadBalancerBackendAddressPoolIds List<string>
A list of IDs of Load Balancer Backend Address Pools to use when a failover is done.
RecoveryPublicIpAddressId string
Id of the public IP object to use when a failover is done.
SourceNetworkInterfaceId string
(Required if the network_interface block is specified) Id source network interface.
TargetStaticIp string
Static IP to assign when a failover is done.
TargetSubnetName string
Name of the subnet to use when a failover is done.
FailoverTestPublicIpAddressId string
Id of the public IP object to use when a test failover is done.
FailoverTestStaticIp string
Static IP to assign when a test failover is done.
FailoverTestSubnetName string
Name of the subnet to use when a test failover is done.
RecoveryLoadBalancerBackendAddressPoolIds []string
A list of IDs of Load Balancer Backend Address Pools to use when a failover is done.
RecoveryPublicIpAddressId string
Id of the public IP object to use when a failover is done.
SourceNetworkInterfaceId string
(Required if the network_interface block is specified) Id source network interface.
TargetStaticIp string
Static IP to assign when a failover is done.
TargetSubnetName string
Name of the subnet to use when a failover is done.
failoverTestPublicIpAddressId String
Id of the public IP object to use when a test failover is done.
failoverTestStaticIp String
Static IP to assign when a test failover is done.
failoverTestSubnetName String
Name of the subnet to use when a test failover is done.
recoveryLoadBalancerBackendAddressPoolIds List<String>
A list of IDs of Load Balancer Backend Address Pools to use when a failover is done.
recoveryPublicIpAddressId String
Id of the public IP object to use when a failover is done.
sourceNetworkInterfaceId String
(Required if the network_interface block is specified) Id source network interface.
targetStaticIp String
Static IP to assign when a failover is done.
targetSubnetName String
Name of the subnet to use when a failover is done.
failoverTestPublicIpAddressId string
Id of the public IP object to use when a test failover is done.
failoverTestStaticIp string
Static IP to assign when a test failover is done.
failoverTestSubnetName string
Name of the subnet to use when a test failover is done.
recoveryLoadBalancerBackendAddressPoolIds string[]
A list of IDs of Load Balancer Backend Address Pools to use when a failover is done.
recoveryPublicIpAddressId string
Id of the public IP object to use when a failover is done.
sourceNetworkInterfaceId string
(Required if the network_interface block is specified) Id source network interface.
targetStaticIp string
Static IP to assign when a failover is done.
targetSubnetName string
Name of the subnet to use when a failover is done.
failover_test_public_ip_address_id str
Id of the public IP object to use when a test failover is done.
failover_test_static_ip str
Static IP to assign when a test failover is done.
failover_test_subnet_name str
Name of the subnet to use when a test failover is done.
recovery_load_balancer_backend_address_pool_ids Sequence[str]
A list of IDs of Load Balancer Backend Address Pools to use when a failover is done.
recovery_public_ip_address_id str
Id of the public IP object to use when a failover is done.
source_network_interface_id str
(Required if the network_interface block is specified) Id source network interface.
target_static_ip str
Static IP to assign when a failover is done.
target_subnet_name str
Name of the subnet to use when a failover is done.
failoverTestPublicIpAddressId String
Id of the public IP object to use when a test failover is done.
failoverTestStaticIp String
Static IP to assign when a test failover is done.
failoverTestSubnetName String
Name of the subnet to use when a test failover is done.
recoveryLoadBalancerBackendAddressPoolIds List<String>
A list of IDs of Load Balancer Backend Address Pools to use when a failover is done.
recoveryPublicIpAddressId String
Id of the public IP object to use when a failover is done.
sourceNetworkInterfaceId String
(Required if the network_interface block is specified) Id source network interface.
targetStaticIp String
Static IP to assign when a failover is done.
targetSubnetName String
Name of the subnet to use when a failover is done.

ReplicatedVMUnmanagedDisk
, ReplicatedVMUnmanagedDiskArgs

DiskUri
This property is required.
Changes to this property will trigger replacement.
string
Id of disk that should be replicated. Changing this forces a new resource to be created.
StagingStorageAccountId
This property is required.
Changes to this property will trigger replacement.
string
Storage account that should be used for caching. Changing this forces a new resource to be created.
TargetStorageAccountId
This property is required.
Changes to this property will trigger replacement.
string
Storage account disk should belong to when a failover is done. Changing this forces a new resource to be created.
DiskUri
This property is required.
Changes to this property will trigger replacement.
string
Id of disk that should be replicated. Changing this forces a new resource to be created.
StagingStorageAccountId
This property is required.
Changes to this property will trigger replacement.
string
Storage account that should be used for caching. Changing this forces a new resource to be created.
TargetStorageAccountId
This property is required.
Changes to this property will trigger replacement.
string
Storage account disk should belong to when a failover is done. Changing this forces a new resource to be created.
diskUri
This property is required.
Changes to this property will trigger replacement.
String
Id of disk that should be replicated. Changing this forces a new resource to be created.
stagingStorageAccountId
This property is required.
Changes to this property will trigger replacement.
String
Storage account that should be used for caching. Changing this forces a new resource to be created.
targetStorageAccountId
This property is required.
Changes to this property will trigger replacement.
String
Storage account disk should belong to when a failover is done. Changing this forces a new resource to be created.
diskUri
This property is required.
Changes to this property will trigger replacement.
string
Id of disk that should be replicated. Changing this forces a new resource to be created.
stagingStorageAccountId
This property is required.
Changes to this property will trigger replacement.
string
Storage account that should be used for caching. Changing this forces a new resource to be created.
targetStorageAccountId
This property is required.
Changes to this property will trigger replacement.
string
Storage account disk should belong to when a failover is done. Changing this forces a new resource to be created.
disk_uri
This property is required.
Changes to this property will trigger replacement.
str
Id of disk that should be replicated. Changing this forces a new resource to be created.
staging_storage_account_id
This property is required.
Changes to this property will trigger replacement.
str
Storage account that should be used for caching. Changing this forces a new resource to be created.
target_storage_account_id
This property is required.
Changes to this property will trigger replacement.
str
Storage account disk should belong to when a failover is done. Changing this forces a new resource to be created.
diskUri
This property is required.
Changes to this property will trigger replacement.
String
Id of disk that should be replicated. Changing this forces a new resource to be created.
stagingStorageAccountId
This property is required.
Changes to this property will trigger replacement.
String
Storage account that should be used for caching. Changing this forces a new resource to be created.
targetStorageAccountId
This property is required.
Changes to this property will trigger replacement.
String
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
Copy

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

Package Details

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