siterecovery

package
v3.26.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 16, 2020 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Fabric

type Fabric struct {
	pulumi.CustomResourceState

	// In what region should the fabric be located.
	Location pulumi.StringOutput `pulumi:"location"`
	// The name of the network mapping.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the vault that should be updated.
	RecoveryVaultName pulumi.StringOutput `pulumi:"recoveryVaultName"`
	// Name of the resource group where the vault that should be updated is located.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
}

Manages a Azure Site Recovery Replication Fabric within a Recovery Services vault. Only Azure fabrics are supported at this time. Replication Fabrics serve as a container within an Azure region for other Site Recovery resources such as protection containers, protected items, network mappings.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/recoveryservices"
"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/siterecovery"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := core.NewResourceGroup(ctx, "primary", &core.ResourceGroupArgs{
			Location: pulumi.String("West US"),
		})
		if err != nil {
			return err
		}
		secondary, err := core.NewResourceGroup(ctx, "secondary", &core.ResourceGroupArgs{
			Location: pulumi.String("East US"),
		})
		if err != nil {
			return err
		}
		vault, err := recoveryservices.NewVault(ctx, "vault", &recoveryservices.VaultArgs{
			Location:          secondary.Location,
			ResourceGroupName: secondary.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewFabric(ctx, "fabric", &siterecovery.FabricArgs{
			ResourceGroupName: secondary.Name,
			RecoveryVaultName: vault.Name,
			Location:          primary.Location,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetFabric

func GetFabric(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FabricState, opts ...pulumi.ResourceOption) (*Fabric, error)

GetFabric gets an existing Fabric resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewFabric

func NewFabric(ctx *pulumi.Context,
	name string, args *FabricArgs, opts ...pulumi.ResourceOption) (*Fabric, error)

NewFabric registers a new resource with the given unique name, arguments, and options.

type FabricArgs

type FabricArgs struct {
	// In what region should the fabric be located.
	Location pulumi.StringPtrInput
	// The name of the network mapping.
	Name pulumi.StringPtrInput
	// The name of the vault that should be updated.
	RecoveryVaultName pulumi.StringInput
	// Name of the resource group where the vault that should be updated is located.
	ResourceGroupName pulumi.StringInput
}

The set of arguments for constructing a Fabric resource.

func (FabricArgs) ElementType

func (FabricArgs) ElementType() reflect.Type

type FabricState

type FabricState struct {
	// In what region should the fabric be located.
	Location pulumi.StringPtrInput
	// The name of the network mapping.
	Name pulumi.StringPtrInput
	// The name of the vault that should be updated.
	RecoveryVaultName pulumi.StringPtrInput
	// Name of the resource group where the vault that should be updated is located.
	ResourceGroupName pulumi.StringPtrInput
}

func (FabricState) ElementType

func (FabricState) ElementType() reflect.Type

type NetworkMapping

type NetworkMapping struct {
	pulumi.CustomResourceState

	// The name of the network mapping.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the vault that should be updated.
	RecoveryVaultName pulumi.StringOutput `pulumi:"recoveryVaultName"`
	// Name of the resource group where the vault that should be updated is located.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// The id of the primary network.
	SourceNetworkId pulumi.StringOutput `pulumi:"sourceNetworkId"`
	// Specifies the ASR fabric where mapping should be created.
	SourceRecoveryFabricName pulumi.StringOutput `pulumi:"sourceRecoveryFabricName"`
	// The id of the recovery network.
	TargetNetworkId pulumi.StringOutput `pulumi:"targetNetworkId"`
	// The Azure Site Recovery fabric object corresponding to the recovery Azure region.
	TargetRecoveryFabricName pulumi.StringOutput `pulumi:"targetRecoveryFabricName"`
}

Manages a site recovery network mapping on Azure. A network mapping decides how to translate connected netwroks when a VM is migrated from one region to another.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/network"
"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/recoveryservices"
"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/siterecovery"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primaryResourceGroup, err := core.NewResourceGroup(ctx, "primaryResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West US"),
		})
		if err != nil {
			return err
		}
		secondaryResourceGroup, err := core.NewResourceGroup(ctx, "secondaryResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("East US"),
		})
		if err != nil {
			return err
		}
		vault, err := recoveryservices.NewVault(ctx, "vault", &recoveryservices.VaultArgs{
			Location:          secondaryResourceGroup.Location,
			ResourceGroupName: secondaryResourceGroup.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		primaryFabric, err := siterecovery.NewFabric(ctx, "primaryFabric", &siterecovery.FabricArgs{
			ResourceGroupName: secondaryResourceGroup.Name,
			RecoveryVaultName: vault.Name,
			Location:          primaryResourceGroup.Location,
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewFabric(ctx, "secondaryFabric", &siterecovery.FabricArgs{
			ResourceGroupName: secondaryResourceGroup.Name,
			RecoveryVaultName: vault.Name,
			Location:          secondaryResourceGroup.Location,
		}, pulumi.DependsOn([]pulumi.Resource{
			primaryFabric,
		}))
		if err != nil {
			return err
		}
		primaryVirtualNetwork, err := network.NewVirtualNetwork(ctx, "primaryVirtualNetwork", &network.VirtualNetworkArgs{
			ResourceGroupName: primaryResourceGroup.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("192.168.1.0/24"),
			},
			Location: primaryResourceGroup.Location,
		})
		if err != nil {
			return err
		}
		secondaryVirtualNetwork, err := network.NewVirtualNetwork(ctx, "secondaryVirtualNetwork", &network.VirtualNetworkArgs{
			ResourceGroupName: secondaryResourceGroup.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("192.168.2.0/24"),
			},
			Location: secondaryResourceGroup.Location,
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewNetworkMapping(ctx, "recovery_mapping", &siterecovery.NetworkMappingArgs{
			ResourceGroupName:        secondaryResourceGroup.Name,
			RecoveryVaultName:        vault.Name,
			SourceRecoveryFabricName: pulumi.String("primary-fabric"),
			TargetRecoveryFabricName: pulumi.String("secondary-fabric"),
			SourceNetworkId:          primaryVirtualNetwork.ID(),
			TargetNetworkId:          secondaryVirtualNetwork.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetNetworkMapping

func GetNetworkMapping(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NetworkMappingState, opts ...pulumi.ResourceOption) (*NetworkMapping, error)

GetNetworkMapping gets an existing NetworkMapping resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewNetworkMapping

func NewNetworkMapping(ctx *pulumi.Context,
	name string, args *NetworkMappingArgs, opts ...pulumi.ResourceOption) (*NetworkMapping, error)

NewNetworkMapping registers a new resource with the given unique name, arguments, and options.

type NetworkMappingArgs

type NetworkMappingArgs struct {
	// The name of the network mapping.
	Name pulumi.StringPtrInput
	// The name of the vault that should be updated.
	RecoveryVaultName pulumi.StringInput
	// Name of the resource group where the vault that should be updated is located.
	ResourceGroupName pulumi.StringInput
	// The id of the primary network.
	SourceNetworkId pulumi.StringInput
	// Specifies the ASR fabric where mapping should be created.
	SourceRecoveryFabricName pulumi.StringInput
	// The id of the recovery network.
	TargetNetworkId pulumi.StringInput
	// The Azure Site Recovery fabric object corresponding to the recovery Azure region.
	TargetRecoveryFabricName pulumi.StringInput
}

The set of arguments for constructing a NetworkMapping resource.

func (NetworkMappingArgs) ElementType

func (NetworkMappingArgs) ElementType() reflect.Type

type NetworkMappingState

type NetworkMappingState struct {
	// The name of the network mapping.
	Name pulumi.StringPtrInput
	// The name of the vault that should be updated.
	RecoveryVaultName pulumi.StringPtrInput
	// Name of the resource group where the vault that should be updated is located.
	ResourceGroupName pulumi.StringPtrInput
	// The id of the primary network.
	SourceNetworkId pulumi.StringPtrInput
	// Specifies the ASR fabric where mapping should be created.
	SourceRecoveryFabricName pulumi.StringPtrInput
	// The id of the recovery network.
	TargetNetworkId pulumi.StringPtrInput
	// The Azure Site Recovery fabric object corresponding to the recovery Azure region.
	TargetRecoveryFabricName pulumi.StringPtrInput
}

func (NetworkMappingState) ElementType

func (NetworkMappingState) ElementType() reflect.Type

type ProtectionContainer

type ProtectionContainer struct {
	pulumi.CustomResourceState

	// The name of the network mapping.
	Name pulumi.StringOutput `pulumi:"name"`
	// Name of fabric that should contain this protection container.
	RecoveryFabricName pulumi.StringOutput `pulumi:"recoveryFabricName"`
	// The name of the vault that should be updated.
	RecoveryVaultName pulumi.StringOutput `pulumi:"recoveryVaultName"`
	// Name of the resource group where the vault that should be updated is located.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
}

Manages a Azure Site Recovery protection container. Protection containers serve as containers for replicated VMs and belong to a single region / recovery fabric. Protection containers can contain more than one replicated VM. To replicate a VM, a container must exist in both the source and target Azure regions.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/recoveryservices"
"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/siterecovery"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := core.NewResourceGroup(ctx, "primary", &core.ResourceGroupArgs{
			Location: pulumi.String("West US"),
		})
		if err != nil {
			return err
		}
		secondary, err := core.NewResourceGroup(ctx, "secondary", &core.ResourceGroupArgs{
			Location: pulumi.String("East US"),
		})
		if err != nil {
			return err
		}
		vault, err := recoveryservices.NewVault(ctx, "vault", &recoveryservices.VaultArgs{
			Location:          secondary.Location,
			ResourceGroupName: secondary.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		fabric, err := siterecovery.NewFabric(ctx, "fabric", &siterecovery.FabricArgs{
			ResourceGroupName: secondary.Name,
			RecoveryVaultName: vault.Name,
			Location:          primary.Location,
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewProtectionContainer(ctx, "protection_container", &siterecovery.ProtectionContainerArgs{
			ResourceGroupName:  secondary.Name,
			RecoveryVaultName:  vault.Name,
			RecoveryFabricName: fabric.Name,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetProtectionContainer

func GetProtectionContainer(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ProtectionContainerState, opts ...pulumi.ResourceOption) (*ProtectionContainer, error)

GetProtectionContainer gets an existing ProtectionContainer resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewProtectionContainer

func NewProtectionContainer(ctx *pulumi.Context,
	name string, args *ProtectionContainerArgs, opts ...pulumi.ResourceOption) (*ProtectionContainer, error)

NewProtectionContainer registers a new resource with the given unique name, arguments, and options.

type ProtectionContainerArgs

type ProtectionContainerArgs struct {
	// The name of the network mapping.
	Name pulumi.StringPtrInput
	// Name of fabric that should contain this protection container.
	RecoveryFabricName pulumi.StringInput
	// The name of the vault that should be updated.
	RecoveryVaultName pulumi.StringInput
	// Name of the resource group where the vault that should be updated is located.
	ResourceGroupName pulumi.StringInput
}

The set of arguments for constructing a ProtectionContainer resource.

func (ProtectionContainerArgs) ElementType

func (ProtectionContainerArgs) ElementType() reflect.Type

type ProtectionContainerMapping

type ProtectionContainerMapping struct {
	pulumi.CustomResourceState

	// The name of the network mapping.
	Name pulumi.StringOutput `pulumi:"name"`
	// Name of fabric that should contains the protection container to map.
	RecoveryFabricName pulumi.StringOutput `pulumi:"recoveryFabricName"`
	// Id of the policy to use for this mapping.
	RecoveryReplicationPolicyId pulumi.StringOutput `pulumi:"recoveryReplicationPolicyId"`
	// Name of the source protection container to map.
	RecoverySourceProtectionContainerName pulumi.StringOutput `pulumi:"recoverySourceProtectionContainerName"`
	// Id of target protection container to map to.
	RecoveryTargetProtectionContainerId pulumi.StringOutput `pulumi:"recoveryTargetProtectionContainerId"`
	// The name of the vault that should be updated.
	RecoveryVaultName pulumi.StringOutput `pulumi:"recoveryVaultName"`
	// Name of the resource group where the vault that should be updated is located.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
}

Manages a Azure recovery vault protection container mapping. A protection container mapping decides how to translate the protection container when a VM is migrated from one region to another.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/recoveryservices"
"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/siterecovery"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primaryResourceGroup, err := core.NewResourceGroup(ctx, "primaryResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West US"),
		})
		if err != nil {
			return err
		}
		secondaryResourceGroup, err := core.NewResourceGroup(ctx, "secondaryResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("East US"),
		})
		if err != nil {
			return err
		}
		vault, err := recoveryservices.NewVault(ctx, "vault", &recoveryservices.VaultArgs{
			Location:          secondaryResourceGroup.Location,
			ResourceGroupName: secondaryResourceGroup.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		primaryFabric, err := siterecovery.NewFabric(ctx, "primaryFabric", &siterecovery.FabricArgs{
			ResourceGroupName: secondaryResourceGroup.Name,
			RecoveryVaultName: vault.Name,
			Location:          primaryResourceGroup.Location,
		})
		if err != nil {
			return err
		}
		secondaryFabric, err := siterecovery.NewFabric(ctx, "secondaryFabric", &siterecovery.FabricArgs{
			ResourceGroupName: secondaryResourceGroup.Name,
			RecoveryVaultName: vault.Name,
			Location:          secondaryResourceGroup.Location,
		})
		if err != nil {
			return err
		}
		primaryProtectionContainer, err := siterecovery.NewProtectionContainer(ctx, "primaryProtectionContainer", &siterecovery.ProtectionContainerArgs{
			ResourceGroupName:  secondaryResourceGroup.Name,
			RecoveryVaultName:  vault.Name,
			RecoveryFabricName: primaryFabric.Name,
		})
		if err != nil {
			return err
		}
		secondaryProtectionContainer, err := siterecovery.NewProtectionContainer(ctx, "secondaryProtectionContainer", &siterecovery.ProtectionContainerArgs{
			ResourceGroupName:  secondaryResourceGroup.Name,
			RecoveryVaultName:  vault.Name,
			RecoveryFabricName: secondaryFabric.Name,
		})
		if err != nil {
			return err
		}
		policy, err := siterecovery.NewReplicationPolicy(ctx, "policy", &siterecovery.ReplicationPolicyArgs{
			ResourceGroupName:                               secondaryResourceGroup.Name,
			RecoveryVaultName:                               vault.Name,
			RecoveryPointRetentionInMinutes:                 pulumi.Int(24 * 60),
			ApplicationConsistentSnapshotFrequencyInMinutes: pulumi.Int(4 * 60),
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewProtectionContainerMapping(ctx, "container_mapping", &siterecovery.ProtectionContainerMappingArgs{
			ResourceGroupName:                     secondaryResourceGroup.Name,
			RecoveryVaultName:                     vault.Name,
			RecoveryFabricName:                    primaryFabric.Name,
			RecoverySourceProtectionContainerName: primaryProtectionContainer.Name,
			RecoveryTargetProtectionContainerId:   secondaryProtectionContainer.ID(),
			RecoveryReplicationPolicyId:           policy.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetProtectionContainerMapping

func GetProtectionContainerMapping(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ProtectionContainerMappingState, opts ...pulumi.ResourceOption) (*ProtectionContainerMapping, error)

GetProtectionContainerMapping gets an existing ProtectionContainerMapping resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewProtectionContainerMapping

func NewProtectionContainerMapping(ctx *pulumi.Context,
	name string, args *ProtectionContainerMappingArgs, opts ...pulumi.ResourceOption) (*ProtectionContainerMapping, error)

NewProtectionContainerMapping registers a new resource with the given unique name, arguments, and options.

type ProtectionContainerMappingArgs

type ProtectionContainerMappingArgs struct {
	// The name of the network mapping.
	Name pulumi.StringPtrInput
	// Name of fabric that should contains the protection container to map.
	RecoveryFabricName pulumi.StringInput
	// Id of the policy to use for this mapping.
	RecoveryReplicationPolicyId pulumi.StringInput
	// Name of the source protection container to map.
	RecoverySourceProtectionContainerName pulumi.StringInput
	// Id of target protection container to map to.
	RecoveryTargetProtectionContainerId pulumi.StringInput
	// The name of the vault that should be updated.
	RecoveryVaultName pulumi.StringInput
	// Name of the resource group where the vault that should be updated is located.
	ResourceGroupName pulumi.StringInput
}

The set of arguments for constructing a ProtectionContainerMapping resource.

func (ProtectionContainerMappingArgs) ElementType

type ProtectionContainerMappingState

type ProtectionContainerMappingState struct {
	// The name of the network mapping.
	Name pulumi.StringPtrInput
	// Name of fabric that should contains the protection container to map.
	RecoveryFabricName pulumi.StringPtrInput
	// Id of the policy to use for this mapping.
	RecoveryReplicationPolicyId pulumi.StringPtrInput
	// Name of the source protection container to map.
	RecoverySourceProtectionContainerName pulumi.StringPtrInput
	// Id of target protection container to map to.
	RecoveryTargetProtectionContainerId pulumi.StringPtrInput
	// The name of the vault that should be updated.
	RecoveryVaultName pulumi.StringPtrInput
	// Name of the resource group where the vault that should be updated is located.
	ResourceGroupName pulumi.StringPtrInput
}

func (ProtectionContainerMappingState) ElementType

type ProtectionContainerState

type ProtectionContainerState struct {
	// The name of the network mapping.
	Name pulumi.StringPtrInput
	// Name of fabric that should contain this protection container.
	RecoveryFabricName pulumi.StringPtrInput
	// The name of the vault that should be updated.
	RecoveryVaultName pulumi.StringPtrInput
	// Name of the resource group where the vault that should be updated is located.
	ResourceGroupName pulumi.StringPtrInput
}

func (ProtectionContainerState) ElementType

func (ProtectionContainerState) ElementType() reflect.Type

type ReplicatedVM

type ReplicatedVM struct {
	pulumi.CustomResourceState

	// One or more `managedDisk` block.
	ManagedDisks ReplicatedVMManagedDiskArrayOutput `pulumi:"managedDisks"`
	// The name of the network mapping.
	Name pulumi.StringOutput `pulumi:"name"`
	// One or more `networkInterface` block.
	NetworkInterfaces           ReplicatedVMNetworkInterfaceArrayOutput `pulumi:"networkInterfaces"`
	RecoveryReplicationPolicyId pulumi.StringOutput                     `pulumi:"recoveryReplicationPolicyId"`
	// The name of the vault that should be updated.
	RecoveryVaultName pulumi.StringOutput `pulumi:"recoveryVaultName"`
	// Name of the resource group where the vault that should be updated is located.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// Name of fabric that should contains this replication.
	SourceRecoveryFabricName pulumi.StringOutput `pulumi:"sourceRecoveryFabricName"`
	// Name of the protection container to use.
	SourceRecoveryProtectionContainerName pulumi.StringOutput `pulumi:"sourceRecoveryProtectionContainerName"`
	// Id of the VM to replicate
	SourceVmId pulumi.StringOutput `pulumi:"sourceVmId"`
	// Id of availability set that the new VM should belong to when a failover is done.
	TargetAvailabilitySetId pulumi.StringPtrOutput `pulumi:"targetAvailabilitySetId"`
	// Network to use when a failover is done (recommended to set if any networkInterface is configured for failover).
	TargetNetworkId pulumi.StringOutput `pulumi:"targetNetworkId"`
	// Id of fabric where the VM replication should be handled when a failover is done.
	TargetRecoveryFabricId pulumi.StringOutput `pulumi:"targetRecoveryFabricId"`
	// Id of protection container where the VM replication should be created when a failover is done.
	TargetRecoveryProtectionContainerId pulumi.StringOutput `pulumi:"targetRecoveryProtectionContainerId"`
	// Id of resource group where the VM should be created when a failover is done.
	TargetResourceGroupId pulumi.StringOutput `pulumi:"targetResourceGroupId"`
}

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.

func GetReplicatedVM

func GetReplicatedVM(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ReplicatedVMState, opts ...pulumi.ResourceOption) (*ReplicatedVM, error)

GetReplicatedVM gets an existing ReplicatedVM resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewReplicatedVM

func NewReplicatedVM(ctx *pulumi.Context,
	name string, args *ReplicatedVMArgs, opts ...pulumi.ResourceOption) (*ReplicatedVM, error)

NewReplicatedVM registers a new resource with the given unique name, arguments, and options.

type ReplicatedVMArgs

type ReplicatedVMArgs struct {
	// One or more `managedDisk` block.
	ManagedDisks ReplicatedVMManagedDiskArrayInput
	// The name of the network mapping.
	Name pulumi.StringPtrInput
	// One or more `networkInterface` block.
	NetworkInterfaces           ReplicatedVMNetworkInterfaceArrayInput
	RecoveryReplicationPolicyId pulumi.StringInput
	// The name of the vault that should be updated.
	RecoveryVaultName pulumi.StringInput
	// Name of the resource group where the vault that should be updated is located.
	ResourceGroupName pulumi.StringInput
	// Name of fabric that should contains this replication.
	SourceRecoveryFabricName pulumi.StringInput
	// Name of the protection container to use.
	SourceRecoveryProtectionContainerName pulumi.StringInput
	// Id of the VM to replicate
	SourceVmId pulumi.StringInput
	// Id of availability set that the new VM should belong to when a failover is done.
	TargetAvailabilitySetId pulumi.StringPtrInput
	// Network to use when a failover is done (recommended to set if any networkInterface is configured for failover).
	TargetNetworkId pulumi.StringPtrInput
	// Id of fabric where the VM replication should be handled when a failover is done.
	TargetRecoveryFabricId pulumi.StringInput
	// Id of protection container where the VM replication should be created when a failover is done.
	TargetRecoveryProtectionContainerId pulumi.StringInput
	// Id of resource group where the VM should be created when a failover is done.
	TargetResourceGroupId pulumi.StringInput
}

The set of arguments for constructing a ReplicatedVM resource.

func (ReplicatedVMArgs) ElementType

func (ReplicatedVMArgs) ElementType() reflect.Type

type ReplicatedVMManagedDisk

type ReplicatedVMManagedDisk struct {
	// Id of disk that should be replicated.
	DiskId string `pulumi:"diskId"`
	// Storage account that should be used for caching.
	StagingStorageAccountId string `pulumi:"stagingStorageAccountId"`
	// What type should the disk be when a failover is done.
	TargetDiskType string `pulumi:"targetDiskType"`
	// What type should the disk be that holds the replication data.
	TargetReplicaDiskType string `pulumi:"targetReplicaDiskType"`
	// Resource group disk should belong to when a failover is done.
	TargetResourceGroupId string `pulumi:"targetResourceGroupId"`
}

type ReplicatedVMManagedDiskArgs

type ReplicatedVMManagedDiskArgs struct {
	// Id of disk that should be replicated.
	DiskId pulumi.StringInput `pulumi:"diskId"`
	// Storage account that should be used for caching.
	StagingStorageAccountId pulumi.StringInput `pulumi:"stagingStorageAccountId"`
	// What type should the disk be when a failover is done.
	TargetDiskType pulumi.StringInput `pulumi:"targetDiskType"`
	// What type should the disk be that holds the replication data.
	TargetReplicaDiskType pulumi.StringInput `pulumi:"targetReplicaDiskType"`
	// Resource group disk should belong to when a failover is done.
	TargetResourceGroupId pulumi.StringInput `pulumi:"targetResourceGroupId"`
}

func (ReplicatedVMManagedDiskArgs) ElementType

func (ReplicatedVMManagedDiskArgs) ToReplicatedVMManagedDiskOutput

func (i ReplicatedVMManagedDiskArgs) ToReplicatedVMManagedDiskOutput() ReplicatedVMManagedDiskOutput

func (ReplicatedVMManagedDiskArgs) ToReplicatedVMManagedDiskOutputWithContext

func (i ReplicatedVMManagedDiskArgs) ToReplicatedVMManagedDiskOutputWithContext(ctx context.Context) ReplicatedVMManagedDiskOutput

type ReplicatedVMManagedDiskArray

type ReplicatedVMManagedDiskArray []ReplicatedVMManagedDiskInput

func (ReplicatedVMManagedDiskArray) ElementType

func (ReplicatedVMManagedDiskArray) ToReplicatedVMManagedDiskArrayOutput

func (i ReplicatedVMManagedDiskArray) ToReplicatedVMManagedDiskArrayOutput() ReplicatedVMManagedDiskArrayOutput

func (ReplicatedVMManagedDiskArray) ToReplicatedVMManagedDiskArrayOutputWithContext

func (i ReplicatedVMManagedDiskArray) ToReplicatedVMManagedDiskArrayOutputWithContext(ctx context.Context) ReplicatedVMManagedDiskArrayOutput

type ReplicatedVMManagedDiskArrayInput

type ReplicatedVMManagedDiskArrayInput interface {
	pulumi.Input

	ToReplicatedVMManagedDiskArrayOutput() ReplicatedVMManagedDiskArrayOutput
	ToReplicatedVMManagedDiskArrayOutputWithContext(context.Context) ReplicatedVMManagedDiskArrayOutput
}

ReplicatedVMManagedDiskArrayInput is an input type that accepts ReplicatedVMManagedDiskArray and ReplicatedVMManagedDiskArrayOutput values. You can construct a concrete instance of `ReplicatedVMManagedDiskArrayInput` via:

ReplicatedVMManagedDiskArray{ ReplicatedVMManagedDiskArgs{...} }

type ReplicatedVMManagedDiskArrayOutput

type ReplicatedVMManagedDiskArrayOutput struct{ *pulumi.OutputState }

func (ReplicatedVMManagedDiskArrayOutput) ElementType

func (ReplicatedVMManagedDiskArrayOutput) Index

func (ReplicatedVMManagedDiskArrayOutput) ToReplicatedVMManagedDiskArrayOutput

func (o ReplicatedVMManagedDiskArrayOutput) ToReplicatedVMManagedDiskArrayOutput() ReplicatedVMManagedDiskArrayOutput

func (ReplicatedVMManagedDiskArrayOutput) ToReplicatedVMManagedDiskArrayOutputWithContext

func (o ReplicatedVMManagedDiskArrayOutput) ToReplicatedVMManagedDiskArrayOutputWithContext(ctx context.Context) ReplicatedVMManagedDiskArrayOutput

type ReplicatedVMManagedDiskInput

type ReplicatedVMManagedDiskInput interface {
	pulumi.Input

	ToReplicatedVMManagedDiskOutput() ReplicatedVMManagedDiskOutput
	ToReplicatedVMManagedDiskOutputWithContext(context.Context) ReplicatedVMManagedDiskOutput
}

ReplicatedVMManagedDiskInput is an input type that accepts ReplicatedVMManagedDiskArgs and ReplicatedVMManagedDiskOutput values. You can construct a concrete instance of `ReplicatedVMManagedDiskInput` via:

ReplicatedVMManagedDiskArgs{...}

type ReplicatedVMManagedDiskOutput

type ReplicatedVMManagedDiskOutput struct{ *pulumi.OutputState }

func (ReplicatedVMManagedDiskOutput) DiskId

Id of disk that should be replicated.

func (ReplicatedVMManagedDiskOutput) ElementType

func (ReplicatedVMManagedDiskOutput) StagingStorageAccountId

func (o ReplicatedVMManagedDiskOutput) StagingStorageAccountId() pulumi.StringOutput

Storage account that should be used for caching.

func (ReplicatedVMManagedDiskOutput) TargetDiskType

What type should the disk be when a failover is done.

func (ReplicatedVMManagedDiskOutput) TargetReplicaDiskType

func (o ReplicatedVMManagedDiskOutput) TargetReplicaDiskType() pulumi.StringOutput

What type should the disk be that holds the replication data.

func (ReplicatedVMManagedDiskOutput) TargetResourceGroupId

func (o ReplicatedVMManagedDiskOutput) TargetResourceGroupId() pulumi.StringOutput

Resource group disk should belong to when a failover is done.

func (ReplicatedVMManagedDiskOutput) ToReplicatedVMManagedDiskOutput

func (o ReplicatedVMManagedDiskOutput) ToReplicatedVMManagedDiskOutput() ReplicatedVMManagedDiskOutput

func (ReplicatedVMManagedDiskOutput) ToReplicatedVMManagedDiskOutputWithContext

func (o ReplicatedVMManagedDiskOutput) ToReplicatedVMManagedDiskOutputWithContext(ctx context.Context) ReplicatedVMManagedDiskOutput

type ReplicatedVMNetworkInterface added in v3.16.0

type ReplicatedVMNetworkInterface struct {
	// Id source network interface.
	SourceNetworkInterfaceId *string `pulumi:"sourceNetworkInterfaceId"`
	// Static IP to assign when a failover is done.
	TargetStaticIp *string `pulumi:"targetStaticIp"`
	// Name of the subnet to to use when a failover is done.
	TargetSubnetName *string `pulumi:"targetSubnetName"`
}

type ReplicatedVMNetworkInterfaceArgs added in v3.16.0

type ReplicatedVMNetworkInterfaceArgs struct {
	// Id source network interface.
	SourceNetworkInterfaceId pulumi.StringPtrInput `pulumi:"sourceNetworkInterfaceId"`
	// Static IP to assign when a failover is done.
	TargetStaticIp pulumi.StringPtrInput `pulumi:"targetStaticIp"`
	// Name of the subnet to to use when a failover is done.
	TargetSubnetName pulumi.StringPtrInput `pulumi:"targetSubnetName"`
}

func (ReplicatedVMNetworkInterfaceArgs) ElementType added in v3.16.0

func (ReplicatedVMNetworkInterfaceArgs) ToReplicatedVMNetworkInterfaceOutput added in v3.16.0

func (i ReplicatedVMNetworkInterfaceArgs) ToReplicatedVMNetworkInterfaceOutput() ReplicatedVMNetworkInterfaceOutput

func (ReplicatedVMNetworkInterfaceArgs) ToReplicatedVMNetworkInterfaceOutputWithContext added in v3.16.0

func (i ReplicatedVMNetworkInterfaceArgs) ToReplicatedVMNetworkInterfaceOutputWithContext(ctx context.Context) ReplicatedVMNetworkInterfaceOutput

type ReplicatedVMNetworkInterfaceArray added in v3.16.0

type ReplicatedVMNetworkInterfaceArray []ReplicatedVMNetworkInterfaceInput

func (ReplicatedVMNetworkInterfaceArray) ElementType added in v3.16.0

func (ReplicatedVMNetworkInterfaceArray) ToReplicatedVMNetworkInterfaceArrayOutput added in v3.16.0

func (i ReplicatedVMNetworkInterfaceArray) ToReplicatedVMNetworkInterfaceArrayOutput() ReplicatedVMNetworkInterfaceArrayOutput

func (ReplicatedVMNetworkInterfaceArray) ToReplicatedVMNetworkInterfaceArrayOutputWithContext added in v3.16.0

func (i ReplicatedVMNetworkInterfaceArray) ToReplicatedVMNetworkInterfaceArrayOutputWithContext(ctx context.Context) ReplicatedVMNetworkInterfaceArrayOutput

type ReplicatedVMNetworkInterfaceArrayInput added in v3.16.0

type ReplicatedVMNetworkInterfaceArrayInput interface {
	pulumi.Input

	ToReplicatedVMNetworkInterfaceArrayOutput() ReplicatedVMNetworkInterfaceArrayOutput
	ToReplicatedVMNetworkInterfaceArrayOutputWithContext(context.Context) ReplicatedVMNetworkInterfaceArrayOutput
}

ReplicatedVMNetworkInterfaceArrayInput is an input type that accepts ReplicatedVMNetworkInterfaceArray and ReplicatedVMNetworkInterfaceArrayOutput values. You can construct a concrete instance of `ReplicatedVMNetworkInterfaceArrayInput` via:

ReplicatedVMNetworkInterfaceArray{ ReplicatedVMNetworkInterfaceArgs{...} }

type ReplicatedVMNetworkInterfaceArrayOutput added in v3.16.0

type ReplicatedVMNetworkInterfaceArrayOutput struct{ *pulumi.OutputState }

func (ReplicatedVMNetworkInterfaceArrayOutput) ElementType added in v3.16.0

func (ReplicatedVMNetworkInterfaceArrayOutput) Index added in v3.16.0

func (ReplicatedVMNetworkInterfaceArrayOutput) ToReplicatedVMNetworkInterfaceArrayOutput added in v3.16.0

func (o ReplicatedVMNetworkInterfaceArrayOutput) ToReplicatedVMNetworkInterfaceArrayOutput() ReplicatedVMNetworkInterfaceArrayOutput

func (ReplicatedVMNetworkInterfaceArrayOutput) ToReplicatedVMNetworkInterfaceArrayOutputWithContext added in v3.16.0

func (o ReplicatedVMNetworkInterfaceArrayOutput) ToReplicatedVMNetworkInterfaceArrayOutputWithContext(ctx context.Context) ReplicatedVMNetworkInterfaceArrayOutput

type ReplicatedVMNetworkInterfaceInput added in v3.16.0

type ReplicatedVMNetworkInterfaceInput interface {
	pulumi.Input

	ToReplicatedVMNetworkInterfaceOutput() ReplicatedVMNetworkInterfaceOutput
	ToReplicatedVMNetworkInterfaceOutputWithContext(context.Context) ReplicatedVMNetworkInterfaceOutput
}

ReplicatedVMNetworkInterfaceInput is an input type that accepts ReplicatedVMNetworkInterfaceArgs and ReplicatedVMNetworkInterfaceOutput values. You can construct a concrete instance of `ReplicatedVMNetworkInterfaceInput` via:

ReplicatedVMNetworkInterfaceArgs{...}

type ReplicatedVMNetworkInterfaceOutput added in v3.16.0

type ReplicatedVMNetworkInterfaceOutput struct{ *pulumi.OutputState }

func (ReplicatedVMNetworkInterfaceOutput) ElementType added in v3.16.0

func (ReplicatedVMNetworkInterfaceOutput) SourceNetworkInterfaceId added in v3.16.0

func (o ReplicatedVMNetworkInterfaceOutput) SourceNetworkInterfaceId() pulumi.StringPtrOutput

Id source network interface.

func (ReplicatedVMNetworkInterfaceOutput) TargetStaticIp added in v3.16.0

Static IP to assign when a failover is done.

func (ReplicatedVMNetworkInterfaceOutput) TargetSubnetName added in v3.16.0

Name of the subnet to to use when a failover is done.

func (ReplicatedVMNetworkInterfaceOutput) ToReplicatedVMNetworkInterfaceOutput added in v3.16.0

func (o ReplicatedVMNetworkInterfaceOutput) ToReplicatedVMNetworkInterfaceOutput() ReplicatedVMNetworkInterfaceOutput

func (ReplicatedVMNetworkInterfaceOutput) ToReplicatedVMNetworkInterfaceOutputWithContext added in v3.16.0

func (o ReplicatedVMNetworkInterfaceOutput) ToReplicatedVMNetworkInterfaceOutputWithContext(ctx context.Context) ReplicatedVMNetworkInterfaceOutput

type ReplicatedVMState

type ReplicatedVMState struct {
	// One or more `managedDisk` block.
	ManagedDisks ReplicatedVMManagedDiskArrayInput
	// The name of the network mapping.
	Name pulumi.StringPtrInput
	// One or more `networkInterface` block.
	NetworkInterfaces           ReplicatedVMNetworkInterfaceArrayInput
	RecoveryReplicationPolicyId pulumi.StringPtrInput
	// The name of the vault that should be updated.
	RecoveryVaultName pulumi.StringPtrInput
	// Name of the resource group where the vault that should be updated is located.
	ResourceGroupName pulumi.StringPtrInput
	// Name of fabric that should contains this replication.
	SourceRecoveryFabricName pulumi.StringPtrInput
	// Name of the protection container to use.
	SourceRecoveryProtectionContainerName pulumi.StringPtrInput
	// Id of the VM to replicate
	SourceVmId pulumi.StringPtrInput
	// Id of availability set that the new VM should belong to when a failover is done.
	TargetAvailabilitySetId pulumi.StringPtrInput
	// Network to use when a failover is done (recommended to set if any networkInterface is configured for failover).
	TargetNetworkId pulumi.StringPtrInput
	// Id of fabric where the VM replication should be handled when a failover is done.
	TargetRecoveryFabricId pulumi.StringPtrInput
	// Id of protection container where the VM replication should be created when a failover is done.
	TargetRecoveryProtectionContainerId pulumi.StringPtrInput
	// Id of resource group where the VM should be created when a failover is done.
	TargetResourceGroupId pulumi.StringPtrInput
}

func (ReplicatedVMState) ElementType

func (ReplicatedVMState) ElementType() reflect.Type

type ReplicationPolicy

type ReplicationPolicy struct {
	pulumi.CustomResourceState

	// Specifies the frequency(in minutes) at which to create application consistent recovery points.
	ApplicationConsistentSnapshotFrequencyInMinutes pulumi.IntOutput `pulumi:"applicationConsistentSnapshotFrequencyInMinutes"`
	// The name of the network mapping.
	Name pulumi.StringOutput `pulumi:"name"`
	// The duration in minutes for which the recovery points need to be stored.
	RecoveryPointRetentionInMinutes pulumi.IntOutput `pulumi:"recoveryPointRetentionInMinutes"`
	// The name of the vault that should be updated.
	RecoveryVaultName pulumi.StringOutput `pulumi:"recoveryVaultName"`
	// Name of the resource group where the vault that should be updated is located.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
}

Manages a Azure Site Recovery replication policy within a recovery vault. Replication policies define the frequency at which recovery points are created and how long they are stored.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/recoveryservices"
"github.com/pulumi/pulumi-azure/sdk/v3/go/azure/siterecovery"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		secondary, err := core.NewResourceGroup(ctx, "secondary", &core.ResourceGroupArgs{
			Location: pulumi.String("East US"),
		})
		if err != nil {
			return err
		}
		vault, err := recoveryservices.NewVault(ctx, "vault", &recoveryservices.VaultArgs{
			Location:          secondary.Location,
			ResourceGroupName: secondary.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewReplicationPolicy(ctx, "policy", &siterecovery.ReplicationPolicyArgs{
			ResourceGroupName:                               secondary.Name,
			RecoveryVaultName:                               vault.Name,
			RecoveryPointRetentionInMinutes:                 pulumi.Int(24 * 60),
			ApplicationConsistentSnapshotFrequencyInMinutes: pulumi.Int(4 * 60),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetReplicationPolicy

func GetReplicationPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ReplicationPolicyState, opts ...pulumi.ResourceOption) (*ReplicationPolicy, error)

GetReplicationPolicy gets an existing ReplicationPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewReplicationPolicy

func NewReplicationPolicy(ctx *pulumi.Context,
	name string, args *ReplicationPolicyArgs, opts ...pulumi.ResourceOption) (*ReplicationPolicy, error)

NewReplicationPolicy registers a new resource with the given unique name, arguments, and options.

type ReplicationPolicyArgs

type ReplicationPolicyArgs struct {
	// Specifies the frequency(in minutes) at which to create application consistent recovery points.
	ApplicationConsistentSnapshotFrequencyInMinutes pulumi.IntInput
	// The name of the network mapping.
	Name pulumi.StringPtrInput
	// The duration in minutes for which the recovery points need to be stored.
	RecoveryPointRetentionInMinutes pulumi.IntInput
	// The name of the vault that should be updated.
	RecoveryVaultName pulumi.StringInput
	// Name of the resource group where the vault that should be updated is located.
	ResourceGroupName pulumi.StringInput
}

The set of arguments for constructing a ReplicationPolicy resource.

func (ReplicationPolicyArgs) ElementType

func (ReplicationPolicyArgs) ElementType() reflect.Type

type ReplicationPolicyState

type ReplicationPolicyState struct {
	// Specifies the frequency(in minutes) at which to create application consistent recovery points.
	ApplicationConsistentSnapshotFrequencyInMinutes pulumi.IntPtrInput
	// The name of the network mapping.
	Name pulumi.StringPtrInput
	// The duration in minutes for which the recovery points need to be stored.
	RecoveryPointRetentionInMinutes pulumi.IntPtrInput
	// The name of the vault that should be updated.
	RecoveryVaultName pulumi.StringPtrInput
	// Name of the resource group where the vault that should be updated is located.
	ResourceGroupName pulumi.StringPtrInput
}

func (ReplicationPolicyState) ElementType

func (ReplicationPolicyState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL