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
}
_, err = siterecovery.NewProtectionContainerMapping(ctx, "container-mapping", &siterecovery.ProtectionContainerMappingArgs{
Name: pulumi.String("container-mapping"),
ResourceGroupName: secondary.Name,
RecoveryVaultName: vault.Name,
RecoveryFabricName: primaryFabric.Name,
RecoverySourceProtectionContainerName: primaryProtectionContainer.Name,
RecoveryTargetProtectionContainerId: secondaryProtectionContainer.ID(),
RecoveryReplicationPolicyId: policy.ID(),
})
if err != nil {
return err
}
secondaryVirtualNetwork, err := network.NewVirtualNetwork(ctx, "secondary", &network.VirtualNetworkArgs{
Name: pulumi.String("network2"),
ResourceGroupName: secondary.Name,
AddressSpaces: pulumi.StringArray{
pulumi.String("192.168.2.0/24"),
},
Location: secondary.Location,
})
if err != nil {
return err
}
_, err = siterecovery.NewNetworkMapping(ctx, "network-mapping", &siterecovery.NetworkMappingArgs{
Name: pulumi.String("network-mapping"),
ResourceGroupName: secondary.Name,
RecoveryVaultName: vault.Name,
SourceRecoveryFabricName: primaryFabric.Name,
TargetRecoveryFabricName: secondaryFabric.Name,
SourceNetworkId: primaryVirtualNetwork.ID(),
TargetNetworkId: secondaryVirtualNetwork.ID(),
})
if err != nil {
return err
}
primaryAccount, err := storage.NewAccount(ctx, "primary", &storage.AccountArgs{
Name: pulumi.String("primaryrecoverycache"),
Location: primary.Location,
ResourceGroupName: primary.Name,
AccountTier: pulumi.String("Standard"),
AccountReplicationType: pulumi.String("LRS"),
})
if err != nil {
return err
}
secondarySubnet, err := network.NewSubnet(ctx, "secondary", &network.SubnetArgs{
Name: pulumi.String("network2-subnet"),
ResourceGroupName: secondary.Name,
VirtualNetworkName: secondaryVirtualNetwork.Name,
AddressPrefixes: pulumi.StringArray{
pulumi.String("192.168.2.0/24"),
},
})
if err != nil {
return err
}
secondaryPublicIp, err := network.NewPublicIp(ctx, "secondary", &network.PublicIpArgs{
Name: pulumi.String("vm-public-ip-secondary"),
AllocationMethod: pulumi.String("Static"),
Location: secondary.Location,
ResourceGroupName: secondary.Name,
Sku: pulumi.String("Basic"),
})
if err != nil {
return err
}
_, err = siterecovery.NewReplicatedVM(ctx, "vm-replication", &siterecovery.ReplicatedVMArgs{
Name: pulumi.String("vm-replication"),
ResourceGroupName: secondary.Name,
RecoveryVaultName: vault.Name,
SourceRecoveryFabricName: primaryFabric.Name,
SourceVmId: vm.ID(),
RecoveryReplicationPolicyId: policy.ID(),
SourceRecoveryProtectionContainerName: primaryProtectionContainer.Name,
TargetResourceGroupId: secondary.ID(),
TargetRecoveryFabricId: secondaryFabric.ID(),
TargetRecoveryProtectionContainerId: secondaryProtectionContainer.ID(),
ManagedDisks: siterecovery.ReplicatedVMManagedDiskArray{
&siterecovery.ReplicatedVMManagedDiskArgs{
DiskId: vm.StorageOsDisk.ApplyT(func(storageOsDisk compute.VirtualMachineStorageOsDisk) (*string, error) {
return &storageOsDisk.ManagedDiskId, nil
}).(pulumi.StringPtrOutput),
StagingStorageAccountId: primaryAccount.ID(),
TargetResourceGroupId: secondary.ID(),
TargetDiskType: pulumi.String("Premium_LRS"),
TargetReplicaDiskType: pulumi.String("Premium_LRS"),
},
},
NetworkInterfaces: siterecovery.ReplicatedVMNetworkInterfaceArray{
&siterecovery.ReplicatedVMNetworkInterfaceArgs{
SourceNetworkInterfaceId: vmNetworkInterface.ID(),
TargetSubnetName: secondarySubnet.Name,
RecoveryPublicIpAddressId: secondaryPublicIp.ID(),
},
},
}, pulumi.DependsOn([]pulumi.Resource{
container_mapping,
network_mapping,
}))
if err != nil {
return err
}
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,
source_vm_id: Optional[str] = None,
target_resource_group_id: Optional[str] = None,
target_recovery_protection_container_id: Optional[str] = None,
target_recovery_fabric_id: Optional[str] = None,
recovery_replication_policy_id: Optional[str] = None,
recovery_vault_name: Optional[str] = None,
resource_group_name: Optional[str] = None,
source_recovery_fabric_name: Optional[str] = None,
source_recovery_protection_container_name: Optional[str] = None,
target_availability_set_id: Optional[str] = None,
network_interfaces: Optional[Sequence[ReplicatedVMNetworkInterfaceArgs]] = 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,
managed_disks: Optional[Sequence[ReplicatedVMManagedDiskArgs]] = None,
name: Optional[str] = None,
multi_vm_group_name: Optional[str] = None,
target_virtual_machine_scale_set_id: Optional[str] = None,
target_zone: Optional[str] = None,
test_network_id: Optional[str] = None,
unmanaged_disks: Optional[Sequence[ReplicatedVMUnmanagedDiskArgs]] = None)
func NewReplicatedVM(ctx *Context, name string, args ReplicatedVMArgs, opts ...ResourceOption) (*ReplicatedVM, error)
public ReplicatedVM(string name, ReplicatedVMArgs args, CustomResourceOptions? opts = null)
public ReplicatedVM(String name, ReplicatedVMArgs args)
public ReplicatedVM(String name, ReplicatedVMArgs args, CustomResourceOptions options)
type: azure:siterecovery:ReplicatedVM
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args ReplicatedVMArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args ReplicatedVMArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args ReplicatedVMArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ReplicatedVMArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ReplicatedVMArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var replicatedVMResource = new Azure.SiteRecovery.ReplicatedVM("replicatedVMResource", new()
{
SourceVmId = "string",
TargetResourceGroupId = "string",
TargetRecoveryProtectionContainerId = "string",
TargetRecoveryFabricId = "string",
RecoveryReplicationPolicyId = "string",
RecoveryVaultName = "string",
ResourceGroupName = "string",
SourceRecoveryFabricName = "string",
SourceRecoveryProtectionContainerName = "string",
TargetAvailabilitySetId = "string",
NetworkInterfaces = new[]
{
new Azure.SiteRecovery.Inputs.ReplicatedVMNetworkInterfaceArgs
{
FailoverTestPublicIpAddressId = "string",
FailoverTestStaticIp = "string",
FailoverTestSubnetName = "string",
RecoveryPublicIpAddressId = "string",
SourceNetworkInterfaceId = "string",
TargetStaticIp = "string",
TargetSubnetName = "string",
},
},
TargetBootDiagnosticStorageAccountId = "string",
TargetCapacityReservationGroupId = "string",
TargetEdgeZone = "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",
},
},
Name = "string",
MultiVmGroupName = "string",
TargetVirtualMachineScaleSetId = "string",
TargetZone = "string",
TestNetworkId = "string",
UnmanagedDisks = new[]
{
new Azure.SiteRecovery.Inputs.ReplicatedVMUnmanagedDiskArgs
{
DiskUri = "string",
StagingStorageAccountId = "string",
TargetStorageAccountId = "string",
},
},
});
example, err := siterecovery.NewReplicatedVM(ctx, "replicatedVMResource", &siterecovery.ReplicatedVMArgs{
SourceVmId: pulumi.String("string"),
TargetResourceGroupId: pulumi.String("string"),
TargetRecoveryProtectionContainerId: pulumi.String("string"),
TargetRecoveryFabricId: pulumi.String("string"),
RecoveryReplicationPolicyId: pulumi.String("string"),
RecoveryVaultName: pulumi.String("string"),
ResourceGroupName: pulumi.String("string"),
SourceRecoveryFabricName: pulumi.String("string"),
SourceRecoveryProtectionContainerName: pulumi.String("string"),
TargetAvailabilitySetId: pulumi.String("string"),
NetworkInterfaces: siterecovery.ReplicatedVMNetworkInterfaceArray{
&siterecovery.ReplicatedVMNetworkInterfaceArgs{
FailoverTestPublicIpAddressId: pulumi.String("string"),
FailoverTestStaticIp: pulumi.String("string"),
FailoverTestSubnetName: pulumi.String("string"),
RecoveryPublicIpAddressId: pulumi.String("string"),
SourceNetworkInterfaceId: pulumi.String("string"),
TargetStaticIp: pulumi.String("string"),
TargetSubnetName: pulumi.String("string"),
},
},
TargetBootDiagnosticStorageAccountId: pulumi.String("string"),
TargetCapacityReservationGroupId: pulumi.String("string"),
TargetEdgeZone: 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"),
},
},
Name: pulumi.String("string"),
MultiVmGroupName: pulumi.String("string"),
TargetVirtualMachineScaleSetId: pulumi.String("string"),
TargetZone: pulumi.String("string"),
TestNetworkId: pulumi.String("string"),
UnmanagedDisks: siterecovery.ReplicatedVMUnmanagedDiskArray{
&siterecovery.ReplicatedVMUnmanagedDiskArgs{
DiskUri: pulumi.String("string"),
StagingStorageAccountId: pulumi.String("string"),
TargetStorageAccountId: pulumi.String("string"),
},
},
})
var replicatedVMResource = new ReplicatedVM("replicatedVMResource", ReplicatedVMArgs.builder()
.sourceVmId("string")
.targetResourceGroupId("string")
.targetRecoveryProtectionContainerId("string")
.targetRecoveryFabricId("string")
.recoveryReplicationPolicyId("string")
.recoveryVaultName("string")
.resourceGroupName("string")
.sourceRecoveryFabricName("string")
.sourceRecoveryProtectionContainerName("string")
.targetAvailabilitySetId("string")
.networkInterfaces(ReplicatedVMNetworkInterfaceArgs.builder()
.failoverTestPublicIpAddressId("string")
.failoverTestStaticIp("string")
.failoverTestSubnetName("string")
.recoveryPublicIpAddressId("string")
.sourceNetworkInterfaceId("string")
.targetStaticIp("string")
.targetSubnetName("string")
.build())
.targetBootDiagnosticStorageAccountId("string")
.targetCapacityReservationGroupId("string")
.targetEdgeZone("string")
.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())
.name("string")
.multiVmGroupName("string")
.targetVirtualMachineScaleSetId("string")
.targetZone("string")
.testNetworkId("string")
.unmanagedDisks(ReplicatedVMUnmanagedDiskArgs.builder()
.diskUri("string")
.stagingStorageAccountId("string")
.targetStorageAccountId("string")
.build())
.build());
replicated_vm_resource = azure.siterecovery.ReplicatedVM("replicatedVMResource",
source_vm_id="string",
target_resource_group_id="string",
target_recovery_protection_container_id="string",
target_recovery_fabric_id="string",
recovery_replication_policy_id="string",
recovery_vault_name="string",
resource_group_name="string",
source_recovery_fabric_name="string",
source_recovery_protection_container_name="string",
target_availability_set_id="string",
network_interfaces=[{
"failoverTestPublicIpAddressId": "string",
"failoverTestStaticIp": "string",
"failoverTestSubnetName": "string",
"recoveryPublicIpAddressId": "string",
"sourceNetworkInterfaceId": "string",
"targetStaticIp": "string",
"targetSubnetName": "string",
}],
target_boot_diagnostic_storage_account_id="string",
target_capacity_reservation_group_id="string",
target_edge_zone="string",
target_network_id="string",
target_proximity_placement_group_id="string",
managed_disks=[{
"diskId": "string",
"stagingStorageAccountId": "string",
"targetDiskType": "string",
"targetReplicaDiskType": "string",
"targetResourceGroupId": "string",
"targetDiskEncryption": {
"diskEncryptionKey": {
"secretUrl": "string",
"vaultId": "string",
},
"keyEncryptionKey": {
"keyUrl": "string",
"vaultId": "string",
},
},
"targetDiskEncryptionSetId": "string",
}],
name="string",
multi_vm_group_name="string",
target_virtual_machine_scale_set_id="string",
target_zone="string",
test_network_id="string",
unmanaged_disks=[{
"diskUri": "string",
"stagingStorageAccountId": "string",
"targetStorageAccountId": "string",
}])
const replicatedVMResource = new azure.siterecovery.ReplicatedVM("replicatedVMResource", {
sourceVmId: "string",
targetResourceGroupId: "string",
targetRecoveryProtectionContainerId: "string",
targetRecoveryFabricId: "string",
recoveryReplicationPolicyId: "string",
recoveryVaultName: "string",
resourceGroupName: "string",
sourceRecoveryFabricName: "string",
sourceRecoveryProtectionContainerName: "string",
targetAvailabilitySetId: "string",
networkInterfaces: [{
failoverTestPublicIpAddressId: "string",
failoverTestStaticIp: "string",
failoverTestSubnetName: "string",
recoveryPublicIpAddressId: "string",
sourceNetworkInterfaceId: "string",
targetStaticIp: "string",
targetSubnetName: "string",
}],
targetBootDiagnosticStorageAccountId: "string",
targetCapacityReservationGroupId: "string",
targetEdgeZone: "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",
}],
name: "string",
multiVmGroupName: "string",
targetVirtualMachineScaleSetId: "string",
targetZone: "string",
testNetworkId: "string",
unmanagedDisks: [{
diskUri: "string",
stagingStorageAccountId: "string",
targetStorageAccountId: "string",
}],
});
type: azure:siterecovery:ReplicatedVM
properties:
managedDisks:
- diskId: string
stagingStorageAccountId: string
targetDiskEncryption:
diskEncryptionKey:
secretUrl: string
vaultId: string
keyEncryptionKey:
keyUrl: string
vaultId: string
targetDiskEncryptionSetId: string
targetDiskType: string
targetReplicaDiskType: string
targetResourceGroupId: string
multiVmGroupName: string
name: string
networkInterfaces:
- failoverTestPublicIpAddressId: string
failoverTestStaticIp: string
failoverTestSubnetName: string
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
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
The ReplicatedVM resource accepts the following input properties:
- Recovery
Replication stringPolicy Id - Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
- Recovery
Vault stringName - The name of the vault that should be updated. Changing this forces a new resource to be created.
- Resource
Group stringName - 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 stringFabric Name - Name of fabric that should contain this replication. Changing this forces a new resource to be created.
- Source
Recovery stringProtection Container Name - Name of the protection container to use. Changing this forces a new resource to be created.
- Source
Vm stringId - Id of the VM to replicate Changing this forces a new resource to be created.
- Target
Recovery stringFabric Id - Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
- Target
Recovery stringProtection Container Id - Id of protection container where the VM replication should be created when a failover is done. Changing this forces a new resource to be created.
- Target
Resource stringGroup Id - Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.
- Managed
Disks List<ReplicatedVMManaged 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 string
- 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 stringZone - Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- 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
Zone string - 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 List<ReplicatedVMUnmanaged Disk> - One or more
unmanaged_disk
block as defined below. Changing this forces a new resource to be created.
- Recovery
Replication stringPolicy Id - Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
- Recovery
Vault stringName - The name of the vault that should be updated. Changing this forces a new resource to be created.
- Resource
Group stringName - 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 stringFabric Name - Name of fabric that should contain this replication. Changing this forces a new resource to be created.
- Source
Recovery stringProtection Container Name - Name of the protection container to use. Changing this forces a new resource to be created.
- Source
Vm stringId - Id of the VM to replicate Changing this forces a new resource to be created.
- Target
Recovery stringFabric Id - Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
- Target
Recovery stringProtection Container Id - Id of protection container where the VM replication should be created when a failover is done. Changing this forces a new resource to be created.
- Target
Resource stringGroup Id - Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.
- Managed
Disks []ReplicatedVMManaged 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 string
- 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 stringZone - Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- 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
Zone string - 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 []ReplicatedVMUnmanaged Disk Args - One or more
unmanaged_disk
block as defined below. Changing this forces a new resource to be created.
- recovery
Replication StringPolicy Id - Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
- recovery
Vault StringName - The name of the vault that should be updated. Changing this forces a new resource to be created.
- resource
Group StringName - 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 StringFabric Name - Name of fabric that should contain this replication. Changing this forces a new resource to be created.
- source
Recovery StringProtection Container Name - Name of the protection container to use. Changing this forces a new resource to be created.
- source
Vm StringId - Id of the VM to replicate Changing this forces a new resource to be created.
- target
Recovery StringFabric Id - Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
- target
Recovery StringProtection Container Id - Id of protection container where the VM replication should be created when a failover is done. Changing this forces a new resource to be created.
- target
Resource StringGroup Id - Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.
- managed
Disks List<ReplicatedVMManaged 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 String
- 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 StringZone - Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- 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
Zone String - 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 List<ReplicatedVMUnmanaged Disk> - One or more
unmanaged_disk
block as defined below. Changing this forces a new resource to be created.
- recovery
Replication stringPolicy Id - Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
- recovery
Vault stringName - The name of the vault that should be updated. Changing this forces a new resource to be created.
- resource
Group stringName - 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 stringFabric Name - Name of fabric that should contain this replication. Changing this forces a new resource to be created.
- source
Recovery stringProtection Container Name - Name of the protection container to use. Changing this forces a new resource to be created.
- source
Vm stringId - Id of the VM to replicate Changing this forces a new resource to be created.
- target
Recovery stringFabric Id - Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
- target
Recovery stringProtection Container Id - Id of protection container where the VM replication should be created when a failover is done. Changing this forces a new resource to be created.
- target
Resource stringGroup Id - Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.
- managed
Disks ReplicatedVMManaged 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 string
- 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 stringZone - Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- 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
Zone string - 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 ReplicatedVMUnmanaged Disk[] - One or more
unmanaged_disk
block as defined below. Changing this forces a new resource to be created.
- recovery_
replication_ strpolicy_ id - Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
- recovery_
vault_ strname - The name of the vault that should be updated. Changing this forces a new resource to be created.
- resource_
group_ strname - Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
- source_
recovery_ strfabric_ name - Name of fabric that should contain this replication. Changing this forces a new resource to be created.
- source_
recovery_ strprotection_ container_ name - Name of the protection container to use. Changing this forces a new resource to be created.
- source_
vm_ strid - Id of the VM to replicate Changing this forces a new resource to be created.
- target_
recovery_ strfabric_ id - Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
- target_
recovery_ strprotection_ container_ id - Id of protection container where the VM replication should be created when a failover is done. Changing this forces a new resource to be created.
- target_
resource_ strgroup_ id - Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.
- managed_
disks Sequence[ReplicatedVMManaged Disk Args] - One or more
managed_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 str
- The name of the replication for the replicated VM. Changing this forces a new resource to be created.
- network_
interfaces Sequence[ReplicatedVMNetwork Interface Args] - One or more
network_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_ strzone - Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- target_
network_ strid - Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
- target_
proximity_ strplacement_ group_ id - Id of Proximity Placement Group the new VM should belong to when a failover is done.
- target_
virtual_ strmachine_ scale_ set_ id - Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
- target_
zone str - Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
- test_
network_ strid - Network to use when a test failover is done.
- unmanaged_
disks Sequence[ReplicatedVMUnmanaged Disk Args] - One or more
unmanaged_disk
block as defined below. Changing this forces a new resource to be created.
- recovery
Replication StringPolicy Id - Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
- recovery
Vault StringName - The name of the vault that should be updated. Changing this forces a new resource to be created.
- resource
Group StringName - 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 StringFabric Name - Name of fabric that should contain this replication. Changing this forces a new resource to be created.
- source
Recovery StringProtection Container Name - Name of the protection container to use. Changing this forces a new resource to be created.
- source
Vm StringId - Id of the VM to replicate Changing this forces a new resource to be created.
- target
Recovery StringFabric Id - Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
- target
Recovery StringProtection Container Id - Id of protection container where the VM replication should be created when a failover is done. Changing this forces a new resource to be created.
- target
Resource StringGroup Id - Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.
- managed
Disks List<Property Map> - 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 String
- 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 StringZone - Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- 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
Zone String - 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 List<Property Map> - One or more
unmanaged_disk
block as defined below. Changing this forces a new resource to be created.
Outputs
All input properties are implicitly available as output properties. Additionally, the ReplicatedVM resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Id string
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id str
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing ReplicatedVM Resource
Get an existing ReplicatedVM resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: ReplicatedVMState, opts?: CustomResourceOptions): ReplicatedVM
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
managed_disks: Optional[Sequence[ReplicatedVMManagedDiskArgs]] = None,
multi_vm_group_name: Optional[str] = None,
name: Optional[str] = None,
network_interfaces: Optional[Sequence[ReplicatedVMNetworkInterfaceArgs]] = None,
recovery_replication_policy_id: Optional[str] = None,
recovery_vault_name: Optional[str] = None,
resource_group_name: Optional[str] = None,
source_recovery_fabric_name: Optional[str] = None,
source_recovery_protection_container_name: Optional[str] = None,
source_vm_id: Optional[str] = None,
target_availability_set_id: Optional[str] = None,
target_boot_diagnostic_storage_account_id: Optional[str] = None,
target_capacity_reservation_group_id: Optional[str] = None,
target_edge_zone: Optional[str] = None,
target_network_id: Optional[str] = None,
target_proximity_placement_group_id: Optional[str] = None,
target_recovery_fabric_id: Optional[str] = None,
target_recovery_protection_container_id: Optional[str] = None,
target_resource_group_id: Optional[str] = None,
target_virtual_machine_scale_set_id: Optional[str] = None,
target_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)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Managed
Disks List<ReplicatedVMManaged 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 string
- 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 stringPolicy Id - Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
- Recovery
Vault stringName - The name of the vault that should be updated. Changing this forces a new resource to be created.
- Resource
Group stringName - 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 stringFabric Name - Name of fabric that should contain this replication. Changing this forces a new resource to be created.
- Source
Recovery stringProtection Container Name - Name of the protection container to use. Changing this forces a new resource to be created.
- Source
Vm stringId - 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 stringZone - Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- 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 stringFabric Id - Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
- Target
Recovery stringProtection Container Id - Id of protection container where the VM replication should be created when a failover is done. Changing this forces a new resource to be created.
- Target
Resource stringGroup Id - Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.
- 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
Zone string - 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 List<ReplicatedVMUnmanaged Disk> - One or more
unmanaged_disk
block as defined below. Changing this forces a new resource to be created.
- Managed
Disks []ReplicatedVMManaged 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 string
- 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 stringPolicy Id - Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
- Recovery
Vault stringName - The name of the vault that should be updated. Changing this forces a new resource to be created.
- Resource
Group stringName - 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 stringFabric Name - Name of fabric that should contain this replication. Changing this forces a new resource to be created.
- Source
Recovery stringProtection Container Name - Name of the protection container to use. Changing this forces a new resource to be created.
- Source
Vm stringId - 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 stringZone - Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- 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 stringFabric Id - Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
- Target
Recovery stringProtection Container Id - Id of protection container where the VM replication should be created when a failover is done. Changing this forces a new resource to be created.
- Target
Resource stringGroup Id - Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.
- 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
Zone string - 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 []ReplicatedVMUnmanaged Disk Args - One or more
unmanaged_disk
block as defined below. Changing this forces a new resource to be created.
- managed
Disks List<ReplicatedVMManaged 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 String
- 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 StringPolicy Id - Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
- recovery
Vault StringName - The name of the vault that should be updated. Changing this forces a new resource to be created.
- resource
Group StringName - 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 StringFabric Name - Name of fabric that should contain this replication. Changing this forces a new resource to be created.
- source
Recovery StringProtection Container Name - Name of the protection container to use. Changing this forces a new resource to be created.
- source
Vm StringId - 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 StringZone - Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- 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 StringFabric Id - Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
- target
Recovery StringProtection Container Id - Id of protection container where the VM replication should be created when a failover is done. Changing this forces a new resource to be created.
- target
Resource StringGroup Id - Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.
- 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
Zone String - 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 List<ReplicatedVMUnmanaged Disk> - One or more
unmanaged_disk
block as defined below. Changing this forces a new resource to be created.
- managed
Disks ReplicatedVMManaged 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 string
- 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 stringPolicy Id - Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
- recovery
Vault stringName - The name of the vault that should be updated. Changing this forces a new resource to be created.
- resource
Group stringName - 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 stringFabric Name - Name of fabric that should contain this replication. Changing this forces a new resource to be created.
- source
Recovery stringProtection Container Name - Name of the protection container to use. Changing this forces a new resource to be created.
- source
Vm stringId - 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 stringZone - Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- 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 stringFabric Id - Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
- target
Recovery stringProtection Container Id - Id of protection container where the VM replication should be created when a failover is done. Changing this forces a new resource to be created.
- target
Resource stringGroup Id - Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.
- 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
Zone string - 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 ReplicatedVMUnmanaged Disk[] - One or more
unmanaged_disk
block as defined below. Changing this forces a new resource to be created.
- managed_
disks Sequence[ReplicatedVMManaged 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 str
- The name of the replication for the replicated VM. Changing this forces a new resource to be created.
- network_
interfaces Sequence[ReplicatedVMNetwork Interface Args] - One or more
network_interface
block as defined below. - recovery_
replication_ strpolicy_ id - Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
- recovery_
vault_ strname - The name of the vault that should be updated. Changing this forces a new resource to be created.
- resource_
group_ strname - Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
- source_
recovery_ strfabric_ name - Name of fabric that should contain this replication. Changing this forces a new resource to be created.
- source_
recovery_ strprotection_ container_ name - Name of the protection container to use. Changing this forces a new resource to be created.
- source_
vm_ strid - Id of the VM to replicate Changing this forces a new resource to be created.
- target_
availability_ strset_ id - Id of availability set that the new VM should belong to when a failover is done.
- target_
boot_ strdiagnostic_ storage_ account_ id - Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
- target_
capacity_ strreservation_ group_ id - Id of the Capacity reservation group where the new VM should belong to when a failover is done.
- target_
edge_ strzone - Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- target_
network_ strid - Network to use when a failover is done (recommended to set if any network_interface is configured for failover).
- target_
proximity_ strplacement_ group_ id - Id of Proximity Placement Group the new VM should belong to when a failover is done.
- target_
recovery_ strfabric_ id - Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
- target_
recovery_ strprotection_ container_ id - Id of protection container where the VM replication should be created when a failover is done. Changing this forces a new resource to be created.
- target_
resource_ strgroup_ id - Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.
- target_
virtual_ strmachine_ scale_ set_ id - Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
- target_
zone str - Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
- test_
network_ strid - Network to use when a test failover is done.
- unmanaged_
disks Sequence[ReplicatedVMUnmanaged Disk Args] - One or more
unmanaged_disk
block as defined below. Changing this forces a new resource to be created.
- managed
Disks List<Property Map> - 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 String
- 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 StringPolicy Id - Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
- recovery
Vault StringName - The name of the vault that should be updated. Changing this forces a new resource to be created.
- resource
Group StringName - 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 StringFabric Name - Name of fabric that should contain this replication. Changing this forces a new resource to be created.
- source
Recovery StringProtection Container Name - Name of the protection container to use. Changing this forces a new resource to be created.
- source
Vm StringId - 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 StringZone - Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
- 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 StringFabric Id - Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
- target
Recovery StringProtection Container Id - Id of protection container where the VM replication should be created when a failover is done. Changing this forces a new resource to be created.
- target
Resource StringGroup Id - Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.
- 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
Zone String - 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 List<Property Map> - One or more
unmanaged_disk
block as defined below. Changing this forces a new resource to be created.
Supporting Types
ReplicatedVMManagedDisk, ReplicatedVMManagedDiskArgs
- Disk
Id string - Id of disk that should be replicated. Changing this forces a new resource to be created.
- Staging
Storage stringAccount Id - Storage account that should be used for caching. Changing this forces a new resource to be created.
- Target
Disk stringType - 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 stringDisk Type - 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 stringGroup Id - Resource group disk should belong to when a failover is done. Changing this forces a new resource to be created.
- Target
Disk ReplicatedEncryption VMManaged Disk Target Disk Encryption - A
target_disk_encryption
block as defined below. - Target
Disk stringEncryption Set Id The Disk Encryption Set that the Managed Disk will be associated with. Changing this forces a new resource to be created.
NOTE: Creating replicated vm with
target_disk_encryption_set_id
wil take more time (up to 5 hours), please extend thetimeout
forcreate
.
- Disk
Id string - Id of disk that should be replicated. Changing this forces a new resource to be created.
- Staging
Storage stringAccount Id - Storage account that should be used for caching. Changing this forces a new resource to be created.
- Target
Disk stringType - 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 stringDisk Type - 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 stringGroup Id - Resource group disk should belong to when a failover is done. Changing this forces a new resource to be created.
- Target
Disk ReplicatedEncryption VMManaged Disk Target Disk Encryption - A
target_disk_encryption
block as defined below. - Target
Disk stringEncryption Set Id The Disk Encryption Set that the Managed Disk will be associated with. Changing this forces a new resource to be created.
NOTE: Creating replicated vm with
target_disk_encryption_set_id
wil take more time (up to 5 hours), please extend thetimeout
forcreate
.
- disk
Id String - Id of disk that should be replicated. Changing this forces a new resource to be created.
- staging
Storage StringAccount Id - Storage account that should be used for caching. Changing this forces a new resource to be created.
- target
Disk StringType - 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 StringDisk Type - 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 StringGroup Id - Resource group disk should belong to when a failover is done. Changing this forces a new resource to be created.
- target
Disk ReplicatedEncryption VMManaged Disk Target Disk Encryption - A
target_disk_encryption
block as defined below. - target
Disk StringEncryption Set Id The Disk Encryption Set that the Managed Disk will be associated with. Changing this forces a new resource to be created.
NOTE: Creating replicated vm with
target_disk_encryption_set_id
wil take more time (up to 5 hours), please extend thetimeout
forcreate
.
- disk
Id string - Id of disk that should be replicated. Changing this forces a new resource to be created.
- staging
Storage stringAccount Id - Storage account that should be used for caching. Changing this forces a new resource to be created.
- target
Disk stringType - 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 stringDisk Type - 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 stringGroup Id - Resource group disk should belong to when a failover is done. Changing this forces a new resource to be created.
- target
Disk ReplicatedEncryption VMManaged Disk Target Disk Encryption - A
target_disk_encryption
block as defined below. - target
Disk stringEncryption Set Id The Disk Encryption Set that the Managed Disk will be associated with. Changing this forces a new resource to be created.
NOTE: Creating replicated vm with
target_disk_encryption_set_id
wil take more time (up to 5 hours), please extend thetimeout
forcreate
.
- disk_
id str - Id of disk that should be replicated. Changing this forces a new resource to be created.
- staging_
storage_ straccount_ id - Storage account that should be used for caching. Changing this forces a new resource to be created.
- target_
disk_ strtype - What type should the disk be when a failover is done. Possible values are
Standard_LRS
,Premium_LRS
,StandardSSD_LRS
andUltraSSD_LRS
. Changing this forces a new resource to be created. - target_
replica_ strdisk_ type - What type should the disk be that holds the replication data. Possible values are
Standard_LRS
,Premium_LRS
,StandardSSD_LRS
andUltraSSD_LRS
. Changing this forces a new resource to be created. - target_
resource_ strgroup_ id - Resource group disk should belong to when a failover is done. Changing this forces a new resource to be created.
- target_
disk_ Replicatedencryption VMManaged Disk Target Disk Encryption - A
target_disk_encryption
block as defined below. - target_
disk_ strencryption_ set_ id The Disk Encryption Set that the Managed Disk will be associated with. Changing this forces a new resource to be created.
NOTE: Creating replicated vm with
target_disk_encryption_set_id
wil take more time (up to 5 hours), please extend thetimeout
forcreate
.
- disk
Id String - Id of disk that should be replicated. Changing this forces a new resource to be created.
- staging
Storage StringAccount Id - Storage account that should be used for caching. Changing this forces a new resource to be created.
- target
Disk StringType - 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 StringDisk Type - 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 StringGroup Id - 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 StringEncryption Set Id The Disk Encryption Set that the Managed Disk will be associated with. Changing this forces a new resource to be created.
NOTE: Creating replicated vm with
target_disk_encryption_set_id
wil take more time (up to 5 hours), please extend thetimeout
forcreate
.
ReplicatedVMManagedDiskTargetDiskEncryption, ReplicatedVMManagedDiskTargetDiskEncryptionArgs
- Disk
Encryption ReplicatedKey VMManaged 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 ReplicatedKey VMManaged 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 ReplicatedKey VMManaged 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 ReplicatedKey VMManaged 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_ Replicatedkey VMManaged 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 Property MapKey - A
disk_encryption_key
block as defined below. - key
Encryption Property MapKey - A
key_encryption_key
block as defined below.
ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKey, ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyArgs
- Secret
Url string - The URL to the Key Vault Secret used as the Disk Encryption Key that the Managed Disk will be associated with. This can be found as
id
on theazure.keyvault.Secret
resource. Changing this forces a new resource to be created. - Vault
Id string - 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 string - The URL to the Key Vault Secret used as the Disk Encryption Key that the Managed Disk will be associated with. This can be found as
id
on theazure.keyvault.Secret
resource. Changing this forces a new resource to be created. - Vault
Id string - 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 String - The URL to the Key Vault Secret used as the Disk Encryption Key that the Managed Disk will be associated with. This can be found as
id
on theazure.keyvault.Secret
resource. Changing this forces a new resource to be created. - vault
Id String - 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 string - The URL to the Key Vault Secret used as the Disk Encryption Key that the Managed Disk will be associated with. This can be found as
id
on theazure.keyvault.Secret
resource. Changing this forces a new resource to be created. - vault
Id string - 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 str - The URL to the Key Vault Secret used as the Disk Encryption Key that the Managed Disk will be associated with. This can be found as
id
on theazure.keyvault.Secret
resource. Changing this forces a new resource to be created. - vault_
id str - 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 String - The URL to the Key Vault Secret used as the Disk Encryption Key that the Managed Disk will be associated with. This can be found as
id
on theazure.keyvault.Secret
resource. Changing this forces a new resource to be created. - vault
Id String - 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 string - The URL to the Key Vault Key used as the Key Encryption Key that the Managed Disk will be associated with. This can be found as
id
on theazure.keyvault.Key
resource. Changing this forces a new resource to be created. - Vault
Id string - 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 string - The URL to the Key Vault Key used as the Key Encryption Key that the Managed Disk will be associated with. This can be found as
id
on theazure.keyvault.Key
resource. Changing this forces a new resource to be created. - Vault
Id string - 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 String - The URL to the Key Vault Key used as the Key Encryption Key that the Managed Disk will be associated with. This can be found as
id
on theazure.keyvault.Key
resource. Changing this forces a new resource to be created. - vault
Id String - 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 string - The URL to the Key Vault Key used as the Key Encryption Key that the Managed Disk will be associated with. This can be found as
id
on theazure.keyvault.Key
resource. Changing this forces a new resource to be created. - vault
Id string - 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 str - The URL to the Key Vault Key used as the Key Encryption Key that the Managed Disk will be associated with. This can be found as
id
on theazure.keyvault.Key
resource. Changing this forces a new resource to be created. - vault_
id str - 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 String - The URL to the Key Vault Key used as the Key Encryption Key that the Managed Disk will be associated with. This can be found as
id
on theazure.keyvault.Key
resource. Changing this forces a new resource to be created. - vault
Id String - 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 to use when a test 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 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 to use when a test 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 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 to use when a test 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 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 to use when a test 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 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 to use when a test 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 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 to use when a test 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 to use when a failover is done.
ReplicatedVMUnmanagedDisk, ReplicatedVMUnmanagedDiskArgs
- Disk
Uri string - Id of disk that should be replicated. Changing this forces a new resource to be created.
- Staging
Storage stringAccount Id - Storage account that should be used for caching. Changing this forces a new resource to be created.
- Target
Storage stringAccount Id - Storage account disk should belong to when a failover is done. Changing this forces a new resource to be created.
- Disk
Uri string - Id of disk that should be replicated. Changing this forces a new resource to be created.
- Staging
Storage stringAccount Id - Storage account that should be used for caching. Changing this forces a new resource to be created.
- Target
Storage stringAccount Id - Storage account disk should belong to when a failover is done. Changing this forces a new resource to be created.
- disk
Uri String - Id of disk that should be replicated. Changing this forces a new resource to be created.
- staging
Storage StringAccount Id - Storage account that should be used for caching. Changing this forces a new resource to be created.
- target
Storage StringAccount Id - Storage account disk should belong to when a failover is done. Changing this forces a new resource to be created.
- disk
Uri string - Id of disk that should be replicated. Changing this forces a new resource to be created.
- staging
Storage stringAccount Id - Storage account that should be used for caching. Changing this forces a new resource to be created.
- target
Storage stringAccount Id - Storage account disk should belong to when a failover is done. Changing this forces a new resource to be created.
- disk_
uri str - Id of disk that should be replicated. Changing this forces a new resource to be created.
- staging_
storage_ straccount_ id - Storage account that should be used for caching. Changing this forces a new resource to be created.
- target_
storage_ straccount_ id - Storage account disk should belong to when a failover is done. Changing this forces a new resource to be created.
- disk
Uri String - Id of disk that should be replicated. Changing this forces a new resource to be created.
- staging
Storage StringAccount Id - Storage account that should be used for caching. Changing this forces a new resource to be created.
- target
Storage StringAccount Id - Storage account disk should belong to when a failover is done. Changing this forces a new resource to be created.
Import
Site Recovery Replicated VM’s can be imported using the resource id
, e.g.
$ pulumi import azure:siterecovery/replicatedVM:ReplicatedVM vmreplication /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.RecoveryServices/vaults/recovery-vault-name/replicationFabrics/fabric-name/replicationProtectionContainers/protection-container-name/replicationProtectedItems/vm-replication-name
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Azure Classic pulumi/pulumi-azure
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
azurerm
Terraform Provider.