siterecovery

package
v3.56.0 Latest Latest
Warning

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

Go to latest
Published: Apr 12, 2021 License: Apache-2.0 Imports: 7 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
	})
}

```

## Import

Site Recovery Fabric can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:siterecovery/fabric:Fabric myfabric /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.RecoveryServices/vaults/recovery-vault-name/replicationFabrics/fabric-name

```

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.

func (*Fabric) ElementType added in v3.31.1

func (*Fabric) ElementType() reflect.Type

func (*Fabric) ToFabricOutput added in v3.31.1

func (i *Fabric) ToFabricOutput() FabricOutput

func (*Fabric) ToFabricOutputWithContext added in v3.31.1

func (i *Fabric) ToFabricOutputWithContext(ctx context.Context) FabricOutput

func (*Fabric) ToFabricPtrOutput added in v3.47.1

func (i *Fabric) ToFabricPtrOutput() FabricPtrOutput

func (*Fabric) ToFabricPtrOutputWithContext added in v3.47.1

func (i *Fabric) ToFabricPtrOutputWithContext(ctx context.Context) FabricPtrOutput

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 FabricArray added in v3.47.1

type FabricArray []FabricInput

func (FabricArray) ElementType added in v3.47.1

func (FabricArray) ElementType() reflect.Type

func (FabricArray) ToFabricArrayOutput added in v3.47.1

func (i FabricArray) ToFabricArrayOutput() FabricArrayOutput

func (FabricArray) ToFabricArrayOutputWithContext added in v3.47.1

func (i FabricArray) ToFabricArrayOutputWithContext(ctx context.Context) FabricArrayOutput

type FabricArrayInput added in v3.47.1

type FabricArrayInput interface {
	pulumi.Input

	ToFabricArrayOutput() FabricArrayOutput
	ToFabricArrayOutputWithContext(context.Context) FabricArrayOutput
}

FabricArrayInput is an input type that accepts FabricArray and FabricArrayOutput values. You can construct a concrete instance of `FabricArrayInput` via:

FabricArray{ FabricArgs{...} }

type FabricArrayOutput added in v3.47.1

type FabricArrayOutput struct{ *pulumi.OutputState }

func (FabricArrayOutput) ElementType added in v3.47.1

func (FabricArrayOutput) ElementType() reflect.Type

func (FabricArrayOutput) Index added in v3.47.1

func (FabricArrayOutput) ToFabricArrayOutput added in v3.47.1

func (o FabricArrayOutput) ToFabricArrayOutput() FabricArrayOutput

func (FabricArrayOutput) ToFabricArrayOutputWithContext added in v3.47.1

func (o FabricArrayOutput) ToFabricArrayOutputWithContext(ctx context.Context) FabricArrayOutput

type FabricInput added in v3.31.1

type FabricInput interface {
	pulumi.Input

	ToFabricOutput() FabricOutput
	ToFabricOutputWithContext(ctx context.Context) FabricOutput
}

type FabricMap added in v3.47.1

type FabricMap map[string]FabricInput

func (FabricMap) ElementType added in v3.47.1

func (FabricMap) ElementType() reflect.Type

func (FabricMap) ToFabricMapOutput added in v3.47.1

func (i FabricMap) ToFabricMapOutput() FabricMapOutput

func (FabricMap) ToFabricMapOutputWithContext added in v3.47.1

func (i FabricMap) ToFabricMapOutputWithContext(ctx context.Context) FabricMapOutput

type FabricMapInput added in v3.47.1

type FabricMapInput interface {
	pulumi.Input

	ToFabricMapOutput() FabricMapOutput
	ToFabricMapOutputWithContext(context.Context) FabricMapOutput
}

FabricMapInput is an input type that accepts FabricMap and FabricMapOutput values. You can construct a concrete instance of `FabricMapInput` via:

FabricMap{ "key": FabricArgs{...} }

type FabricMapOutput added in v3.47.1

type FabricMapOutput struct{ *pulumi.OutputState }

func (FabricMapOutput) ElementType added in v3.47.1

func (FabricMapOutput) ElementType() reflect.Type

func (FabricMapOutput) MapIndex added in v3.47.1

func (FabricMapOutput) ToFabricMapOutput added in v3.47.1

func (o FabricMapOutput) ToFabricMapOutput() FabricMapOutput

func (FabricMapOutput) ToFabricMapOutputWithContext added in v3.47.1

func (o FabricMapOutput) ToFabricMapOutputWithContext(ctx context.Context) FabricMapOutput

type FabricOutput added in v3.31.1

type FabricOutput struct {
	*pulumi.OutputState
}

func (FabricOutput) ElementType added in v3.31.1

func (FabricOutput) ElementType() reflect.Type

func (FabricOutput) ToFabricOutput added in v3.31.1

func (o FabricOutput) ToFabricOutput() FabricOutput

func (FabricOutput) ToFabricOutputWithContext added in v3.31.1

func (o FabricOutput) ToFabricOutputWithContext(ctx context.Context) FabricOutput

func (FabricOutput) ToFabricPtrOutput added in v3.47.1

func (o FabricOutput) ToFabricPtrOutput() FabricPtrOutput

func (FabricOutput) ToFabricPtrOutputWithContext added in v3.47.1

func (o FabricOutput) ToFabricPtrOutputWithContext(ctx context.Context) FabricPtrOutput

type FabricPtrInput added in v3.47.1

type FabricPtrInput interface {
	pulumi.Input

	ToFabricPtrOutput() FabricPtrOutput
	ToFabricPtrOutputWithContext(ctx context.Context) FabricPtrOutput
}

type FabricPtrOutput added in v3.47.1

type FabricPtrOutput struct {
	*pulumi.OutputState
}

func (FabricPtrOutput) ElementType added in v3.47.1

func (FabricPtrOutput) ElementType() reflect.Type

