We recommend using Azure Native.
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,
],
});
import pulumi
import pulumi_azure as azure
primary = azure.core.ResourceGroup("primary",
name="tfex-replicated-vm-primary",
location="West US")
secondary = azure.core.ResourceGroup("secondary",
name="tfex-replicated-vm-secondary",
location="East US")
primary_virtual_network = azure.network.VirtualNetwork("primary",
name="network1",
resource_group_name=primary.name,
address_spaces=["192.168.1.0/24"],
location=primary.location)
primary_subnet = azure.network.Subnet("primary",
name="network1-subnet",
resource_group_name=primary.name,
virtual_network_name=primary_virtual_network.name,
address_prefixes=["192.168.1.0/24"])
primary_public_ip = azure.network.PublicIp("primary",
name="vm-public-ip-primary",
allocation_method="Static",
location=primary.location,
resource_group_name=primary.name,
sku="Basic")
vm_network_interface = azure.network.NetworkInterface("vm",
name="vm-nic",
location=primary.location,
resource_group_name=primary.name,
ip_configurations=[{
"name": "vm",
"subnet_id": primary_subnet.id,
"private_ip_address_allocation": "Dynamic",
"public_ip_address_id": primary_public_ip.id,
}])
vm = azure.compute.VirtualMachine("vm",
name="vm",
location=primary.location,
resource_group_name=primary.name,
vm_size="Standard_B1s",
network_interface_ids=[vm_network_interface.id],
storage_image_reference={
"publisher": "Canonical",
"offer": "0001-com-ubuntu-server-jammy",
"sku": "22_04-lts",
"version": "latest",
},
storage_os_disk={
"name": "vm-os-disk",
"os_type": "Linux",
"caching": "ReadWrite",
"create_option": "FromImage",
"managed_disk_type": "Premium_LRS",
},
os_profile={
"admin_username": "test-admin-123",
"admin_password": "test-pwd-123",
"computer_name": "vm",
},
os_profile_linux_config={
"disable_password_authentication": False,
})
vault = azure.recoveryservices.Vault("vault",
name="example-recovery-vault",
location=secondary.location,
resource_group_name=secondary.name,
sku="Standard")
primary_fabric = azure.siterecovery.Fabric("primary",
name="primary-fabric",
resource_group_name=secondary.name,
recovery_vault_name=vault.name,
location=primary.location)
secondary_fabric = azure.siterecovery.Fabric("secondary",
name="secondary-fabric",
resource_group_name=secondary.name,
recovery_vault_name=vault.name,
location=secondary.location)
primary_protection_container = azure.siterecovery.ProtectionContainer("primary",
name="primary-protection-container",
resource_group_name=secondary.name,
recovery_vault_name=vault.name,
recovery_fabric_name=primary_fabric.name)
secondary_protection_container = azure.siterecovery.ProtectionContainer("secondary",
name="secondary-protection-container",
resource_group_name=secondary.name,
recovery_vault_name=vault.name,
recovery_fabric_name=secondary_fabric.name)
policy = azure.siterecovery.ReplicationPolicy("policy",
name="policy",
resource_group_name=secondary.name,
recovery_vault_name=vault.name,
recovery_point_retention_in_minutes=24 * 60,
application_consistent_snapshot_frequency_in_minutes=4 * 60)
container_mapping = azure.siterecovery.ProtectionContainerMapping("container-mapping",
name="container-mapping",
resource_group_name=secondary.name,
recovery_vault_name=vault.name,
recovery_fabric_name=primary_fabric.name,
recovery_source_protection_container_name=primary_protection_container.name,
recovery_target_protection_container_id=secondary_protection_container.id,
recovery_replication_policy_id=policy.id)
secondary_virtual_network = azure.network.VirtualNetwork("secondary",
name="network2",
resource_group_name=secondary.name,
address_spaces=["192.168.2.0/24"],
location=secondary.location)
network_mapping = azure.siterecovery.NetworkMapping("network-mapping",
name="network-mapping",
resource_group_name=secondary.name,
recovery_vault_name=vault.name,
source_recovery_fabric_name=primary_fabric.name,
target_recovery_fabric_name=secondary_fabric.name,
source_network_id=primary_virtual_network.id,
target_network_id=secondary_virtual_network.id)
primary_account = azure.storage.Account("primary",
name="primaryrecoverycache",
location=primary.location,
resource_group_name=primary.name,
account_tier="Standard",
account_replication_type="LRS")
secondary_subnet = azure.network.Subnet("secondary",
name="network2-subnet",
resource_group_name=secondary.name,
virtual_network_name=secondary_virtual_network.name,
address_prefixes=["192.168.2.0/24"])
secondary_public_ip = azure.network.PublicIp("secondary",
name="vm-public-ip-secondary",
allocation_method="Static",
location=secondary.location,
resource_group_name=secondary.name,
sku="Basic")
vm_replication = azure.siterecovery.ReplicatedVM("vm-replication",
name="vm-replication",
resource_group_name=secondary.name,
recovery_vault_name=vault.name,
source_recovery_fabric_name=primary_fabric.name,
source_vm_id=vm.id,
recovery_replication_policy_id=policy.id,
source_recovery_protection_container_name=primary_protection_container.name,
target_resource_group_id=secondary.id,
target_recovery_fabric_id=secondary_fabric.id,
target_recovery_protection_container_id=secondary_protection_container.id,
managed_disks=[{
"disk_id": vm.storage_os_disk.managed_disk_id,
"staging_storage_account_id": primary_account.id,
"target_resource_group_id": secondary.id,
"target_disk_type": "Premium_LRS",
"target_replica_disk_type": "Premium_LRS",
}],
network_interfaces=[{
"source_network_interface_id": vm_network_interface.id,
"target_subnet_name": secondary_subnet.name,
"recovery_public_ip_address_id": secondary_public_ip.id,
}],
opts = pulumi.ResourceOptions(depends_on=[
container_mapping,
network_mapping,
]))
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/recoveryservices"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/siterecovery"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
primary, err := core.NewResourceGroup(ctx, "primary", &core.ResourceGroupArgs{
Name: pulumi.String("tfex-replicated-vm-primary"),
Location: pulumi.String("West US"),
})
if err != nil {
return err
}
secondary, err := core.NewResourceGroup(ctx, "secondary", &core.ResourceGroupArgs{
Name: pulumi.String("tfex-replicated-vm-secondary"),
Location: pulumi.String("East US"),
})
if err != nil {
return err
}
primaryVirtualNetwork, err := network.NewVirtualNetwork(ctx, "primary", &network.VirtualNetworkArgs{
Name: pulumi.String("network1"),
ResourceGroupName: primary.Name,
AddressSpaces: pulumi.StringArray{
pulumi.String("192.168.1.0/24"),
},
Location: primary.Location,
})
if err != nil {
return err
}
primarySubnet, err := network.NewSubnet(ctx, "primary", &network.SubnetArgs{
Name: pulumi.String("network1-subnet"),
ResourceGroupName: primary.Name,
VirtualNetworkName: primaryVirtualNetwork.Name,
AddressPrefixes: pulumi.StringArray{
pulumi.String("192.168.1.0/24"),
},
})
if err != nil {
return err
}
primaryPublicIp, err := network.NewPublicIp(ctx, "primary", &network.PublicIpArgs{
Name: pulumi.String("vm-public-ip-primary"),
AllocationMethod: pulumi.String("Static"),
Location: primary.Location,
ResourceGroupName: primary.Name,
Sku: pulumi.String("Basic"),
})
if err != nil {
return err
}
vmNetworkInterface, err := network.NewNetworkInterface(ctx, "vm", &network.NetworkInterfaceArgs{
Name: pulumi.String("vm-nic"),
Location: primary.Location,
ResourceGroupName: primary.Name,
IpConfigurations: network.NetworkInterfaceIpConfigurationArray{
&network.NetworkInterfaceIpConfigurationArgs{
Name: pulumi.String("vm"),
SubnetId: primarySubnet.ID(),
PrivateIpAddressAllocation: pulumi.String("Dynamic"),
PublicIpAddressId: primaryPublicIp.ID(),
},
},
})
if err != nil {
return err
}
vm, err := compute.NewVirtualMachine(ctx, "vm", &compute.VirtualMachineArgs{
Name: pulumi.String("vm"),
Location: primary.Location,
ResourceGroupName: primary.Name,
VmSize: pulumi.String("Standard_B1s"),
NetworkInterfaceIds: pulumi.StringArray{
vmNetworkInterface.ID(),
},
StorageImageReference: &compute.VirtualMachineStorageImageReferenceArgs{
Publisher: pulumi.String("Canonical"),
Offer: pulumi.String("0001-com-ubuntu-server-jammy"),
Sku: pulumi.String("22_04-lts"),
Version: pulumi.String("latest"),
},
StorageOsDisk: &compute.VirtualMachineStorageOsDiskArgs{
Name: pulumi.String("vm-os-disk"),
OsType: pulumi.String("Linux"),
Caching: pulumi.String("ReadWrite"),
CreateOption: pulumi.String("FromImage"),
ManagedDiskType: pulumi.String("Premium_LRS"),
},
OsProfile: &compute.VirtualMachineOsProfileArgs{
AdminUsername: pulumi.String("test-admin-123"),
AdminPassword: pulumi.String("test-pwd-123"),
ComputerName: pulumi.String("vm"),
},
OsProfileLinuxConfig: &compute.VirtualMachineOsProfileLinuxConfigArgs{
DisablePasswordAuthentication: pulumi.Bool(false),
},
})
if err != nil {
return err
}
vault, err := recoveryservices.NewVault(ctx, "vault", &recoveryservices.VaultArgs{
Name: pulumi.String("example-recovery-vault"),
Location: secondary.Location,
ResourceGroupName: secondary.Name,
Sku: pulumi.String("Standard"),
})
if err != nil {
return err
}
primaryFabric, err := siterecovery.NewFabric(ctx, "primary", &siterecovery.FabricArgs{
Name: pulumi.String("primary-fabric"),
ResourceGroupName: secondary.Name,
RecoveryVaultName: vault.Name,
Location: primary.Location,
})
if err != nil {
return err
}
secondaryFabric, err := siterecovery.NewFabric(ctx, "secondary", &siterecovery.FabricArgs{
Name: pulumi.String("secondary-fabric"),
ResourceGroupName: secondary.Name,
RecoveryVaultName: vault.Name,
Location: secondary.Location,
})
if err != nil {
return err
}
primaryProtectionContainer, err := siterecovery.NewProtectionContainer(ctx, "primary", &siterecovery.ProtectionContainerArgs{
Name: pulumi.String("primary-protection-container"),
ResourceGroupName: secondary.Name,
RecoveryVaultName: vault.Name,
RecoveryFabricName: primaryFabric.Name,
})
if err != nil {
return err
}
secondaryProtectionContainer, err := siterecovery.NewProtectionContainer(ctx, "secondary", &siterecovery.ProtectionContainerArgs{
Name: pulumi.String("secondary-protection-container"),
ResourceGroupName: secondary.Name,
RecoveryVaultName: vault.Name,
RecoveryFabricName: secondaryFabric.Name,
})
if err != nil {
return err
}
policy, err := siterecovery.NewReplicationPolicy(ctx, "policy", &siterecovery.ReplicationPolicyArgs{
Name: pulumi.String("policy"),
ResourceGroupName: secondary.Name,
RecoveryVaultName: vault.Name,
RecoveryPointRetentionInMinutes: int(24 * 60),
ApplicationConsistentSnapshotFrequencyInMinutes: int(4 * 60),
})
if err != nil {
return err
}
container_mapping, err := siterecovery.NewProtectionContainerMapping(ctx, "container-mapping", &siterecovery.ProtectionContainerMappingArgs{
Name: pulumi.String("container-mapping"),
ResourceGroupName: secondary.Name,
RecoveryVaultName: vault.Name,
RecoveryFabricName: primaryFabric.Name,
RecoverySourceProtectionContainerName: primaryProtectionContainer.Name,
RecoveryTargetProtectionContainerId: secondaryProtectionContainer.ID(),
RecoveryReplicationPolicyId: policy.ID(),
})
if err != nil {
return err
}
secondaryVirtualNetwork, err := network.NewVirtualNetwork(ctx, "secondary", &network.VirtualNetworkArgs{
Name: pulumi.String("network2"),
ResourceGroupName: secondary.Name,
AddressSpaces: pulumi.StringArray{
pulumi.String("192.168.2.0/24"),
},
Location: secondary.Location,
})
if err != nil {
return err
}
network_mapping, err := siterecovery.NewNetworkMapping(ctx, "network-mapping", &siterecovery.NetworkMappingArgs{
Name: pulumi.String("network-mapping"),
ResourceGroupName: secondary.Name,
RecoveryVaultName: vault.Name,
SourceRecoveryFabricName: primaryFabric.Name,
TargetRecoveryFabricName: secondaryFabric.Name,
SourceNetworkId: primaryVirtualNetwork.ID(),
TargetNetworkId: secondaryVirtualNetwork.ID(),
})
if err != nil {
return err
}
primaryAccount, err := storage.NewAccount(ctx, "primary", &storage.AccountArgs{
Name: pulumi.String("primaryrecoverycache"),
Location: primary.Location,
ResourceGroupName: primary.Name,
AccountTier: pulumi.String("Standard"),
AccountReplicationType: pulumi.String("LRS"),
})
if err != nil {
return err
}
secondarySubnet, err := network.NewSubnet(ctx, "secondary", &network.SubnetArgs{
Name: pulumi.String("network2-subnet"),
ResourceGroupName: secondary.Name,
VirtualNetworkName: secondaryVirtualNetwork.Name,
AddressPrefixes: pulumi.StringArray{
pulumi.String("192.168.2.0/24"),
},
})
if err != nil {
return err
}
secondaryPublicIp, err := network.NewPublicIp(ctx, "secondary", &network.PublicIpArgs{
Name: pulumi.String("vm-public-ip-secondary"),
AllocationMethod: pulumi.String("Static"),
Location: secondary.Location,
ResourceGroupName: secondary.Name,
Sku: pulumi.String("Basic"),
})
if err != nil {
return err
}
_, err = siterecovery.NewReplicatedVM(ctx, "vm-replication", &siterecovery.ReplicatedVMArgs{
Name: pulumi.String("vm-replication"),
ResourceGroupName: secondary.Name,
RecoveryVaultName: vault.Name,
SourceRecoveryFabricName: primaryFabric.Name,
SourceVmId: vm.ID(),
RecoveryReplicationPolicyId: policy.ID(),
SourceRecoveryProtectionContainerName: primaryProtectionContainer.Name,
TargetResourceGroupId: secondary.ID(),
TargetRecoveryFabricId: secondaryFabric.ID(),
TargetRecoveryProtectionContainerId: secondaryProtectionContainer.ID(),
ManagedDisks: siterecovery.ReplicatedVMManagedDiskArray{
&siterecovery.ReplicatedVMManagedDiskArgs{
DiskId: vm.StorageOsDisk.ApplyT(func(storageOsDisk compute.VirtualMachineStorageOsDisk) (*string, error) {
return &storageOsDisk.ManagedDiskId, nil
}).(pulumi.StringPtrOutput),
StagingStorageAccountId: primaryAccount.ID(),
TargetResourceGroupId: secondary.ID(),
TargetDiskType: pulumi.String("Premium_LRS"),
TargetReplicaDiskType: pulumi.String("Premium_LRS"),
},
},
NetworkInterfaces: siterecovery.ReplicatedVMNetworkInterfaceArray{
&siterecovery.ReplicatedVMNetworkInterfaceArgs{
SourceNetworkInterfaceId: vmNetworkInterface.ID(),
TargetSubnetName: secondarySubnet.Name,
RecoveryPublicIpAddressId: secondaryPublicIp.ID(),
},
},
}, pulumi.DependsOn([]pulumi.Resource{
container_mapping,
network_mapping,
}))
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var primary = new Azure.Core.ResourceGroup("primary", new()
{
Name = "tfex-replicated-vm-primary",
Location = "West US",
});
var secondary = new Azure.Core.ResourceGroup("secondary", new()
{
Name = "tfex-replicated-vm-secondary",
Location = "East US",
});
var primaryVirtualNetwork = new Azure.Network.VirtualNetwork("primary", new()
{
Name = "network1",
ResourceGroupName = primary.Name,
AddressSpaces = new[]
{
"192.168.1.0/24",
},
Location = primary.Location,
});
var primarySubnet = new Azure.Network.Subnet("primary", new()
{
Name = "network1-subnet",
ResourceGroupName = primary.Name,
VirtualNetworkName = primaryVirtualNetwork.Name,
AddressPrefixes = new[]
{
"192.168.1.0/24",
},
});
var primaryPublicIp = new Azure.Network.PublicIp("primary", new()
{
Name = "vm-public-ip-primary",
AllocationMethod = "Static",
Location = primary.Location,
ResourceGroupName = primary.Name,
Sku = "Basic",
});
var vmNetworkInterface = new Azure.Network.NetworkInterface("vm", new()
{
Name = "vm-nic",
Location = primary.Location,
ResourceGroupName = primary.Name,
IpConfigurations = new[]
{
new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs
{
Name = "vm",
SubnetId = primarySubnet.Id,
PrivateIpAddressAllocation = "Dynamic",
PublicIpAddressId = primaryPublicIp.Id,
},
},
});
var vm = new Azure.Compute.VirtualMachine("vm", new()
{
Name = "vm",
Location = primary.Location,
ResourceGroupName = primary.Name,
VmSize = "Standard_B1s",
NetworkInterfaceIds = new[]
{
vmNetworkInterface.Id,
},
StorageImageReference = new Azure.Compute.Inputs.VirtualMachineStorageImageReferenceArgs
{
Publisher = "Canonical",
Offer = "0001-com-ubuntu-server-jammy",
Sku = "22_04-lts",
Version = "latest",
},
StorageOsDisk = new Azure.Compute.Inputs.VirtualMachineStorageOsDiskArgs
{
Name = "vm-os-disk",
OsType = "Linux",
Caching = "ReadWrite",
CreateOption = "FromImage",
ManagedDiskType = "Premium_LRS",
},
OsProfile = new Azure.Compute.Inputs.VirtualMachineOsProfileArgs
{
AdminUsername = "test-admin-123",
AdminPassword = "test-pwd-123",
ComputerName = "vm",
},
OsProfileLinuxConfig = new Azure.Compute.Inputs.VirtualMachineOsProfileLinuxConfigArgs
{
DisablePasswordAuthentication = false,
},
});
var vault = new Azure.RecoveryServices.Vault("vault", new()
{
Name = "example-recovery-vault",
Location = secondary.Location,
ResourceGroupName = secondary.Name,
Sku = "Standard",
});
var primaryFabric = new Azure.SiteRecovery.Fabric("primary", new()
{
Name = "primary-fabric",
ResourceGroupName = secondary.Name,
RecoveryVaultName = vault.Name,
Location = primary.Location,
});
var secondaryFabric = new Azure.SiteRecovery.Fabric("secondary", new()
{
Name = "secondary-fabric",
ResourceGroupName = secondary.Name,
RecoveryVaultName = vault.Name,
Location = secondary.Location,
});
var primaryProtectionContainer = new Azure.SiteRecovery.ProtectionContainer("primary", new()
{
Name = "primary-protection-container",
ResourceGroupName = secondary.Name,
RecoveryVaultName = vault.Name,
RecoveryFabricName = primaryFabric.Name,
});
var secondaryProtectionContainer = new Azure.SiteRecovery.ProtectionContainer("secondary", new()
{
Name = "secondary-protection-container",
ResourceGroupName = secondary.Name,
RecoveryVaultName = vault.Name,
RecoveryFabricName = secondaryFabric.Name,
});
var policy = new Azure.SiteRecovery.ReplicationPolicy("policy", new()
{
Name = "policy",
ResourceGroupName = secondary.Name,
RecoveryVaultName = vault.Name,
RecoveryPointRetentionInMinutes = 24 * 60,
ApplicationConsistentSnapshotFrequencyInMinutes = 4 * 60,
});
var container_mapping = new Azure.SiteRecovery.ProtectionContainerMapping("container-mapping", new()
{
Name = "container-mapping",
ResourceGroupName = secondary.Name,
RecoveryVaultName = vault.Name,
RecoveryFabricName = primaryFabric.Name,
RecoverySourceProtectionContainerName = primaryProtectionContainer.Name,
RecoveryTargetProtectionContainerId = secondaryProtectionContainer.Id,
RecoveryReplicationPolicyId = policy.Id,
});
var secondaryVirtualNetwork = new Azure.Network.VirtualNetwork("secondary", new()
{
Name = "network2",
ResourceGroupName = secondary.Name,
AddressSpaces = new[]
{
"192.168.2.0/24",
},
Location = secondary.Location,
});
var network_mapping = new Azure.SiteRecovery.NetworkMapping("network-mapping", new()
{
Name = "network-mapping",
ResourceGroupName = secondary.Name,
RecoveryVaultName = vault.Name,
SourceRecoveryFabricName = primaryFabric.Name,
TargetRecoveryFabricName = secondaryFabric.Name,
SourceNetworkId = primaryVirtualNetwork.Id,
TargetNetworkId = secondaryVirtualNetwork.Id,
});
var primaryAccount = new Azure.Storage.Account("primary", new()
{
Name = "primaryrecoverycache",
Location = primary.Location,
ResourceGroupName = primary.Name,
AccountTier = "Standard",
AccountReplicationType = "LRS",
});
var secondarySubnet = new Azure.Network.Subnet("secondary", new()
{
Name = "network2-subnet",
ResourceGroupName = secondary.Name,
VirtualNetworkName = secondaryVirtualNetwork.Name,
AddressPrefixes = new[]
{
"192.168.2.0/24",
},
});
var secondaryPublicIp = new Azure.Network.PublicIp("secondary", new()
{
Name = "vm-public-ip-secondary",
AllocationMethod = "Static",
Location = secondary.Location,
ResourceGroupName = secondary.Name,
Sku = "Basic",
});
var vm_replication = new Azure.SiteRecovery.ReplicatedVM("vm-replication", new()
{
Name = "vm-replication",
ResourceGroupName = secondary.Name,
RecoveryVaultName = vault.Name,
SourceRecoveryFabricName = primaryFabric.Name,
SourceVmId = vm.Id,
RecoveryReplicationPolicyId = policy.Id,
SourceRecoveryProtectionContainerName = primaryProtectionContainer.Name,
TargetResourceGroupId = secondary.Id,
TargetRecoveryFabricId = secondaryFabric.Id,
TargetRecoveryProtectionContainerId = secondaryProtectionContainer.Id,
ManagedDisks = new[]
{
new Azure.SiteRecovery.Inputs.ReplicatedVMManagedDiskArgs
{
DiskId = vm.StorageOsDisk.Apply(storageOsDisk => storageOsDisk.ManagedDiskId),
StagingStorageAccountId = primaryAccount.Id,
TargetResourceGroupId = secondary.Id,
TargetDiskType = "Premium_LRS",
TargetReplicaDiskType = "Premium_LRS",
},
},
NetworkInterfaces = new[]
{
new Azure.SiteRecovery.Inputs.ReplicatedVMNetworkInterfaceArgs
{
SourceNetworkInterfaceId = vmNetworkInterface.Id,
TargetSubnetName = secondarySubnet.Name,
RecoveryPublicIpAddressId = secondaryPublicIp.Id,
},
},
}, new CustomResourceOptions
{
DependsOn =
{
container_mapping,
network_mapping,
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.network.VirtualNetwork;
import com.pulumi.azure.network.VirtualNetworkArgs;
import com.pulumi.azure.network.Subnet;
import com.pulumi.azure.network.SubnetArgs;
import com.pulumi.azure.network.PublicIp;
import com.pulumi.azure.network.PublicIpArgs;
import com.pulumi.azure.network.NetworkInterface;
import com.pulumi.azure.network.NetworkInterfaceArgs;
import com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;
import com.pulumi.azure.compute.VirtualMachine;
import com.pulumi.azure.compute.VirtualMachineArgs;
import com.pulumi.azure.compute.inputs.VirtualMachineStorageImageReferenceArgs;
import com.pulumi.azure.compute.inputs.VirtualMachineStorageOsDiskArgs;
import com.pulumi.azure.compute.inputs.VirtualMachineOsProfileArgs;
import com.pulumi.azure.compute.inputs.VirtualMachineOsProfileLinuxConfigArgs;
import com.pulumi.azure.recoveryservices.Vault;
import com.pulumi.azure.recoveryservices.VaultArgs;
import com.pulumi.azure.siterecovery.Fabric;
import com.pulumi.azure.siterecovery.FabricArgs;
import com.pulumi.azure.siterecovery.ProtectionContainer;
import com.pulumi.azure.siterecovery.ProtectionContainerArgs;
import com.pulumi.azure.siterecovery.ReplicationPolicy;
import com.pulumi.azure.siterecovery.ReplicationPolicyArgs;
import com.pulumi.azure.siterecovery.ProtectionContainerMapping;
import com.pulumi.azure.siterecovery.ProtectionContainerMappingArgs;
import com.pulumi.azure.siterecovery.NetworkMapping;
import com.pulumi.azure.siterecovery.NetworkMappingArgs;
import com.pulumi.azure.storage.Account;
import com.pulumi.azure.storage.AccountArgs;
import com.pulumi.azure.siterecovery.ReplicatedVM;
import com.pulumi.azure.siterecovery.ReplicatedVMArgs;
import com.pulumi.azure.siterecovery.inputs.ReplicatedVMManagedDiskArgs;
import com.pulumi.azure.siterecovery.inputs.ReplicatedVMNetworkInterfaceArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var primary = new ResourceGroup("primary", ResourceGroupArgs.builder()
.name("tfex-replicated-vm-primary")
.location("West US")
.build());
var secondary = new ResourceGroup("secondary", ResourceGroupArgs.builder()
.name("tfex-replicated-vm-secondary")
.location("East US")
.build());
var primaryVirtualNetwork = new VirtualNetwork("primaryVirtualNetwork", VirtualNetworkArgs.builder()
.name("network1")
.resourceGroupName(primary.name())
.addressSpaces("192.168.1.0/24")
.location(primary.location())
.build());
var primarySubnet = new Subnet("primarySubnet", SubnetArgs.builder()
.name("network1-subnet")
.resourceGroupName(primary.name())
.virtualNetworkName(primaryVirtualNetwork.name())
.addressPrefixes("192.168.1.0/24")
.build());
var primaryPublicIp = new PublicIp("primaryPublicIp", PublicIpArgs.builder()
.name("vm-public-ip-primary")
.allocationMethod("Static")
.location(primary.location())
.resourceGroupName(primary.name())
.sku("Basic")
.build());
var vmNetworkInterface = new NetworkInterface("vmNetworkInterface", NetworkInterfaceArgs.builder()
.name("vm-nic")
.location(primary.location())
.resourceGroupName(primary.name())
.ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()
.name("vm")
.subnetId(primarySubnet.id())
.privateIpAddressAllocation("Dynamic")
.publicIpAddressId(primaryPublicIp.id())
.build())
.build());
var vm = new VirtualMachine("vm", VirtualMachineArgs.builder()
.name("vm")
.location(primary.location())
.resourceGroupName(primary.name())
.vmSize("Standard_B1s")
.networkInterfaceIds(vmNetworkInterface.id())
.storageImageReference(VirtualMachineStorageImageReferenceArgs.builder()
.publisher("Canonical")
.offer("0001-com-ubuntu-server-jammy")
.sku("22_04-lts")
.version("latest")
.build())
.storageOsDisk(VirtualMachineStorageOsDiskArgs.builder()
.name("vm-os-disk")
.osType("Linux")
.caching("ReadWrite")
.createOption("FromImage")
.managedDiskType("Premium_LRS")
.build())
.osProfile(VirtualMachineOsProfileArgs.builder()
.adminUsername("test-admin-123")
.adminPassword("test-pwd-123")
.computerName("vm")
.build())
.osProfileLinuxConfig(VirtualMachineOsProfileLinuxConfigArgs.builder()
.disablePasswordAuthentication(false)
.build())
.build());
var vault = new Vault("vault", VaultArgs.builder()
.name("example-recovery-vault")
.location(secondary.location())
.resourceGroupName(secondary.name())
.sku("Standard")
.build());
var primaryFabric = new Fabric("primaryFabric", FabricArgs.builder()
.name("primary-fabric")
.resourceGroupName(secondary.name())
.recoveryVaultName(vault.name())
.location(primary.location())
.build());
var secondaryFabric = new Fabric("secondaryFabric", FabricArgs.builder()
.name("secondary-fabric")
.resourceGroupName(secondary.name())
.recoveryVaultName(vault.name())
.location(secondary.location())
.build());
var primaryProtectionContainer = new ProtectionContainer("primaryProtectionContainer", ProtectionContainerArgs.builder()
.name("primary-protection-container")
.resourceGroupName(secondary.name())
.recoveryVaultName(vault.name())
.recoveryFabricName(primaryFabric.name())
.build());
var secondaryProtectionContainer = new ProtectionContainer("secondaryProtectionContainer", ProtectionContainerArgs.builder()
.name("secondary-protection-container")
.resourceGroupName(secondary.name())
.recoveryVaultName(vault.name())
.recoveryFabricName(secondaryFabric.name())
.build());
var policy = new ReplicationPolicy("policy", ReplicationPolicyArgs.builder()
.name("policy")
.resourceGroupName(secondary.name())
.recoveryVaultName(vault.name())
.recoveryPointRetentionInMinutes(24 * 60)
.applicationConsistentSnapshotFrequencyInMinutes(4 * 60)
.build());
var container_mapping = new ProtectionContainerMapping("container-mapping", ProtectionContainerMappingArgs.builder()
.name("container-mapping")
.resourceGroupName(secondary.name())
.recoveryVaultName(vault.name())
.recoveryFabricName(primaryFabric.name())
.recoverySourceProtectionContainerName(primaryProtectionContainer.name())
.recoveryTargetProtectionContainerId(secondaryProtectionContainer.id())
.recoveryReplicationPolicyId(policy.id())
.build());
var secondaryVirtualNetwork = new VirtualNetwork("secondaryVirtualNetwork", VirtualNetworkArgs.builder()
.name("network2")
.resourceGroupName(secondary.name())
.addressSpaces("192.168.2.0/24")
.location(secondary.location())
.build());
var network_mapping = new NetworkMapping("network-mapping", NetworkMappingArgs.builder()
.name("network-mapping")
.resourceGroupName(secondary.name())
.recoveryVaultName(vault.name())
.sourceRecoveryFabricName(primaryFabric.name())
.targetRecoveryFabricName(secondaryFabric.name())
.sourceNetworkId(primaryVirtualNetwork.id())
.targetNetworkId(secondaryVirtualNetwork.id())
.build());
var primaryAccount = new Account("primaryAccount", AccountArgs.builder()
.name("primaryrecoverycache")
.location(primary.location())
.resourceGroupName(primary.name())
.accountTier("Standard")
.accountReplicationType("LRS")
.build());
var secondarySubnet = new Subnet("secondarySubnet", SubnetArgs.builder()
.name("network2-subnet")
.resourceGroupName(secondary.name())
.virtualNetworkName(secondaryVirtualNetwork.name())
.addressPrefixes("192.168.2.0/24")
.build());
var secondaryPublicIp = new PublicIp("secondaryPublicIp", PublicIpArgs.builder()
.name("vm-public-ip-secondary")
.allocationMethod("Static")
.location(secondary.location())
.resourceGroupName(secondary.name())
.sku("Basic")
.build());
var vm_replication = new ReplicatedVM("vm-replication", ReplicatedVMArgs.builder()
.name("vm-replication")
.resourceGroupName(secondary.name())
.recoveryVaultName(vault.name())
.sourceRecoveryFabricName(primaryFabric.name())
.sourceVmId(vm.id())
.recoveryReplicationPolicyId(policy.id())
.sourceRecoveryProtectionContainerName(primaryProtectionContainer.name())
.targetResourceGroupId(secondary.id())
.targetRecoveryFabricId(secondaryFabric.id())
.targetRecoveryProtectionContainerId(secondaryProtectionContainer.id())
.managedDisks(ReplicatedVMManagedDiskArgs.builder()
.diskId(vm.storageOsDisk().applyValue(storageOsDisk -> storageOsDisk.managedDiskId()))
.stagingStorageAccountId(primaryAccount.id())
.targetResourceGroupId(secondary.id())
.targetDiskType("Premium_LRS")
.targetReplicaDiskType("Premium_LRS")
.build())
.networkInterfaces(ReplicatedVMNetworkInterfaceArgs.builder()
.sourceNetworkInterfaceId(vmNetworkInterface.id())
.targetSubnetName(secondarySubnet.name())
.recoveryPublicIpAddressId(secondaryPublicIp.id())
.build())
.build(), CustomResourceOptions.builder()
.dependsOn(
container_mapping,
network_mapping)
.build());
}
}
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",
});
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"),
})
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());
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")
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",
});
type: azure:siterecovery:ReplicatedVM
properties:
managedDisks:
- diskId: string
stagingStorageAccountId: string
targetDiskEncryption:
diskEncryptionKey:
secretUrl: string
vaultId: string
keyEncryptionKey:
keyUrl: string
vaultId: string
targetDiskEncryptionSetId: string
targetDiskType: string
targetReplicaDiskType: string
targetResourceGroupId: string
multiVmGroupName: string
name: string
networkInterfaces:
- failoverTestPublicIpAddressId: string
failoverTestStaticIp: string
failoverTestSubnetName: string
recoveryLoadBalancerBackendAddressPoolIds:
- string
recoveryPublicIpAddressId: string
sourceNetworkInterfaceId: string
targetStaticIp: string
targetSubnetName: string
recoveryReplicationPolicyId: string
recoveryVaultName: string
resourceGroupName: string
sourceRecoveryFabricName: string
sourceRecoveryProtectionContainerName: string
sourceVmId: string
targetAvailabilitySetId: string
targetBootDiagnosticStorageAccountId: string
targetCapacityReservationGroupId: string
targetEdgeZone: string
targetNetworkId: string
targetProximityPlacementGroupId: string
targetRecoveryFabricId: string
targetRecoveryProtectionContainerId: string
targetResourceGroupId: string
targetVirtualMachineScaleSetId: string
targetVirtualMachineSize: string
targetZone: string
testNetworkId: string
unmanagedDisks:
- diskUri: string
stagingStorageAccountId: string
targetStorageAccountId: string
ReplicatedVM Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The ReplicatedVM resource accepts the following input properties:
- Recovery
Replication Policy Id This property is required. Changes to this property will trigger replacement.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
VMManaged Disk> - One or more
managed_disk
block as defined below. Changing this forces a new resource to be created. - Multi
Vm stringGroup Name - Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
- Name
Changes to this property will trigger replacement.
- The name of the replication for the replicated VM. Changing this forces a new resource to be created.
- Network
Interfaces List<ReplicatedVMNetwork Interface> - One or more
network_interface
block as defined below. - Target
Availability stringSet Id - Id of availability set that the new VM should belong to when a failover is done.
- Target
Boot stringDiagnostic Storage Account Id - Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
- Target
Capacity stringReservation Group Id - 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.
- 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 stringId - Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
- Target
Proximity stringPlacement Group Id - Id of Proximity Placement Group the new VM should belong to when a failover is done.
- Target
Virtual stringMachine Scale Set Id - Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
- Target
Virtual stringMachine Size - Specifies the size the Virtual Machine should have.
- Target
Zone Changes to this property will trigger replacement.
- Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
- Test
Network stringId - Network to use when a test failover is done.
- Unmanaged
Disks Changes to this property will trigger replacement.
VMUnmanaged Disk> - 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
VMManaged Disk Args - One or more
managed_disk
block as defined below. Changing this forces a new resource to be created. - Multi
Vm stringGroup Name - Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
- Name
Changes to this property will trigger replacement.
- The name of the replication for the replicated VM. Changing this forces a new resource to be created.
- Network
Interfaces []ReplicatedVMNetwork Interface Args - One or more
network_interface
block as defined below. - Target
Availability stringSet Id - Id of availability set that the new VM should belong to when a failover is done.
- Target
Boot stringDiagnostic Storage Account Id - Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
- Target
Capacity stringReservation Group Id - 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.
- 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 stringId - Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
- Target
Proximity stringPlacement Group Id - Id of Proximity Placement Group the new VM should belong to when a failover is done.
- Target
Virtual stringMachine Scale Set Id - Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
- Target
Virtual stringMachine Size - Specifies the size the Virtual Machine should have.
- Target
Zone Changes to this property will trigger replacement.
- Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
- Test
Network stringId - Network to use when a test failover is done.
- Unmanaged
Disks Changes to this property will trigger replacement.
VMUnmanaged Disk Args - 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
VMManaged Disk> - One or more
managed_disk
block as defined below. Changing this forces a new resource to be created. - multi
Vm StringGroup Name - Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
- name
Changes to this property will trigger replacement.
- The name of the replication for the replicated VM. Changing this forces a new resource to be created.
- network
Interfaces List<ReplicatedVMNetwork Interface> - One or more
network_interface
block as defined below. - target
Availability StringSet Id - Id of availability set that the new VM should belong to when a failover is done.
- target
Boot StringDiagnostic Storage Account Id - Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
- target
Capacity StringReservation Group Id - 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.
- 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 StringId - Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
- target
Proximity StringPlacement Group Id - Id of Proximity Placement Group the new VM should belong to when a failover is done.
- target
Virtual StringMachine Scale Set Id - Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
- target
Virtual StringMachine Size - Specifies the size the Virtual Machine should have.
- target
Zone Changes to this property will trigger replacement.
- Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
- test
Network StringId - Network to use when a test failover is done.
- unmanaged
Disks Changes to this property will trigger replacement.
VMUnmanaged Disk> - 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
VMManaged Disk[] - One or more
managed_disk
block as defined below. Changing this forces a new resource to be created. - multi
Vm stringGroup Name - Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
- name
Changes to this property will trigger replacement.
- The name of the replication for the replicated VM. Changing this forces a new resource to be created.
- network
Interfaces ReplicatedVMNetwork Interface[] - One or more
network_interface
block as defined below. - target
Availability stringSet Id - Id of availability set that the new VM should belong to when a failover is done.
- target
Boot stringDiagnostic Storage Account Id - Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
- target
Capacity stringReservation Group Id - 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.
- 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 stringId - Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
- target
Proximity stringPlacement Group Id - Id of Proximity Placement Group the new VM should belong to when a failover is done.
- target
Virtual stringMachine Scale Set Id - Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
- target
Virtual stringMachine Size - Specifies the size the Virtual Machine should have.
- target
Zone Changes to this property will trigger replacement.
- Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
- test
Network stringId - Network to use when a test failover is done.
- unmanaged
Disks Changes to this property will trigger replacement.
VMUnmanaged Disk[] - 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
VMManaged Disk Args] - One or more
managed_disk
block as defined below. Changing this forces a new resource to be created. - multi_
vm_ strgroup_ name - Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
- name
Changes to this property will trigger replacement.
- The name of the replication for the replicated VM. Changing this forces a new resource to be created.
- network_
interfaces Sequence[ReplicatedVMNetwork Interface Args] - One or more
network_interface
block as defined below. - target_
availability_ strset_ id - Id of availability set that the new VM should belong to when a failover is done.
- target_
boot_ strdiagnostic_ storage_ account_ id - Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
- target_
capacity_ strreservation_ group_ id - Id of the Capacity reservation group where the new VM should belong to when a failover is done.
- target_
edge_ zone Changes to this property will trigger replacement.
- Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- target_
network_ strid - Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
- target_
proximity_ strplacement_ group_ id - Id of Proximity Placement Group the new VM should belong to when a failover is done.
- target_
virtual_ strmachine_ scale_ set_ id - Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
- target_
virtual_ strmachine_ size - Specifies the size the Virtual Machine should have.
- target_
zone Changes to this property will trigger replacement.
- Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
- test_
network_ strid - Network to use when a test failover is done.
- unmanaged_
disks Changes to this property will trigger replacement.
VMUnmanaged Disk Args] - 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- One or more
managed_disk
block as defined below. Changing this forces a new resource to be created. - multi
Vm StringGroup Name - Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
- name
Changes to this property will trigger replacement.
- The name of the replication for the replicated VM. Changing this forces a new resource to be created.
- network
Interfaces List<Property Map> - One or more
network_interface
block as defined below. - target
Availability StringSet Id - Id of availability set that the new VM should belong to when a failover is done.
- target
Boot StringDiagnostic Storage Account Id - Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
- target
Capacity StringReservation Group Id - 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.
- 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 StringId - Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
- target
Proximity StringPlacement Group Id - Id of Proximity Placement Group the new VM should belong to when a failover is done.
- target
Virtual StringMachine Scale Set Id - Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
- target
Virtual StringMachine Size - Specifies the size the Virtual Machine should have.
- target
Zone Changes to this property will trigger replacement.
- Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
- test
Network StringId - Network to use when a test failover is done.
- unmanaged
Disks Changes to this property will trigger replacement.
- 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.
- Managed
Disks Changes to this property will trigger replacement.
VMManaged Disk> - One or more
managed_disk
block as defined below. Changing this forces a new resource to be created. - Multi
Vm stringGroup Name - Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
- Name
Changes to this property will trigger replacement.
- The name of the replication for the replicated VM. Changing this forces a new resource to be created.
- Network
Interfaces List<ReplicatedVMNetwork Interface> - One or more
network_interface
block as defined below. - Recovery
Replication Policy Id Changes to this property will trigger replacement.
- 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.
- 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.
- 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.
- 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.
- 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.
- Id of the VM to replicate Changing this forces a new resource to be created.
- Target
Availability stringSet Id - Id of availability set that the new VM should belong to when a failover is done.
- Target
Boot stringDiagnostic Storage Account Id - Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
- Target
Capacity stringReservation Group Id - 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.
- 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 stringId - Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
- Target
Proximity stringPlacement Group Id - 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.
- 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.
- 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.
- 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 stringMachine Scale Set Id - Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
- Target
Virtual stringMachine Size - Specifies the size the Virtual Machine should have.
- Target
Zone Changes to this property will trigger replacement.
- Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
- Test
Network stringId - Network to use when a test failover is done.
- Unmanaged
Disks Changes to this property will trigger replacement.
VMUnmanaged Disk> - 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.
VMManaged Disk Args - One or more
managed_disk
block as defined below. Changing this forces a new resource to be created. - Multi
Vm stringGroup Name - Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
- Name
Changes to this property will trigger replacement.
- The name of the replication for the replicated VM. Changing this forces a new resource to be created.
- Network
Interfaces []ReplicatedVMNetwork Interface Args - One or more
network_interface
block as defined below. - Recovery
Replication Policy Id Changes to this property will trigger replacement.
- 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.
- 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.
- 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.
- 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.
- 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.
- Id of the VM to replicate Changing this forces a new resource to be created.
- Target
Availability stringSet Id - Id of availability set that the new VM should belong to when a failover is done.
- Target
Boot stringDiagnostic Storage Account Id - Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
- Target
Capacity stringReservation Group Id - 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.
- 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 stringId - Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
- Target
Proximity stringPlacement Group Id - 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.
- 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.
- 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.
- 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 stringMachine Scale Set Id - Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
- Target
Virtual stringMachine Size - Specifies the size the Virtual Machine should have.
- Target
Zone Changes to this property will trigger replacement.
- Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
- Test
Network stringId - Network to use when a test failover is done.
- Unmanaged
Disks Changes to this property will trigger replacement.
VMUnmanaged Disk Args - 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.
VMManaged Disk> - One or more
managed_disk
block as defined below. Changing this forces a new resource to be created. - multi
Vm StringGroup Name - Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
- name
Changes to this property will trigger replacement.
- The name of the replication for the replicated VM. Changing this forces a new resource to be created.
- network
Interfaces List<ReplicatedVMNetwork Interface> - One or more
network_interface
block as defined below. - recovery
Replication Policy Id Changes to this property will trigger replacement.
- 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.
- 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.
- 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.
- 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.
- 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.
- Id of the VM to replicate Changing this forces a new resource to be created.
- target
Availability StringSet Id - Id of availability set that the new VM should belong to when a failover is done.
- target
Boot StringDiagnostic Storage Account Id - Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
- target
Capacity StringReservation Group Id - 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.
- 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 StringId - Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
- target
Proximity StringPlacement Group Id - 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.
- 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.
- 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.
- 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 StringMachine Scale Set Id - Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
- target
Virtual StringMachine Size - Specifies the size the Virtual Machine should have.
- target
Zone Changes to this property will trigger replacement.
- Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
- test
Network StringId - Network to use when a test failover is done.
- unmanaged
Disks Changes to this property will trigger replacement.
VMUnmanaged Disk> - 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.
VMManaged Disk[] - One or more
managed_disk
block as defined below. Changing this forces a new resource to be created. - multi
Vm stringGroup Name - Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
- name
Changes to this property will trigger replacement.
- The name of the replication for the replicated VM. Changing this forces a new resource to be created.
- network
Interfaces ReplicatedVMNetwork Interface[] - One or more
network_interface
block as defined below. - recovery
Replication Policy Id Changes to this property will trigger replacement.
- 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.
- 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.
- 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.
- 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.
- 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.
- Id of the VM to replicate Changing this forces a new resource to be created.
- target
Availability stringSet Id - Id of availability set that the new VM should belong to when a failover is done.
- target
Boot stringDiagnostic Storage Account Id - Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
- target
Capacity stringReservation Group Id - 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.
- 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 stringId - Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
- target
Proximity stringPlacement Group Id - 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.
- 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.
- 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.
- 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 stringMachine Scale Set Id - Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
- target
Virtual stringMachine Size - Specifies the size the Virtual Machine should have.
- target
Zone Changes to this property will trigger replacement.
- Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
- test
Network stringId - Network to use when a test failover is done.
- unmanaged
Disks Changes to this property will trigger replacement.
VMUnmanaged Disk[] - 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.
VMManaged Disk Args] - One or more
managed_disk
block as defined below. Changing this forces a new resource to be created. - multi_
vm_ strgroup_ name - Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
- name
Changes to this property will trigger replacement.
- The name of the replication for the replicated VM. Changing this forces a new resource to be created.
- network_
interfaces Sequence[ReplicatedVMNetwork Interface Args] - One or more
network_interface
block as defined below. - recovery_
replication_ policy_ id Changes to this property will trigger replacement.
- 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.
- 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.
- 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.
- 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.
- 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.
- Id of the VM to replicate Changing this forces a new resource to be created.
- target_
availability_ strset_ id - Id of availability set that the new VM should belong to when a failover is done.
- target_
boot_ strdiagnostic_ storage_ account_ id - Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
- target_
capacity_ strreservation_ group_ id - Id of the Capacity reservation group where the new VM should belong to when a failover is done.
- target_
edge_ zone Changes to this property will trigger replacement.
- Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- target_
network_ strid - Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
- target_
proximity_ strplacement_ group_ id - Id of Proximity Placement Group the new VM should belong to when a failover is done.
- target_
recovery_ fabric_ id Changes to this property will trigger replacement.
- 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.
- 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.
- Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.
- target_
virtual_ strmachine_ scale_ set_ id - Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
- target_
virtual_ strmachine_ size - Specifies the size the Virtual Machine should have.
- target_
zone Changes to this property will trigger replacement.
- Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
- test_
network_ strid - Network to use when a test failover is done.
- unmanaged_
disks Changes to this property will trigger replacement.
VMUnmanaged Disk Args] - 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.
- One or more
managed_disk
block as defined below. Changing this forces a new resource to be created. - multi
Vm StringGroup Name - Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
- name
Changes to this property will trigger replacement.
- The name of the replication for the replicated VM. Changing this forces a new resource to be created.
- network
Interfaces List<Property Map> - One or more
network_interface
block as defined below. - recovery
Replication Policy Id Changes to this property will trigger replacement.
- 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.
- 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.
- 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.
- 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.
- 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.
- Id of the VM to replicate Changing this forces a new resource to be created.
- target
Availability StringSet Id - Id of availability set that the new VM should belong to when a failover is done.
- target
Boot StringDiagnostic Storage Account Id - Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
- target
Capacity StringReservation Group Id - 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.
- 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 StringId - Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
- target
Proximity StringPlacement Group Id - 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.
- 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.
- 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.
- 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 StringMachine Scale Set Id - Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
- target
Virtual StringMachine Size - Specifies the size the Virtual Machine should have.
- target
Zone Changes to this property will trigger replacement.
- Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
- test
Network StringId - Network to use when a test failover is done.
- unmanaged
Disks Changes to this property will trigger replacement.
- One or more
unmanaged_disk
block as defined below. Changing this forces a new resource to be created.
Supporting Types
ReplicatedVMManagedDisk, ReplicatedVMManagedDiskArgs
- Disk
Id This property is required. Changes to this property will trigger replacement.
- 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.
- 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.
- What type should the disk be when a failover is done. Possible values are
Standard_LRS
,Premium_LRS
,StandardSSD_LRS
andUltraSSD_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.
- What type should the disk be that holds the replication data. Possible values are
Standard_LRS
,Premium_LRS
,StandardSSD_LRS
andUltraSSD_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.
- Resource group disk should belong to when a failover is done. Changing this forces a new resource to be created.
- Target
Disk ReplicatedEncryption VMManaged Disk Target Disk Encryption - A
target_disk_encryption
block as defined below. - Target
Disk Encryption Set Id Changes to this property will trigger replacement.
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 thetimeout
forcreate
.
- Disk
Id This property is required. Changes to this property will trigger replacement.
- 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.
- 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.
- What type should the disk be when a failover is done. Possible values are
Standard_LRS
,Premium_LRS
,StandardSSD_LRS
andUltraSSD_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.
- What type should the disk be that holds the replication data. Possible values are
Standard_LRS
,Premium_LRS
,StandardSSD_LRS
andUltraSSD_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.
- Resource group disk should belong to when a failover is done. Changing this forces a new resource to be created.
- Target
Disk ReplicatedEncryption VMManaged Disk Target Disk Encryption - A
target_disk_encryption
block as defined below. - Target
Disk Encryption Set Id Changes to this property will trigger replacement.
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 thetimeout
forcreate
.
- disk
Id This property is required. Changes to this property will trigger replacement.
- 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.
- 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.
- What type should the disk be when a failover is done. Possible values are
Standard_LRS
,Premium_LRS
,StandardSSD_LRS
andUltraSSD_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.
- What type should the disk be that holds the replication data. Possible values are
Standard_LRS
,Premium_LRS
,StandardSSD_LRS
andUltraSSD_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.
- Resource group disk should belong to when a failover is done. Changing this forces a new resource to be created.
- target
Disk ReplicatedEncryption VMManaged Disk Target Disk Encryption - A
target_disk_encryption
block as defined below. - target
Disk Encryption Set Id Changes to this property will trigger replacement.
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 thetimeout
forcreate
.
- disk
Id This property is required. Changes to this property will trigger replacement.
- 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.
- 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.
- What type should the disk be when a failover is done. Possible values are
Standard_LRS
,Premium_LRS
,StandardSSD_LRS
andUltraSSD_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.
- What type should the disk be that holds the replication data. Possible values are
Standard_LRS
,Premium_LRS
,StandardSSD_LRS
andUltraSSD_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.
- Resource group disk should belong to when a failover is done. Changing this forces a new resource to be created.
- target
Disk ReplicatedEncryption VMManaged Disk Target Disk Encryption - A
target_disk_encryption
block as defined below. - target
Disk Encryption Set Id Changes to this property will trigger replacement.
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 thetimeout
forcreate
.
- disk_
id This property is required. Changes to this property will trigger replacement.
- 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.
- 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.
- What type should the disk be when a failover is done. Possible values are
Standard_LRS
,Premium_LRS
,StandardSSD_LRS
andUltraSSD_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.
- What type should the disk be that holds the replication data. Possible values are
Standard_LRS
,Premium_LRS
,StandardSSD_LRS
andUltraSSD_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.
- Resource group disk should belong to when a failover is done. Changing this forces a new resource to be created.
- target_
disk_ Replicatedencryption VMManaged Disk Target Disk Encryption - A
target_disk_encryption
block as defined below. - target_
disk_ encryption_ set_ id Changes to this property will trigger replacement.
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 thetimeout
forcreate
.
- disk
Id This property is required. Changes to this property will trigger replacement.
- 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.
- 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.
- What type should the disk be when a failover is done. Possible values are
Standard_LRS
,Premium_LRS
,StandardSSD_LRS
andUltraSSD_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.
- What type should the disk be that holds the replication data. Possible values are
Standard_LRS
,Premium_LRS
,StandardSSD_LRS
andUltraSSD_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.
- Resource group disk should belong to when a failover is done. Changing this forces a new resource to be created.
- target
Disk Property MapEncryption - A
target_disk_encryption
block as defined below. - target
Disk Encryption Set Id Changes to this property will trigger replacement.
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 thetimeout
forcreate
.
ReplicatedVMManagedDiskTargetDiskEncryption, ReplicatedVMManagedDiskTargetDiskEncryptionArgs
- Disk
Encryption Key This property is required. ReplicatedVMManaged Disk Target Disk Encryption Disk Encryption Key - A
disk_encryption_key
block as defined below. - Key
Encryption ReplicatedKey VMManaged Disk Target Disk Encryption Key Encryption Key - A
key_encryption_key
block as defined below.
- Disk
Encryption Key This property is required. ReplicatedVMManaged Disk Target Disk Encryption Disk Encryption Key - A
disk_encryption_key
block as defined below. - Key
Encryption ReplicatedKey VMManaged Disk Target Disk Encryption Key Encryption Key - A
key_encryption_key
block as defined below.
- disk
Encryption Key This property is required. ReplicatedVMManaged Disk Target Disk Encryption Disk Encryption Key - A
disk_encryption_key
block as defined below. - key
Encryption ReplicatedKey VMManaged Disk Target Disk Encryption Key Encryption Key - A
key_encryption_key
block as defined below.
- disk
Encryption Key This property is required. ReplicatedVMManaged Disk Target Disk Encryption Disk Encryption Key - A
disk_encryption_key
block as defined below. - key
Encryption ReplicatedKey VMManaged Disk Target Disk Encryption Key Encryption Key - A
key_encryption_key
block as defined below.
- disk_
encryption_ key This property is required. ReplicatedVMManaged Disk Target Disk Encryption Disk Encryption Key - A
disk_encryption_key
block as defined below. - key_
encryption_ Replicatedkey VMManaged Disk Target Disk Encryption Key Encryption Key - A
key_encryption_key
block as defined below.
- disk
Encryption Key This property is required. Property Map - A
disk_encryption_key
block as defined below. - key
Encryption Property MapKey - A
key_encryption_key
block as defined below.
ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKey, ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyArgs
- Secret
Url This property is required. Changes to this property will trigger replacement.
- 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 theazure.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.
- The ID of the Key Vault. This can be found as
id
on theazure.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.
- 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 theazure.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.
- The ID of the Key Vault. This can be found as
id
on theazure.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.
- 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 theazure.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.
- The ID of the Key Vault. This can be found as
id
on theazure.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.
- 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 theazure.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.
- The ID of the Key Vault. This can be found as
id
on theazure.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.
- 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 theazure.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.
- The ID of the Key Vault. This can be found as
id
on theazure.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.
- 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 theazure.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.
- The ID of the Key Vault. This can be found as
id
on theazure.keyvault.KeyVault
resource. Changing this forces a new resource to be created.
ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKey, ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyArgs
- Key
Url This property is required. Changes to this property will trigger replacement.
- 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 theazure.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.
- The ID of the Key Vault. This can be found as
id
on theazure.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.
- 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 theazure.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.
- The ID of the Key Vault. This can be found as
id
on theazure.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.
- 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 theazure.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.
- The ID of the Key Vault. This can be found as
id
on theazure.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.
- 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 theazure.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.
- The ID of the Key Vault. This can be found as
id
on theazure.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.
- 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 theazure.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.
- The ID of the Key Vault. This can be found as
id
on theazure.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.
- 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 theazure.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.
- The ID of the Key Vault. This can be found as
id
on theazure.keyvault.KeyVault
resource. Changing this forces a new resource to be created.
ReplicatedVMNetworkInterface, ReplicatedVMNetworkInterfaceArgs
- Failover
Test stringPublic Ip Address Id - Id of the public IP object to use when a test failover is done.
- Failover
Test stringStatic Ip - Static IP to assign when a test failover is done.
- Failover
Test stringSubnet Name - Name of the subnet to use when a test failover is done.
- Recovery
Load List<string>Balancer Backend Address Pool Ids - A list of IDs of Load Balancer Backend Address Pools to use when a failover is done.
- Recovery
Public stringIp Address Id - Id of the public IP object to use when a failover is done.
- Source
Network stringInterface Id - (Required if the network_interface block is specified) Id source network interface.
- Target
Static stringIp - Static IP to assign when a failover is done.
- Target
Subnet stringName - Name of the subnet to use when a failover is done.
- Failover
Test stringPublic Ip Address Id - Id of the public IP object to use when a test failover is done.
- Failover
Test stringStatic Ip - Static IP to assign when a test failover is done.
- Failover
Test stringSubnet Name - Name of the subnet to use when a test failover is done.
- Recovery
Load []stringBalancer Backend Address Pool Ids - A list of IDs of Load Balancer Backend Address Pools to use when a failover is done.
- Recovery
Public stringIp Address Id - Id of the public IP object to use when a failover is done.
- Source
Network stringInterface Id - (Required if the network_interface block is specified) Id source network interface.
- Target
Static stringIp - Static IP to assign when a failover is done.
- Target
Subnet stringName - Name of the subnet to use when a failover is done.
- failover
Test StringPublic Ip Address Id - Id of the public IP object to use when a test failover is done.
- failover
Test StringStatic Ip - Static IP to assign when a test failover is done.
- failover
Test StringSubnet Name - Name of the subnet to use when a test failover is done.
- recovery
Load List<String>Balancer Backend Address Pool Ids - A list of IDs of Load Balancer Backend Address Pools to use when a failover is done.
- recovery
Public StringIp Address Id - Id of the public IP object to use when a failover is done.
- source
Network StringInterface Id - (Required if the network_interface block is specified) Id source network interface.
- target
Static StringIp - Static IP to assign when a failover is done.
- target
Subnet StringName - Name of the subnet to use when a failover is done.
- failover
Test stringPublic Ip Address Id - Id of the public IP object to use when a test failover is done.
- failover
Test stringStatic Ip - Static IP to assign when a test failover is done.
- failover
Test stringSubnet Name - Name of the subnet to use when a test failover is done.
- recovery
Load string[]Balancer Backend Address Pool Ids - A list of IDs of Load Balancer Backend Address Pools to use when a failover is done.
- recovery
Public stringIp Address Id - Id of the public IP object to use when a failover is done.
- source
Network stringInterface Id - (Required if the network_interface block is specified) Id source network interface.
- target
Static stringIp - Static IP to assign when a failover is done.
- target
Subnet stringName - Name of the subnet to use when a failover is done.
- failover_
test_ strpublic_ ip_ address_ id - Id of the public IP object to use when a test failover is done.
- failover_
test_ strstatic_ ip - Static IP to assign when a test failover is done.
- failover_
test_ strsubnet_ name - Name of the subnet to use when a test failover is done.
- recovery_
load_ Sequence[str]balancer_ backend_ address_ pool_ ids - A list of IDs of Load Balancer Backend Address Pools to use when a failover is done.
- recovery_
public_ strip_ address_ id - Id of the public IP object to use when a failover is done.
- source_
network_ strinterface_ id - (Required if the network_interface block is specified) Id source network interface.
- target_
static_ strip - Static IP to assign when a failover is done.
- target_
subnet_ strname - Name of the subnet to use when a failover is done.
- failover
Test StringPublic Ip Address Id - Id of the public IP object to use when a test failover is done.
- failover
Test StringStatic Ip - Static IP to assign when a test failover is done.
- failover
Test StringSubnet Name - Name of the subnet to use when a test failover is done.
- recovery
Load List<String>Balancer Backend Address Pool Ids - A list of IDs of Load Balancer Backend Address Pools to use when a failover is done.
- recovery
Public StringIp Address Id - Id of the public IP object to use when a failover is done.
- source
Network StringInterface Id - (Required if the network_interface block is specified) Id source network interface.
- target
Static StringIp - Static IP to assign when a failover is done.
- target
Subnet StringName - Name of the subnet to use when a failover is done.
ReplicatedVMUnmanagedDisk, ReplicatedVMUnmanagedDiskArgs
- Disk
Uri This property is required. Changes to this property will trigger replacement.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Storage account disk should belong to when a failover is done. Changing this forces a new resource to be created.
Import
Site Recovery Replicated VM’s can be imported using the resource id
, e.g.
$ pulumi import azure:siterecovery/replicatedVM:ReplicatedVM vmreplication /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.RecoveryServices/vaults/recovery-vault-name/replicationFabrics/fabric-name/replicationProtectionContainers/protection-container-name/replicationProtectedItems/vm-replication-name
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Azure Classic pulumi/pulumi-azure
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
azurerm
Terraform Provider.