func (FabricPtrOutput) ToFabricPtrOutput added in v3.47.1

func (o FabricPtrOutput) ToFabricPtrOutput() FabricPtrOutput

func (FabricPtrOutput) ToFabricPtrOutputWithContext added in v3.47.1

func (o FabricPtrOutput) ToFabricPtrOutputWithContext(ctx context.Context) FabricPtrOutput

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
	})
}

```

## Import

Site Recovery Network Mapping can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:siterecovery/networkMapping:NetworkMapping mymapping /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.RecoveryServices/vaults/recovery-vault-name/replicationFabrics/primary-fabric-name/replicationNetworks/azureNetwork/replicationNetworkMappings/mapping-name

```

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.

func (*NetworkMapping) ElementType added in v3.31.1

func (*NetworkMapping) ElementType() reflect.Type

func (*NetworkMapping) ToNetworkMappingOutput added in v3.31.1

func (i *NetworkMapping) ToNetworkMappingOutput() NetworkMappingOutput

func (*NetworkMapping) ToNetworkMappingOutputWithContext added in v3.31.1

func (i *NetworkMapping) ToNetworkMappingOutputWithContext(ctx context.Context) NetworkMappingOutput

func (*NetworkMapping) ToNetworkMappingPtrOutput added in v3.47.1

func (i *NetworkMapping) ToNetworkMappingPtrOutput() NetworkMappingPtrOutput

func (*NetworkMapping) ToNetworkMappingPtrOutputWithContext added in v3.47.1

func (i *NetworkMapping) ToNetworkMappingPtrOutputWithContext(ctx context.Context) NetworkMappingPtrOutput

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 NetworkMappingArray added in v3.47.1

type NetworkMappingArray []NetworkMappingInput

func (NetworkMappingArray) ElementType added in v3.47.1

func (NetworkMappingArray) ElementType() reflect.Type

func (NetworkMappingArray) ToNetworkMappingArrayOutput added in v3.47.1

func (i NetworkMappingArray) ToNetworkMappingArrayOutput() NetworkMappingArrayOutput

func (NetworkMappingArray) ToNetworkMappingArrayOutputWithContext added in v3.47.1

func (i NetworkMappingArray) ToNetworkMappingArrayOutputWithContext(ctx context.Context) NetworkMappingArrayOutput

type NetworkMappingArrayInput added in v3.47.1

type NetworkMappingArrayInput interface {
	pulumi.Input

	ToNetworkMappingArrayOutput() NetworkMappingArrayOutput
	ToNetworkMappingArrayOutputWithContext(context.Context) NetworkMappingArrayOutput
}

NetworkMappingArrayInput is an input type that accepts NetworkMappingArray and NetworkMappingArrayOutput values. You can construct a concrete instance of `NetworkMappingArrayInput` via:

NetworkMappingArray{ NetworkMappingArgs{...} }

type NetworkMappingArrayOutput added in v3.47.1

type NetworkMappingArrayOutput struct{ *pulumi.OutputState }

func (NetworkMappingArrayOutput) ElementType added in v3.47.1

func (NetworkMappingArrayOutput) ElementType() reflect.Type

func (NetworkMappingArrayOutput) Index added in v3.47.1

func (NetworkMappingArrayOutput) ToNetworkMappingArrayOutput added in v3.47.1

func (o NetworkMappingArrayOutput) ToNetworkMappingArrayOutput() NetworkMappingArrayOutput

func (NetworkMappingArrayOutput) ToNetworkMappingArrayOutputWithContext added in v3.47.1

func (o NetworkMappingArrayOutput) ToNetworkMappingArrayOutputWithContext(ctx context.Context) NetworkMappingArrayOutput

type NetworkMappingInput added in v3.31.1

type NetworkMappingInput interface {
	pulumi.Input

	ToNetworkMappingOutput() NetworkMappingOutput
	ToNetworkMappingOutputWithContext(ctx context.Context) NetworkMappingOutput
}

type NetworkMappingMap added in v3.47.1

type NetworkMappingMap map[string]NetworkMappingInput

func (NetworkMappingMap) ElementType added in v3.47.1

func (NetworkMappingMap) ElementType() reflect.Type

func (NetworkMappingMap) ToNetworkMappingMapOutput added in v3.47.1

func (i NetworkMappingMap) ToNetworkMappingMapOutput() NetworkMappingMapOutput

func (NetworkMappingMap) ToNetworkMappingMapOutputWithContext added in v3.47.1

func (i NetworkMappingMap) ToNetworkMappingMapOutputWithContext(ctx context.Context) NetworkMappingMapOutput

type NetworkMappingMapInput added in v3.47.1

type NetworkMappingMapInput interface {
	pulumi.Input

	ToNetworkMappingMapOutput() NetworkMappingMapOutput
	ToNetworkMappingMapOutputWithContext(context.Context) NetworkMappingMapOutput
}

NetworkMappingMapInput is an input type that accepts NetworkMappingMap and NetworkMappingMapOutput values. You can construct a concrete instance of `NetworkMappingMapInput` via:

NetworkMappingMap{ "key": NetworkMappingArgs{...} }

type NetworkMappingMapOutput added in v3.47.1

type NetworkMappingMapOutput struct{ *pulumi.OutputState }

func (NetworkMappingMapOutput) ElementType added in v3.47.1

func (NetworkMappingMapOutput) ElementType() reflect.Type

func (NetworkMappingMapOutput) MapIndex added in v3.47.1

func (NetworkMappingMapOutput) ToNetworkMappingMapOutput added in v3.47.1

func (o NetworkMappingMapOutput) ToNetworkMappingMapOutput() NetworkMappingMapOutput

func (NetworkMappingMapOutput) ToNetworkMappingMapOutputWithContext added in v3.47.1

func (o NetworkMappingMapOutput) ToNetworkMappingMapOutputWithContext(ctx context.Context) NetworkMappingMapOutput

type NetworkMappingOutput added in v3.31.1

type NetworkMappingOutput struct {
	*pulumi.OutputState
}

func (NetworkMappingOutput) ElementType added in v3.31.1

func (NetworkMappingOutput) ElementType() reflect.Type

func (NetworkMappingOutput) ToNetworkMappingOutput added in v3.31.1

func (o NetworkMappingOutput) ToNetworkMappingOutput() NetworkMappingOutput

func (NetworkMappingOutput) ToNetworkMappingOutputWithContext added in v3.31.1

func (o NetworkMappingOutput) ToNetworkMappingOutputWithContext(ctx context.Context) NetworkMappingOutput

func (NetworkMappingOutput) ToNetworkMappingPtrOutput added in v3.47.1

func (o NetworkMappingOutput) ToNetworkMappingPtrOutput() NetworkMappingPtrOutput

func (NetworkMappingOutput) ToNetworkMappingPtrOutputWithContext added in v3.47.1

func (o NetworkMappingOutput) ToNetworkMappingPtrOutputWithContext(ctx context.Context) NetworkMappingPtrOutput

type NetworkMappingPtrInput added in v3.47.1

type NetworkMappingPtrInput interface {
	pulumi.Input

	ToNetworkMappingPtrOutput() NetworkMappingPtrOutput
	ToNetworkMappingPtrOutputWithContext(ctx context.Context) NetworkMappingPtrOutput
}

type NetworkMappingPtrOutput added in v3.47.1

type NetworkMappingPtrOutput struct {
	*pulumi.OutputState
}

func (NetworkMappingPtrOutput) ElementType added in v3.47.1

func (NetworkMappingPtrOutput) ElementType() reflect.Type

func (NetworkMappingPtrOutput) ToNetworkMappingPtrOutput added in v3.47.1

func (o NetworkMappingPtrOutput) ToNetworkMappingPtrOutput() NetworkMappingPtrOutput

func (NetworkMappingPtrOutput) ToNetworkMappingPtrOutputWithContext added in v3.47.1

func (o NetworkMappingPtrOutput) ToNetworkMappingPtrOutputWithContext(ctx context.Context) NetworkMappingPtrOutput

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
	})
}

```

## Import

Site Recovery Protection Containers can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:siterecovery/protectionContainer:ProtectionContainer mycontainer /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.RecoveryServices/vaults/recovery-vault-name/replicationFabrics/fabric-name/replicationProtectionContainers/protection-container-name

```

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.

func (*ProtectionContainer) ElementType added in v3.31.1

func (*ProtectionContainer) ElementType() reflect.Type

func (*ProtectionContainer) ToProtectionContainerOutput added in v3.31.1

func (i *ProtectionContainer) ToProtectionContainerOutput() ProtectionContainerOutput

func (*ProtectionContainer) ToProtectionContainerOutputWithContext added in v3.31.1

func (i *ProtectionContainer) ToProtectionContainerOutputWithContext(ctx context.Context) ProtectionContainerOutput

func (*ProtectionContainer) ToProtectionContainerPtrOutput added in v3.47.1

func (i *ProtectionContainer) ToProtectionContainerPtrOutput() ProtectionContainerPtrOutput

func (*ProtectionContainer) ToProtectionContainerPtrOutputWithContext added in v3.47.1

func (i *ProtectionContainer) ToProtectionContainerPtrOutputWithContext(ctx context.Context) ProtectionContainerPtrOutput

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 ProtectionContainerArray added in v3.47.1

type ProtectionContainerArray []ProtectionContainerInput

func (ProtectionContainerArray) ElementType added in v3.47.1

func (ProtectionContainerArray) ElementType() reflect.Type

func (ProtectionContainerArray) ToProtectionContainerArrayOutput added in v3.47.1

func (i ProtectionContainerArray) ToProtectionContainerArrayOutput() ProtectionContainerArrayOutput

func (ProtectionContainerArray) ToProtectionContainerArrayOutputWithContext added in v3.47.1

func (i ProtectionContainerArray) ToProtectionContainerArrayOutputWithContext(ctx context.Context) ProtectionContainerArrayOutput

type ProtectionContainerArrayInput added in v3.47.1

type ProtectionContainerArrayInput interface {
	pulumi.Input

	ToProtectionContainerArrayOutput() ProtectionContainerArrayOutput
	ToProtectionContainerArrayOutputWithContext(context.Context) ProtectionContainerArrayOutput
}

ProtectionContainerArrayInput is an input type that accepts ProtectionContainerArray and ProtectionContainerArrayOutput values. You can construct a concrete instance of `ProtectionContainerArrayInput` via:

ProtectionContainerArray{ ProtectionContainerArgs{...} }

type ProtectionContainerArrayOutput added in v3.47.1

type ProtectionContainerArrayOutput struct{ *pulumi.OutputState }

func (ProtectionContainerArrayOutput) ElementType added in v3.47.1

func (ProtectionContainerArrayOutput) Index added in v3.47.1

func (ProtectionContainerArrayOutput) ToProtectionContainerArrayOutput added in v3.47.1

func (o ProtectionContainerArrayOutput) ToProtectionContainerArrayOutput() ProtectionContainerArrayOutput

func (ProtectionContainerArrayOutput) ToProtectionContainerArrayOutputWithContext added in v3.47.1

func (o ProtectionContainerArrayOutput) ToProtectionContainerArrayOutputWithContext(ctx context.Context) ProtectionContainerArrayOutput

type ProtectionContainerInput added in v3.31.1

type ProtectionContainerInput interface {
	pulumi.Input

	ToProtectionContainerOutput() ProtectionContainerOutput
	ToProtectionContainerOutputWithContext(ctx context.Context) ProtectionContainerOutput
}

type ProtectionContainerMap added in v3.47.1

type ProtectionContainerMap map[string]ProtectionContainerInput

func (ProtectionContainerMap) ElementType added in v3.47.1

func (ProtectionContainerMap) ElementType() reflect.Type

func (ProtectionContainerMap) ToProtectionContainerMapOutput added in v3.47.1

func (i ProtectionContainerMap) ToProtectionContainerMapOutput() ProtectionContainerMapOutput

func (ProtectionContainerMap) ToProtectionContainerMapOutputWithContext added in v3.47.1

func (i ProtectionContainerMap) ToProtectionContainerMapOutputWithContext(ctx context.Context) ProtectionContainerMapOutput

type ProtectionContainerMapInput added in v3.47.1

type ProtectionContainerMapInput interface {
	pulumi.Input

	ToProtectionContainerMapOutput() ProtectionContainerMapOutput
	ToProtectionContainerMapOutputWithContext(context.Context) ProtectionContainerMapOutput
}

ProtectionContainerMapInput is an input type that accepts ProtectionContainerMap and ProtectionContainerMapOutput values. You can construct a concrete instance of `ProtectionContainerMapInput` via:

ProtectionContainerMap{ "key": ProtectionContainerArgs{...} }

type ProtectionContainerMapOutput added in v3.47.1

type ProtectionContainerMapOutput struct{ *pulumi.OutputState }

func (ProtectionContainerMapOutput) ElementType added in v3.47.1

func (ProtectionContainerMapOutput) MapIndex added in v3.47.1

func (ProtectionContainerMapOutput) ToProtectionContainerMapOutput added in v3.47.1

func (o ProtectionContainerMapOutput) ToProtectionContainerMapOutput() ProtectionContainerMapOutput

func (ProtectionContainerMapOutput) ToProtectionContainerMapOutputWithContext added in v3.47.1

func (o ProtectionContainerMapOutput) ToProtectionContainerMapOutputWithContext(ctx context.Context) ProtectionContainerMapOutput

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
	})
}

```

## Import

Site Recovery Protection Container Mappings can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:siterecovery/protectionContainerMapping:ProtectionContainerMapping mymapping /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.RecoveryServices/vaults/recovery-vault-name

```

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.

func (*ProtectionContainerMapping) ElementType added in v3.31.1

func (*ProtectionContainerMapping) ElementType() reflect.Type

func (*ProtectionContainerMapping) ToProtectionContainerMappingOutput added in v3.31.1

func (i *ProtectionContainerMapping) ToProtectionContainerMappingOutput() ProtectionContainerMappingOutput

func (*ProtectionContainerMapping) ToProtectionContainerMappingOutputWithContext added in v3.31.1

func (i *ProtectionContainerMapping) ToProtectionContainerMappingOutputWithContext(ctx context.Context) ProtectionContainerMappingOutput

func (*ProtectionContainerMapping) ToProtectionContainerMappingPtrOutput added in v3.47.1

func (i *ProtectionContainerMapping) ToProtectionContainerMappingPtrOutput() ProtectionContainerMappingPtrOutput

func (*ProtectionContainerMapping) ToProtectionContainerMappingPtrOutputWithContext added in v3.47.1

func (i *ProtectionContainerMapping) ToProtectionContainerMappingPtrOutputWithContext(ctx context.Context) ProtectionContainerMappingPtrOutput

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 ProtectionContainerMappingArray added in v3.47.1

type ProtectionContainerMappingArray []ProtectionContainerMappingInput

func (ProtectionContainerMappingArray) ElementType added in v3.47.1

func (ProtectionContainerMappingArray) ToProtectionContainerMappingArrayOutput added in v3.47.1

func (i ProtectionContainerMappingArray) ToProtectionContainerMappingArrayOutput() ProtectionContainerMappingArrayOutput

func (ProtectionContainerMappingArray) ToProtectionContainerMappingArrayOutputWithContext added in v3.47.1

func (i ProtectionContainerMappingArray) ToProtectionContainerMappingArrayOutputWithContext(ctx context.Context) ProtectionContainerMappingArrayOutput

type ProtectionContainerMappingArrayInput added in v3.47.1

type ProtectionContainerMappingArrayInput interface {
	pulumi.Input

	ToProtectionContainerMappingArrayOutput() ProtectionContainerMappingArrayOutput
	ToProtectionContainerMappingArrayOutputWithContext(context.Context) ProtectionContainerMappingArrayOutput
}

ProtectionContainerMappingArrayInput is an input type that accepts ProtectionContainerMappingArray and ProtectionContainerMappingArrayOutput values. You can construct a concrete instance of `ProtectionContainerMappingArrayInput` via:

ProtectionContainerMappingArray{ ProtectionContainerMappingArgs{...} }

type ProtectionContainerMappingArrayOutput added in v3.47.1

type ProtectionContainerMappingArrayOutput struct{ *pulumi.OutputState }

func (ProtectionContainerMappingArrayOutput) ElementType added in v3.47.1

func (ProtectionContainerMappingArrayOutput) Index added in v3.47.1

func (ProtectionContainerMappingArrayOutput) ToProtectionContainerMappingArrayOutput added in v3.47.1

func (o ProtectionContainerMappingArrayOutput) ToProtectionContainerMappingArrayOutput() ProtectionContainerMappingArrayOutput

func (ProtectionContainerMappingArrayOutput) ToProtectionContainerMappingArrayOutputWithContext added in v3.47.1

func (o ProtectionContainerMappingArrayOutput) ToProtectionContainerMappingArrayOutputWithContext(ctx context.Context) ProtectionContainerMappingArrayOutput

type ProtectionContainerMappingInput added in v3.31.1

type ProtectionContainerMappingInput interface {
	pulumi.Input

	ToProtectionContainerMappingOutput() ProtectionContainerMappingOutput
	ToProtectionContainerMappingOutputWithContext(ctx context.Context) ProtectionContainerMappingOutput
}

type ProtectionContainerMappingMap added in v3.47.1

type ProtectionContainerMappingMap map[string]ProtectionContainerMappingInput

func (ProtectionContainerMappingMap) ElementType added in v3.47.1

func (ProtectionContainerMappingMap) ToProtectionContainerMappingMapOutput added in v3.47.1

func (i ProtectionContainerMappingMap) ToProtectionContainerMappingMapOutput() ProtectionContainerMappingMapOutput

func (ProtectionContainerMappingMap) ToProtectionContainerMappingMapOutputWithContext added in v3.47.1

func (i ProtectionContainerMappingMap) ToProtectionContainerMappingMapOutputWithContext(ctx context.Context) ProtectionContainerMappingMapOutput

type ProtectionContainerMappingMapInput added in v3.47.1

type ProtectionContainerMappingMapInput interface {
	pulumi.Input

	ToProtectionContainerMappingMapOutput() ProtectionContainerMappingMapOutput
	ToProtectionContainerMappingMapOutputWithContext(context.Context) ProtectionContainerMappingMapOutput
}

ProtectionContainerMappingMapInput is an input type that accepts ProtectionContainerMappingMap and ProtectionContainerMappingMapOutput values. You can construct a concrete instance of `ProtectionContainerMappingMapInput` via:

ProtectionContainerMappingMap{ "key": ProtectionContainerMappingArgs{...} }

type ProtectionContainerMappingMapOutput added in v3.47.1

type ProtectionContainerMappingMapOutput struct{ *pulumi.OutputState }

func (ProtectionContainerMappingMapOutput) ElementType added in v3.47.1

func (ProtectionContainerMappingMapOutput) MapIndex added in v3.47.1

func (ProtectionContainerMappingMapOutput) ToProtectionContainerMappingMapOutput added in v3.47.1

func (o ProtectionContainerMappingMapOutput) ToProtectionContainerMappingMapOutput() ProtectionContainerMappingMapOutput

func (ProtectionContainerMappingMapOutput) ToProtectionContainerMappingMapOutputWithContext added in v3.47.1

func (o ProtectionContainerMappingMapOutput) ToProtectionContainerMappingMapOutputWithContext(ctx context.Context) ProtectionContainerMappingMapOutput

type ProtectionContainerMappingOutput added in v3.31.1

type ProtectionContainerMappingOutput struct {
	*pulumi.OutputState
}

func (ProtectionContainerMappingOutput) ElementType added in v3.31.1

func (ProtectionContainerMappingOutput) ToProtectionContainerMappingOutput added in v3.31.1

func (o ProtectionContainerMappingOutput) ToProtectionContainerMappingOutput() ProtectionContainerMappingOutput

func (ProtectionContainerMappingOutput) ToProtectionContainerMappingOutputWithContext added in v3.31.1

func (o ProtectionContainerMappingOutput) ToProtectionContainerMappingOutputWithContext(ctx context.Context) ProtectionContainerMappingOutput

func (ProtectionContainerMappingOutput) ToProtectionContainerMappingPtrOutput added in v3.47.1

func (o ProtectionContainerMappingOutput) ToProtectionContainerMappingPtrOutput() ProtectionContainerMappingPtrOutput

func (ProtectionContainerMappingOutput) ToProtectionContainerMappingPtrOutputWithContext added in v3.47.1

func (o ProtectionContainerMappingOutput) ToProtectionContainerMappingPtrOutputWithContext(ctx context.Context) ProtectionContainerMappingPtrOutput

type ProtectionContainerMappingPtrInput added in v3.47.1

type ProtectionContainerMappingPtrInput interface {
	pulumi.Input

	ToProtectionContainerMappingPtrOutput() ProtectionContainerMappingPtrOutput
	ToProtectionContainerMappingPtrOutputWithContext(ctx context.Context) ProtectionContainerMappingPtrOutput
}

type ProtectionContainerMappingPtrOutput added in v3.47.1

type ProtectionContainerMappingPtrOutput struct {
	*pulumi.OutputState
}

func (ProtectionContainerMappingPtrOutput) ElementType added in v3.47.1

func (ProtectionContainerMappingPtrOutput) ToProtectionContainerMappingPtrOutput added in v3.47.1

func (o ProtectionContainerMappingPtrOutput) ToProtectionContainerMappingPtrOutput() ProtectionContainerMappingPtrOutput

func (ProtectionContainerMappingPtrOutput) ToProtectionContainerMappingPtrOutputWithContext added in v3.47.1

func (o ProtectionContainerMappingPtrOutput) ToProtectionContainerMappingPtrOutputWithContext(ctx context.Context) ProtectionContainerMappingPtrOutput

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 ProtectionContainerOutput added in v3.31.1

type ProtectionContainerOutput struct {
	*pulumi.OutputState
}

func (ProtectionContainerOutput) ElementType added in v3.31.1

func (ProtectionContainerOutput) ElementType() reflect.Type

func (ProtectionContainerOutput) ToProtectionContainerOutput added in v3.31.1

func (o ProtectionContainerOutput) ToProtectionContainerOutput() ProtectionContainerOutput

func (ProtectionContainerOutput) ToProtectionContainerOutputWithContext added in v3.31.1

func (o ProtectionContainerOutput) ToProtectionContainerOutputWithContext(ctx context.Context) ProtectionContainerOutput

func (ProtectionContainerOutput) ToProtectionContainerPtrOutput added in v3.47.1

func (o ProtectionContainerOutput) ToProtectionContainerPtrOutput() ProtectionContainerPtrOutput

func (ProtectionContainerOutput) ToProtectionContainerPtrOutputWithContext added in v3.47.1

func (o ProtectionContainerOutput) ToProtectionContainerPtrOutputWithContext(ctx context.Context) ProtectionContainerPtrOutput

type ProtectionContainerPtrInput added in v3.47.1

type ProtectionContainerPtrInput interface {
	pulumi.Input

	ToProtectionContainerPtrOutput() ProtectionContainerPtrOutput
	ToProtectionContainerPtrOutputWithContext(ctx context.Context) ProtectionContainerPtrOutput
}

type ProtectionContainerPtrOutput added in v3.47.1

type ProtectionContainerPtrOutput struct {
	*pulumi.OutputState
}

func (ProtectionContainerPtrOutput) ElementType added in v3.47.1

func (ProtectionContainerPtrOutput) ToProtectionContainerPtrOutput added in v3.47.1

func (o ProtectionContainerPtrOutput) ToProtectionContainerPtrOutput() ProtectionContainerPtrOutput

func (ProtectionContainerPtrOutput) ToProtectionContainerPtrOutputWithContext added in v3.47.1

func (o ProtectionContainerPtrOutput) ToProtectionContainerPtrOutputWithContext(ctx context.Context) ProtectionContainerPtrOutput

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.

## Import

Site Recovery Replicated VM's can be imported using the `resource id`, e.g.

```sh

$ 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

```

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.

func (*ReplicatedVM) ElementType added in v3.31.1

func (*ReplicatedVM) ElementType() reflect.Type

func (*ReplicatedVM) ToReplicatedVMOutput added in v3.31.1

func (i *ReplicatedVM) ToReplicatedVMOutput() ReplicatedVMOutput

func (*ReplicatedVM) ToReplicatedVMOutputWithContext added in v3.31.1

func (i *ReplicatedVM) ToReplicatedVMOutputWithContext(ctx context.Context) ReplicatedVMOutput

func (*ReplicatedVM) ToReplicatedVMPtrOutput added in v3.47.1

func (i *ReplicatedVM) ToReplicatedVMPtrOutput() ReplicatedVMPtrOutput

func (*ReplicatedVM) ToReplicatedVMPtrOutputWithContext added in v3.47.1

func (i *ReplicatedVM) ToReplicatedVMPtrOutputWithContext(ctx context.Context) ReplicatedVMPtrOutput

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 ReplicatedVMArray added in v3.47.1

type ReplicatedVMArray []ReplicatedVMInput

func (ReplicatedVMArray) ElementType added in v3.47.1

func (ReplicatedVMArray) ElementType() reflect.Type

func (ReplicatedVMArray) ToReplicatedVMArrayOutput added in v3.47.1

func (i ReplicatedVMArray) ToReplicatedVMArrayOutput() ReplicatedVMArrayOutput

func (ReplicatedVMArray) ToReplicatedVMArrayOutputWithContext added in v3.47.1

func (i ReplicatedVMArray) ToReplicatedVMArrayOutputWithContext(ctx context.Context) ReplicatedVMArrayOutput

type ReplicatedVMArrayInput added in v3.47.1

type ReplicatedVMArrayInput interface {
	pulumi.Input

	ToReplicatedVMArrayOutput() ReplicatedVMArrayOutput
	ToReplicatedVMArrayOutputWithContext(context.Context) ReplicatedVMArrayOutput
}

ReplicatedVMArrayInput is an input type that accepts ReplicatedVMArray and ReplicatedVMArrayOutput values. You can construct a concrete instance of `ReplicatedVMArrayInput` via:

ReplicatedVMArray{ ReplicatedVMArgs{...} }

type ReplicatedVMArrayOutput added in v3.47.1

type ReplicatedVMArrayOutput struct{ *pulumi.OutputState }

func (ReplicatedVMArrayOutput) ElementType added in v3.47.1

func (ReplicatedVMArrayOutput) ElementType() reflect.Type

func (ReplicatedVMArrayOutput) Index added in v3.47.1

func (ReplicatedVMArrayOutput) ToReplicatedVMArrayOutput added in v3.47.1

func (o ReplicatedVMArrayOutput) ToReplicatedVMArrayOutput() ReplicatedVMArrayOutput

func (ReplicatedVMArrayOutput) ToReplicatedVMArrayOutputWithContext added in v3.47.1

func (o ReplicatedVMArrayOutput) ToReplicatedVMArrayOutputWithContext(ctx context.Context) ReplicatedVMArrayOutput

type ReplicatedVMInput added in v3.31.1

type ReplicatedVMInput interface {
	pulumi.Input

	ToReplicatedVMOutput() ReplicatedVMOutput
	ToReplicatedVMOutputWithContext(ctx context.Context) ReplicatedVMOutput
}

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 ReplicatedVMMap added in v3.47.1

type ReplicatedVMMap map[string]ReplicatedVMInput

func (ReplicatedVMMap) ElementType added in v3.47.1

func (ReplicatedVMMap) ElementType() reflect.Type

func (ReplicatedVMMap) ToReplicatedVMMapOutput added in v3.47.1

func (i ReplicatedVMMap) ToReplicatedVMMapOutput() ReplicatedVMMapOutput

func (ReplicatedVMMap) ToReplicatedVMMapOutputWithContext added in v3.47.1

func (i ReplicatedVMMap) ToReplicatedVMMapOutputWithContext(ctx context.Context) ReplicatedVMMapOutput

type ReplicatedVMMapInput added in v3.47.1

type ReplicatedVMMapInput interface {
	pulumi.Input

	ToReplicatedVMMapOutput() ReplicatedVMMapOutput
	ToReplicatedVMMapOutputWithContext(context.Context) ReplicatedVMMapOutput
}

ReplicatedVMMapInput is an input type that accepts ReplicatedVMMap and ReplicatedVMMapOutput values. You can construct a concrete instance of `ReplicatedVMMapInput` via:

ReplicatedVMMap{ "key": ReplicatedVMArgs{...} }

type ReplicatedVMMapOutput added in v3.47.1

type ReplicatedVMMapOutput struct{ *pulumi.OutputState }

func (ReplicatedVMMapOutput) ElementType added in v3.47.1

func (ReplicatedVMMapOutput) ElementType() reflect.Type

func (ReplicatedVMMapOutput) MapIndex added in v3.47.1

func (ReplicatedVMMapOutput) ToReplicatedVMMapOutput added in v3.47.1

func (o ReplicatedVMMapOutput) ToReplicatedVMMapOutput() ReplicatedVMMapOutput

func (ReplicatedVMMapOutput) ToReplicatedVMMapOutputWithContext added in v3.47.1

func (o ReplicatedVMMapOutput) ToReplicatedVMMapOutputWithContext(ctx context.Context) ReplicatedVMMapOutput

type ReplicatedVMNetworkInterface added in v3.16.0

type ReplicatedVMNetworkInterface struct {
	// Id of the public IP object to use when a failover is done.
	RecoveryPublicIpAddressId *string `pulumi:"recoveryPublicIpAddressId"`
	// 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 of the public IP object to use when a failover is done.
	RecoveryPublicIpAddressId pulumi.StringPtrInput `pulumi:"recoveryPublicIpAddressId"`
	// 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) RecoveryPublicIpAddressId added in v3.47.1

func (o ReplicatedVMNetworkInterfaceOutput) RecoveryPublicIpAddressId() pulumi.StringPtrOutput

Id of the public IP object to use when a failover is done.

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 ReplicatedVMOutput added in v3.31.1

type ReplicatedVMOutput struct {
	*pulumi.OutputState
}

func (ReplicatedVMOutput) ElementType added in v3.31.1

func (ReplicatedVMOutput) ElementType() reflect.Type

func (ReplicatedVMOutput) ToReplicatedVMOutput added in v3.31.1

func (o ReplicatedVMOutput) ToReplicatedVMOutput() ReplicatedVMOutput

func (ReplicatedVMOutput) ToReplicatedVMOutputWithContext added in v3.31.1

func (o ReplicatedVMOutput) ToReplicatedVMOutputWithContext(ctx context.Context) ReplicatedVMOutput

func (ReplicatedVMOutput) ToReplicatedVMPtrOutput added in v3.47.1

func (o ReplicatedVMOutput) ToReplicatedVMPtrOutput() ReplicatedVMPtrOutput

func (ReplicatedVMOutput) ToReplicatedVMPtrOutputWithContext added in v3.47.1

func (o ReplicatedVMOutput) ToReplicatedVMPtrOutputWithContext(ctx context.Context) ReplicatedVMPtrOutput

type ReplicatedVMPtrInput added in v3.47.1

type ReplicatedVMPtrInput interface {
	pulumi.Input

	ToReplicatedVMPtrOutput() ReplicatedVMPtrOutput
	ToReplicatedVMPtrOutputWithContext(ctx context.Context) ReplicatedVMPtrOutput
}

type ReplicatedVMPtrOutput added in v3.47.1

type ReplicatedVMPtrOutput struct {
	*pulumi.OutputState
}

func (ReplicatedVMPtrOutput) ElementType added in v3.47.1

func (ReplicatedVMPtrOutput) ElementType() reflect.Type

func (ReplicatedVMPtrOutput) ToReplicatedVMPtrOutput added in v3.47.1

func (o ReplicatedVMPtrOutput) ToReplicatedVMPtrOutput() ReplicatedVMPtrOutput

func (ReplicatedVMPtrOutput) ToReplicatedVMPtrOutputWithContext added in v3.47.1

func (o ReplicatedVMPtrOutput) ToReplicatedVMPtrOutputWithContext(ctx context.Context) ReplicatedVMPtrOutput

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
	})
}

```

## Import

Site Recovery Replication Policies can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:siterecovery/replicationPolicy:ReplicationPolicy mypolicy /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.RecoveryServices/vaults/recovery-vault-name/replicationPolicies/policy-name

```

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.

func (*ReplicationPolicy) ElementType added in v3.31.1

func (*ReplicationPolicy) ElementType() reflect.Type

func (*ReplicationPolicy) ToReplicationPolicyOutput added in v3.31.1

func (i *ReplicationPolicy) ToReplicationPolicyOutput() ReplicationPolicyOutput

func (*ReplicationPolicy) ToReplicationPolicyOutputWithContext added in v3.31.1

func (i *ReplicationPolicy) ToReplicationPolicyOutputWithContext(ctx context.Context) ReplicationPolicyOutput

func (*ReplicationPolicy) ToReplicationPolicyPtrOutput added in v3.47.1

func (i *ReplicationPolicy) ToReplicationPolicyPtrOutput() ReplicationPolicyPtrOutput

func (*ReplicationPolicy) ToReplicationPolicyPtrOutputWithContext added in v3.47.1

func (i *ReplicationPolicy) ToReplicationPolicyPtrOutputWithContext(ctx context.Context) ReplicationPolicyPtrOutput

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 ReplicationPolicyArray added in v3.47.1

type ReplicationPolicyArray []ReplicationPolicyInput

func (ReplicationPolicyArray) ElementType added in v3.47.1

func (ReplicationPolicyArray) ElementType() reflect.Type

func (ReplicationPolicyArray) ToReplicationPolicyArrayOutput added in v3.47.1

func (i ReplicationPolicyArray) ToReplicationPolicyArrayOutput() ReplicationPolicyArrayOutput

func (ReplicationPolicyArray) ToReplicationPolicyArrayOutputWithContext added in v3.47.1

func (i ReplicationPolicyArray) ToReplicationPolicyArrayOutputWithContext(ctx context.Context) ReplicationPolicyArrayOutput

type ReplicationPolicyArrayInput added in v3.47.1

type ReplicationPolicyArrayInput interface {
	pulumi.Input

	ToReplicationPolicyArrayOutput() ReplicationPolicyArrayOutput
	ToReplicationPolicyArrayOutputWithContext(context.Context) ReplicationPolicyArrayOutput
}

ReplicationPolicyArrayInput is an input type that accepts ReplicationPolicyArray and ReplicationPolicyArrayOutput values. You can construct a concrete instance of `ReplicationPolicyArrayInput` via:

ReplicationPolicyArray{ ReplicationPolicyArgs{...} }

type ReplicationPolicyArrayOutput added in v3.47.1

type ReplicationPolicyArrayOutput struct{ *pulumi.OutputState }

func (ReplicationPolicyArrayOutput) ElementType added in v3.47.1

func (ReplicationPolicyArrayOutput) Index added in v3.47.1

func (ReplicationPolicyArrayOutput) ToReplicationPolicyArrayOutput added in v3.47.1

func (o ReplicationPolicyArrayOutput) ToReplicationPolicyArrayOutput() ReplicationPolicyArrayOutput

func (ReplicationPolicyArrayOutput) ToReplicationPolicyArrayOutputWithContext added in v3.47.1

func (o ReplicationPolicyArrayOutput) ToReplicationPolicyArrayOutputWithContext(ctx context.Context) ReplicationPolicyArrayOutput

type ReplicationPolicyInput added in v3.31.1

type ReplicationPolicyInput interface {
	pulumi.Input

	ToReplicationPolicyOutput() ReplicationPolicyOutput
	ToReplicationPolicyOutputWithContext(ctx context.Context) ReplicationPolicyOutput
}

type ReplicationPolicyMap added in v3.47.1

type ReplicationPolicyMap map[string]ReplicationPolicyInput

func (ReplicationPolicyMap) ElementType added in v3.47.1

func (ReplicationPolicyMap) ElementType() reflect.Type

func (ReplicationPolicyMap) ToReplicationPolicyMapOutput added in v3.47.1

func (i ReplicationPolicyMap) ToReplicationPolicyMapOutput() ReplicationPolicyMapOutput

func (ReplicationPolicyMap) ToReplicationPolicyMapOutputWithContext added in v3.47.1

func (i ReplicationPolicyMap) ToReplicationPolicyMapOutputWithContext(ctx context.Context) ReplicationPolicyMapOutput

type ReplicationPolicyMapInput added in v3.47.1

type ReplicationPolicyMapInput interface {
	pulumi.Input

	ToReplicationPolicyMapOutput() ReplicationPolicyMapOutput
	ToReplicationPolicyMapOutputWithContext(context.Context) ReplicationPolicyMapOutput
}

ReplicationPolicyMapInput is an input type that accepts ReplicationPolicyMap and ReplicationPolicyMapOutput values. You can construct a concrete instance of `ReplicationPolicyMapInput` via:

ReplicationPolicyMap{ "key": ReplicationPolicyArgs{...} }

type ReplicationPolicyMapOutput added in v3.47.1

type ReplicationPolicyMapOutput struct{ *pulumi.OutputState }

func (ReplicationPolicyMapOutput) ElementType added in v3.47.1

func (ReplicationPolicyMapOutput) ElementType() reflect.Type

func (ReplicationPolicyMapOutput) MapIndex added in v3.47.1

func (ReplicationPolicyMapOutput) ToReplicationPolicyMapOutput added in v3.47.1

func (o ReplicationPolicyMapOutput) ToReplicationPolicyMapOutput() ReplicationPolicyMapOutput

func (ReplicationPolicyMapOutput) ToReplicationPolicyMapOutputWithContext added in v3.47.1

func (o ReplicationPolicyMapOutput) ToReplicationPolicyMapOutputWithContext(ctx context.Context) ReplicationPolicyMapOutput

type ReplicationPolicyOutput added in v3.31.1

type ReplicationPolicyOutput struct {
	*pulumi.OutputState
}

func (ReplicationPolicyOutput) ElementType added in v3.31.1

func (ReplicationPolicyOutput) ElementType() reflect.Type

func (ReplicationPolicyOutput) ToReplicationPolicyOutput added in v3.31.1

func (o ReplicationPolicyOutput) ToReplicationPolicyOutput() ReplicationPolicyOutput

func (ReplicationPolicyOutput) ToReplicationPolicyOutputWithContext added in v3.31.1

func (o ReplicationPolicyOutput) ToReplicationPolicyOutputWithContext(ctx context.Context) ReplicationPolicyOutput

func (ReplicationPolicyOutput) ToReplicationPolicyPtrOutput added in v3.47.1

func (o ReplicationPolicyOutput) ToReplicationPolicyPtrOutput() ReplicationPolicyPtrOutput

func (ReplicationPolicyOutput) ToReplicationPolicyPtrOutputWithContext added in v3.47.1

func (o ReplicationPolicyOutput) ToReplicationPolicyPtrOutputWithContext(ctx context.Context) ReplicationPolicyPtrOutput

type ReplicationPolicyPtrInput added in v3.47.1

type ReplicationPolicyPtrInput interface {
	pulumi.Input

	ToReplicationPolicyPtrOutput() ReplicationPolicyPtrOutput
	ToReplicationPolicyPtrOutputWithContext(ctx context.Context) ReplicationPolicyPtrOutput
}

type ReplicationPolicyPtrOutput added in v3.47.1

type ReplicationPolicyPtrOutput struct {
	*pulumi.OutputState
}

func (ReplicationPolicyPtrOutput) ElementType added in v3.47.1

func (ReplicationPolicyPtrOutput) ElementType() reflect.Type

func (ReplicationPolicyPtrOutput) ToReplicationPolicyPtrOutput added in v3.47.1

func (o ReplicationPolicyPtrOutput) ToReplicationPolicyPtrOutput() ReplicationPolicyPtrOutput

func (ReplicationPolicyPtrOutput) ToReplicationPolicyPtrOutputWithContext added in v3.47.1

func (o ReplicationPolicyPtrOutput) ToReplicationPolicyPtrOutputWithContext(ctx context.Context) ReplicationPolicyPtrOutput

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