siterecovery

package
v6.17.0 Latest Latest
Warning

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

Go to latest
Published: Jan 28, 2025 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. Changing this forces a new resource to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// The name of the network mapping. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the vault that should be updated. Changing this forces a new resource to be created.
	RecoveryVaultName pulumi.StringOutput `pulumi:"recoveryVaultName"`
	// Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
	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/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/recoveryservices"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/siterecovery"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := core.NewResourceGroup(ctx, "primary", &core.ResourceGroupArgs{
			Name:     pulumi.String("tfex-network-mapping-primary"),
			Location: pulumi.String("West US"),
		})
		if err != nil {
			return err
		}
		secondary, err := core.NewResourceGroup(ctx, "secondary", &core.ResourceGroupArgs{
			Name:     pulumi.String("tfex-network-mapping-secondary"),
			Location: pulumi.String("East US"),
		})
		if err != nil {
			return err
		}
		vault, err := recoveryservices.NewVault(ctx, "vault", &recoveryservices.VaultArgs{
			Name:              pulumi.String("example-recovery-vault"),
			Location:          secondary.Location,
			ResourceGroupName: secondary.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewFabric(ctx, "fabric", &siterecovery.FabricArgs{
			Name:              pulumi.String("primary-fabric"),
			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

func (*Fabric) ElementType() reflect.Type

func (*Fabric) ToFabricOutput

func (i *Fabric) ToFabricOutput() FabricOutput

func (*Fabric) ToFabricOutputWithContext

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

type FabricArgs

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

The set of arguments for constructing a Fabric resource.

func (FabricArgs) ElementType

func (FabricArgs) ElementType() reflect.Type

type FabricArray

type FabricArray []FabricInput

func (FabricArray) ElementType

func (FabricArray) ElementType() reflect.Type

func (FabricArray) ToFabricArrayOutput

func (i FabricArray) ToFabricArrayOutput() FabricArrayOutput

func (FabricArray) ToFabricArrayOutputWithContext

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

type FabricArrayInput

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

type FabricArrayOutput struct{ *pulumi.OutputState }

func (FabricArrayOutput) ElementType

func (FabricArrayOutput) ElementType() reflect.Type

func (FabricArrayOutput) Index

func (FabricArrayOutput) ToFabricArrayOutput

func (o FabricArrayOutput) ToFabricArrayOutput() FabricArrayOutput

func (FabricArrayOutput) ToFabricArrayOutputWithContext

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

type FabricInput

type FabricInput interface {
	pulumi.Input

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

type FabricMap

type FabricMap map[string]FabricInput

func (FabricMap) ElementType

func (FabricMap) ElementType() reflect.Type

func (FabricMap) ToFabricMapOutput

func (i FabricMap) ToFabricMapOutput() FabricMapOutput

func (FabricMap) ToFabricMapOutputWithContext

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

type FabricMapInput

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

type FabricMapOutput struct{ *pulumi.OutputState }

func (FabricMapOutput) ElementType

func (FabricMapOutput) ElementType() reflect.Type

func (FabricMapOutput) MapIndex

func (FabricMapOutput) ToFabricMapOutput

func (o FabricMapOutput) ToFabricMapOutput() FabricMapOutput

func (FabricMapOutput) ToFabricMapOutputWithContext

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

type FabricOutput

type FabricOutput struct{ *pulumi.OutputState }

func (FabricOutput) ElementType

func (FabricOutput) ElementType() reflect.Type

func (FabricOutput) Location

func (o FabricOutput) Location() pulumi.StringOutput

In what region should the fabric be located. Changing this forces a new resource to be created.

func (FabricOutput) Name

func (o FabricOutput) Name() pulumi.StringOutput

The name of the network mapping. Changing this forces a new resource to be created.

func (FabricOutput) RecoveryVaultName

func (o FabricOutput) RecoveryVaultName() pulumi.StringOutput

The name of the vault that should be updated. Changing this forces a new resource to be created.

func (FabricOutput) ResourceGroupName

func (o FabricOutput) ResourceGroupName() pulumi.StringOutput

Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.

func (FabricOutput) ToFabricOutput

func (o FabricOutput) ToFabricOutput() FabricOutput

func (FabricOutput) ToFabricOutputWithContext

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

type FabricState

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

func (FabricState) ElementType

func (FabricState) ElementType() reflect.Type

type GetReplicationRecoveryPlanAzureToAzureSetting

type GetReplicationRecoveryPlanAzureToAzureSetting struct {
	PrimaryEdgeZone  string `pulumi:"primaryEdgeZone"`
	PrimaryZone      string `pulumi:"primaryZone"`
	RecoveryEdgeZone string `pulumi:"recoveryEdgeZone"`
	RecoveryZone     string `pulumi:"recoveryZone"`
}

type GetReplicationRecoveryPlanAzureToAzureSettingArgs

type GetReplicationRecoveryPlanAzureToAzureSettingArgs struct {
	PrimaryEdgeZone  pulumi.StringInput `pulumi:"primaryEdgeZone"`
	PrimaryZone      pulumi.StringInput `pulumi:"primaryZone"`
	RecoveryEdgeZone pulumi.StringInput `pulumi:"recoveryEdgeZone"`
	RecoveryZone     pulumi.StringInput `pulumi:"recoveryZone"`
}

func (GetReplicationRecoveryPlanAzureToAzureSettingArgs) ElementType

func (GetReplicationRecoveryPlanAzureToAzureSettingArgs) ToGetReplicationRecoveryPlanAzureToAzureSettingOutput

func (i GetReplicationRecoveryPlanAzureToAzureSettingArgs) ToGetReplicationRecoveryPlanAzureToAzureSettingOutput() GetReplicationRecoveryPlanAzureToAzureSettingOutput

func (GetReplicationRecoveryPlanAzureToAzureSettingArgs) ToGetReplicationRecoveryPlanAzureToAzureSettingOutputWithContext

func (i GetReplicationRecoveryPlanAzureToAzureSettingArgs) ToGetReplicationRecoveryPlanAzureToAzureSettingOutputWithContext(ctx context.Context) GetReplicationRecoveryPlanAzureToAzureSettingOutput

type GetReplicationRecoveryPlanAzureToAzureSettingArray

type GetReplicationRecoveryPlanAzureToAzureSettingArray []GetReplicationRecoveryPlanAzureToAzureSettingInput

func (GetReplicationRecoveryPlanAzureToAzureSettingArray) ElementType

func (GetReplicationRecoveryPlanAzureToAzureSettingArray) ToGetReplicationRecoveryPlanAzureToAzureSettingArrayOutput

func (i GetReplicationRecoveryPlanAzureToAzureSettingArray) ToGetReplicationRecoveryPlanAzureToAzureSettingArrayOutput() GetReplicationRecoveryPlanAzureToAzureSettingArrayOutput

func (GetReplicationRecoveryPlanAzureToAzureSettingArray) ToGetReplicationRecoveryPlanAzureToAzureSettingArrayOutputWithContext

func (i GetReplicationRecoveryPlanAzureToAzureSettingArray) ToGetReplicationRecoveryPlanAzureToAzureSettingArrayOutputWithContext(ctx context.Context) GetReplicationRecoveryPlanAzureToAzureSettingArrayOutput

type GetReplicationRecoveryPlanAzureToAzureSettingArrayInput

type GetReplicationRecoveryPlanAzureToAzureSettingArrayInput interface {
	pulumi.Input

	ToGetReplicationRecoveryPlanAzureToAzureSettingArrayOutput() GetReplicationRecoveryPlanAzureToAzureSettingArrayOutput
	ToGetReplicationRecoveryPlanAzureToAzureSettingArrayOutputWithContext(context.Context) GetReplicationRecoveryPlanAzureToAzureSettingArrayOutput
}

GetReplicationRecoveryPlanAzureToAzureSettingArrayInput is an input type that accepts GetReplicationRecoveryPlanAzureToAzureSettingArray and GetReplicationRecoveryPlanAzureToAzureSettingArrayOutput values. You can construct a concrete instance of `GetReplicationRecoveryPlanAzureToAzureSettingArrayInput` via:

GetReplicationRecoveryPlanAzureToAzureSettingArray{ GetReplicationRecoveryPlanAzureToAzureSettingArgs{...} }

type GetReplicationRecoveryPlanAzureToAzureSettingArrayOutput

type GetReplicationRecoveryPlanAzureToAzureSettingArrayOutput struct{ *pulumi.OutputState }

func (GetReplicationRecoveryPlanAzureToAzureSettingArrayOutput) ElementType

func (GetReplicationRecoveryPlanAzureToAzureSettingArrayOutput) Index

func (GetReplicationRecoveryPlanAzureToAzureSettingArrayOutput) ToGetReplicationRecoveryPlanAzureToAzureSettingArrayOutput

func (GetReplicationRecoveryPlanAzureToAzureSettingArrayOutput) ToGetReplicationRecoveryPlanAzureToAzureSettingArrayOutputWithContext

func (o GetReplicationRecoveryPlanAzureToAzureSettingArrayOutput) ToGetReplicationRecoveryPlanAzureToAzureSettingArrayOutputWithContext(ctx context.Context) GetReplicationRecoveryPlanAzureToAzureSettingArrayOutput

type GetReplicationRecoveryPlanAzureToAzureSettingInput

type GetReplicationRecoveryPlanAzureToAzureSettingInput interface {
	pulumi.Input

	ToGetReplicationRecoveryPlanAzureToAzureSettingOutput() GetReplicationRecoveryPlanAzureToAzureSettingOutput
	ToGetReplicationRecoveryPlanAzureToAzureSettingOutputWithContext(context.Context) GetReplicationRecoveryPlanAzureToAzureSettingOutput
}

GetReplicationRecoveryPlanAzureToAzureSettingInput is an input type that accepts GetReplicationRecoveryPlanAzureToAzureSettingArgs and GetReplicationRecoveryPlanAzureToAzureSettingOutput values. You can construct a concrete instance of `GetReplicationRecoveryPlanAzureToAzureSettingInput` via:

GetReplicationRecoveryPlanAzureToAzureSettingArgs{...}

type GetReplicationRecoveryPlanAzureToAzureSettingOutput

type GetReplicationRecoveryPlanAzureToAzureSettingOutput struct{ *pulumi.OutputState }

func (GetReplicationRecoveryPlanAzureToAzureSettingOutput) ElementType

func (GetReplicationRecoveryPlanAzureToAzureSettingOutput) PrimaryEdgeZone

func (GetReplicationRecoveryPlanAzureToAzureSettingOutput) PrimaryZone

func (GetReplicationRecoveryPlanAzureToAzureSettingOutput) RecoveryEdgeZone

func (GetReplicationRecoveryPlanAzureToAzureSettingOutput) RecoveryZone

func (GetReplicationRecoveryPlanAzureToAzureSettingOutput) ToGetReplicationRecoveryPlanAzureToAzureSettingOutput

func (o GetReplicationRecoveryPlanAzureToAzureSettingOutput) ToGetReplicationRecoveryPlanAzureToAzureSettingOutput() GetReplicationRecoveryPlanAzureToAzureSettingOutput

func (GetReplicationRecoveryPlanAzureToAzureSettingOutput) ToGetReplicationRecoveryPlanAzureToAzureSettingOutputWithContext

func (o GetReplicationRecoveryPlanAzureToAzureSettingOutput) ToGetReplicationRecoveryPlanAzureToAzureSettingOutputWithContext(ctx context.Context) GetReplicationRecoveryPlanAzureToAzureSettingOutput

type GetReplicationRecoveryPlanRecoveryGroup

type GetReplicationRecoveryPlanRecoveryGroup struct {
	// one or more `action` block. which will be executed after the group recovery.
	PostActions [][]GetReplicationRecoveryPlanRecoveryGroupPostAction `pulumi:"postActions"`
	// one or more `action` block. which will be executed before the group recovery.
	PreActions [][]GetReplicationRecoveryPlanRecoveryGroupPreAction `pulumi:"preActions"`
	// one or more id of protected VM.
	ReplicatedProtectedItems []string `pulumi:"replicatedProtectedItems"`
	// Type of the action detail.
	Type string `pulumi:"type"`
}

type GetReplicationRecoveryPlanRecoveryGroupArgs

type GetReplicationRecoveryPlanRecoveryGroupArgs struct {
	// one or more `action` block. which will be executed after the group recovery.
	PostActions GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayInput `pulumi:"postActions"`
	// one or more `action` block. which will be executed before the group recovery.
	PreActions GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayInput `pulumi:"preActions"`
	// one or more id of protected VM.
	ReplicatedProtectedItems pulumi.StringArrayInput `pulumi:"replicatedProtectedItems"`
	// Type of the action detail.
	Type pulumi.StringInput `pulumi:"type"`
}

func (GetReplicationRecoveryPlanRecoveryGroupArgs) ElementType

func (GetReplicationRecoveryPlanRecoveryGroupArgs) ToGetReplicationRecoveryPlanRecoveryGroupOutput

func (i GetReplicationRecoveryPlanRecoveryGroupArgs) ToGetReplicationRecoveryPlanRecoveryGroupOutput() GetReplicationRecoveryPlanRecoveryGroupOutput

func (GetReplicationRecoveryPlanRecoveryGroupArgs) ToGetReplicationRecoveryPlanRecoveryGroupOutputWithContext

func (i GetReplicationRecoveryPlanRecoveryGroupArgs) ToGetReplicationRecoveryPlanRecoveryGroupOutputWithContext(ctx context.Context) GetReplicationRecoveryPlanRecoveryGroupOutput

type GetReplicationRecoveryPlanRecoveryGroupArray

type GetReplicationRecoveryPlanRecoveryGroupArray []GetReplicationRecoveryPlanRecoveryGroupInput

func (GetReplicationRecoveryPlanRecoveryGroupArray) ElementType

func (GetReplicationRecoveryPlanRecoveryGroupArray) ToGetReplicationRecoveryPlanRecoveryGroupArrayOutput

func (i GetReplicationRecoveryPlanRecoveryGroupArray) ToGetReplicationRecoveryPlanRecoveryGroupArrayOutput() GetReplicationRecoveryPlanRecoveryGroupArrayOutput

func (GetReplicationRecoveryPlanRecoveryGroupArray) ToGetReplicationRecoveryPlanRecoveryGroupArrayOutputWithContext

func (i GetReplicationRecoveryPlanRecoveryGroupArray) ToGetReplicationRecoveryPlanRecoveryGroupArrayOutputWithContext(ctx context.Context) GetReplicationRecoveryPlanRecoveryGroupArrayOutput

type GetReplicationRecoveryPlanRecoveryGroupArrayInput

type GetReplicationRecoveryPlanRecoveryGroupArrayInput interface {
	pulumi.Input

	ToGetReplicationRecoveryPlanRecoveryGroupArrayOutput() GetReplicationRecoveryPlanRecoveryGroupArrayOutput
	ToGetReplicationRecoveryPlanRecoveryGroupArrayOutputWithContext(context.Context) GetReplicationRecoveryPlanRecoveryGroupArrayOutput
}

GetReplicationRecoveryPlanRecoveryGroupArrayInput is an input type that accepts GetReplicationRecoveryPlanRecoveryGroupArray and GetReplicationRecoveryPlanRecoveryGroupArrayOutput values. You can construct a concrete instance of `GetReplicationRecoveryPlanRecoveryGroupArrayInput` via:

GetReplicationRecoveryPlanRecoveryGroupArray{ GetReplicationRecoveryPlanRecoveryGroupArgs{...} }

type GetReplicationRecoveryPlanRecoveryGroupArrayOutput

type GetReplicationRecoveryPlanRecoveryGroupArrayOutput struct{ *pulumi.OutputState }

func (GetReplicationRecoveryPlanRecoveryGroupArrayOutput) ElementType

func (GetReplicationRecoveryPlanRecoveryGroupArrayOutput) Index

func (GetReplicationRecoveryPlanRecoveryGroupArrayOutput) ToGetReplicationRecoveryPlanRecoveryGroupArrayOutput

func (o GetReplicationRecoveryPlanRecoveryGroupArrayOutput) ToGetReplicationRecoveryPlanRecoveryGroupArrayOutput() GetReplicationRecoveryPlanRecoveryGroupArrayOutput

func (GetReplicationRecoveryPlanRecoveryGroupArrayOutput) ToGetReplicationRecoveryPlanRecoveryGroupArrayOutputWithContext

func (o GetReplicationRecoveryPlanRecoveryGroupArrayOutput) ToGetReplicationRecoveryPlanRecoveryGroupArrayOutputWithContext(ctx context.Context) GetReplicationRecoveryPlanRecoveryGroupArrayOutput

type GetReplicationRecoveryPlanRecoveryGroupInput

type GetReplicationRecoveryPlanRecoveryGroupInput interface {
	pulumi.Input

	ToGetReplicationRecoveryPlanRecoveryGroupOutput() GetReplicationRecoveryPlanRecoveryGroupOutput
	ToGetReplicationRecoveryPlanRecoveryGroupOutputWithContext(context.Context) GetReplicationRecoveryPlanRecoveryGroupOutput
}

GetReplicationRecoveryPlanRecoveryGroupInput is an input type that accepts GetReplicationRecoveryPlanRecoveryGroupArgs and GetReplicationRecoveryPlanRecoveryGroupOutput values. You can construct a concrete instance of `GetReplicationRecoveryPlanRecoveryGroupInput` via:

GetReplicationRecoveryPlanRecoveryGroupArgs{...}

type GetReplicationRecoveryPlanRecoveryGroupOutput

type GetReplicationRecoveryPlanRecoveryGroupOutput struct{ *pulumi.OutputState }

func (GetReplicationRecoveryPlanRecoveryGroupOutput) ElementType

func (GetReplicationRecoveryPlanRecoveryGroupOutput) PostActions

one or more `action` block. which will be executed after the group recovery.

func (GetReplicationRecoveryPlanRecoveryGroupOutput) PreActions

one or more `action` block. which will be executed before the group recovery.

func (GetReplicationRecoveryPlanRecoveryGroupOutput) ReplicatedProtectedItems

one or more id of protected VM.

func (GetReplicationRecoveryPlanRecoveryGroupOutput) ToGetReplicationRecoveryPlanRecoveryGroupOutput

func (o GetReplicationRecoveryPlanRecoveryGroupOutput) ToGetReplicationRecoveryPlanRecoveryGroupOutput() GetReplicationRecoveryPlanRecoveryGroupOutput

func (GetReplicationRecoveryPlanRecoveryGroupOutput) ToGetReplicationRecoveryPlanRecoveryGroupOutputWithContext

func (o GetReplicationRecoveryPlanRecoveryGroupOutput) ToGetReplicationRecoveryPlanRecoveryGroupOutputWithContext(ctx context.Context) GetReplicationRecoveryPlanRecoveryGroupOutput

func (GetReplicationRecoveryPlanRecoveryGroupOutput) Type

Type of the action detail.

type GetReplicationRecoveryPlanRecoveryGroupPostAction

type GetReplicationRecoveryPlanRecoveryGroupPostAction struct {
	// The fabric location of runbook or script.
	FabricLocation string `pulumi:"fabricLocation"`
	// Directions of fail over.
	FailOverDirections []string `pulumi:"failOverDirections"`
	// Types of fail over.
	FailOverTypes []string `pulumi:"failOverTypes"`
	// Instructions of manual action.
	ManualActionInstruction string `pulumi:"manualActionInstruction"`
	// The name of the Replication Plan.
	Name string `pulumi:"name"`
	// Id of runbook.
	RunbookId string `pulumi:"runbookId"`
	// Path of action script.
	ScriptPath string `pulumi:"scriptPath"`
	// Type of the action detail.
	Type string `pulumi:"type"`
}

type GetReplicationRecoveryPlanRecoveryGroupPostActionArgs

type GetReplicationRecoveryPlanRecoveryGroupPostActionArgs struct {
	// The fabric location of runbook or script.
	FabricLocation pulumi.StringInput `pulumi:"fabricLocation"`
	// Directions of fail over.
	FailOverDirections pulumi.StringArrayInput `pulumi:"failOverDirections"`
	// Types of fail over.
	FailOverTypes pulumi.StringArrayInput `pulumi:"failOverTypes"`
	// Instructions of manual action.
	ManualActionInstruction pulumi.StringInput `pulumi:"manualActionInstruction"`
	// The name of the Replication Plan.
	Name pulumi.StringInput `pulumi:"name"`
	// Id of runbook.
	RunbookId pulumi.StringInput `pulumi:"runbookId"`
	// Path of action script.
	ScriptPath pulumi.StringInput `pulumi:"scriptPath"`
	// Type of the action detail.
	Type pulumi.StringInput `pulumi:"type"`
}

func (GetReplicationRecoveryPlanRecoveryGroupPostActionArgs) ElementType

func (GetReplicationRecoveryPlanRecoveryGroupPostActionArgs) ToGetReplicationRecoveryPlanRecoveryGroupPostActionOutput

func (i GetReplicationRecoveryPlanRecoveryGroupPostActionArgs) ToGetReplicationRecoveryPlanRecoveryGroupPostActionOutput() GetReplicationRecoveryPlanRecoveryGroupPostActionOutput

func (GetReplicationRecoveryPlanRecoveryGroupPostActionArgs) ToGetReplicationRecoveryPlanRecoveryGroupPostActionOutputWithContext

func (i GetReplicationRecoveryPlanRecoveryGroupPostActionArgs) ToGetReplicationRecoveryPlanRecoveryGroupPostActionOutputWithContext(ctx context.Context) GetReplicationRecoveryPlanRecoveryGroupPostActionOutput

type GetReplicationRecoveryPlanRecoveryGroupPostActionArray

type GetReplicationRecoveryPlanRecoveryGroupPostActionArray []GetReplicationRecoveryPlanRecoveryGroupPostActionInput

func (GetReplicationRecoveryPlanRecoveryGroupPostActionArray) ElementType

func (GetReplicationRecoveryPlanRecoveryGroupPostActionArray) ToGetReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput

func (i GetReplicationRecoveryPlanRecoveryGroupPostActionArray) ToGetReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput() GetReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput

func (GetReplicationRecoveryPlanRecoveryGroupPostActionArray) ToGetReplicationRecoveryPlanRecoveryGroupPostActionArrayOutputWithContext

func (i GetReplicationRecoveryPlanRecoveryGroupPostActionArray) ToGetReplicationRecoveryPlanRecoveryGroupPostActionArrayOutputWithContext(ctx context.Context) GetReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput

type GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArray

type GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArray []GetReplicationRecoveryPlanRecoveryGroupPostActionArrayInput

func (GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArray) ElementType

func (GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArray) ToGetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayOutput

func (GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArray) ToGetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayOutputWithContext

func (i GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArray) ToGetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayOutputWithContext(ctx context.Context) GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayOutput

type GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayInput

type GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayInput interface {
	pulumi.Input

	ToGetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayOutput() GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayOutput
	ToGetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayOutputWithContext(context.Context) GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayOutput
}

GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayInput is an input type that accepts GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArray and GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayOutput values. You can construct a concrete instance of `GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayInput` via:

GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArray{ GetReplicationRecoveryPlanRecoveryGroupPostActionArray{ GetReplicationRecoveryPlanRecoveryGroupPostActionArgs{...} } }

type GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayOutput

type GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayOutput struct{ *pulumi.OutputState }

func (GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayOutput) ElementType

func (GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayOutput) Index

func (GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayOutput) ToGetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayOutput

func (GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayOutput) ToGetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayOutputWithContext

func (o GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayOutput) ToGetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayOutputWithContext(ctx context.Context) GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayOutput

type GetReplicationRecoveryPlanRecoveryGroupPostActionArrayInput

type GetReplicationRecoveryPlanRecoveryGroupPostActionArrayInput interface {
	pulumi.Input

	ToGetReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput() GetReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput
	ToGetReplicationRecoveryPlanRecoveryGroupPostActionArrayOutputWithContext(context.Context) GetReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput
}

GetReplicationRecoveryPlanRecoveryGroupPostActionArrayInput is an input type that accepts GetReplicationRecoveryPlanRecoveryGroupPostActionArray and GetReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput values. You can construct a concrete instance of `GetReplicationRecoveryPlanRecoveryGroupPostActionArrayInput` via:

GetReplicationRecoveryPlanRecoveryGroupPostActionArray{ GetReplicationRecoveryPlanRecoveryGroupPostActionArgs{...} }

type GetReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput

type GetReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput struct{ *pulumi.OutputState }

func (GetReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput) ElementType

func (GetReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput) Index

func (GetReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput) ToGetReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput

func (GetReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput) ToGetReplicationRecoveryPlanRecoveryGroupPostActionArrayOutputWithContext

func (o GetReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput) ToGetReplicationRecoveryPlanRecoveryGroupPostActionArrayOutputWithContext(ctx context.Context) GetReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput

type GetReplicationRecoveryPlanRecoveryGroupPostActionInput

type GetReplicationRecoveryPlanRecoveryGroupPostActionInput interface {
	pulumi.Input

	ToGetReplicationRecoveryPlanRecoveryGroupPostActionOutput() GetReplicationRecoveryPlanRecoveryGroupPostActionOutput
	ToGetReplicationRecoveryPlanRecoveryGroupPostActionOutputWithContext(context.Context) GetReplicationRecoveryPlanRecoveryGroupPostActionOutput
}

GetReplicationRecoveryPlanRecoveryGroupPostActionInput is an input type that accepts GetReplicationRecoveryPlanRecoveryGroupPostActionArgs and GetReplicationRecoveryPlanRecoveryGroupPostActionOutput values. You can construct a concrete instance of `GetReplicationRecoveryPlanRecoveryGroupPostActionInput` via:

GetReplicationRecoveryPlanRecoveryGroupPostActionArgs{...}

type GetReplicationRecoveryPlanRecoveryGroupPostActionOutput

type GetReplicationRecoveryPlanRecoveryGroupPostActionOutput struct{ *pulumi.OutputState }

func (GetReplicationRecoveryPlanRecoveryGroupPostActionOutput) ElementType

func (GetReplicationRecoveryPlanRecoveryGroupPostActionOutput) FabricLocation

The fabric location of runbook or script.

func (GetReplicationRecoveryPlanRecoveryGroupPostActionOutput) FailOverDirections

Directions of fail over.

func (GetReplicationRecoveryPlanRecoveryGroupPostActionOutput) FailOverTypes

Types of fail over.

func (GetReplicationRecoveryPlanRecoveryGroupPostActionOutput) ManualActionInstruction

Instructions of manual action.

func (GetReplicationRecoveryPlanRecoveryGroupPostActionOutput) Name

The name of the Replication Plan.

func (GetReplicationRecoveryPlanRecoveryGroupPostActionOutput) RunbookId

Id of runbook.

func (GetReplicationRecoveryPlanRecoveryGroupPostActionOutput) ScriptPath

Path of action script.

func (GetReplicationRecoveryPlanRecoveryGroupPostActionOutput) ToGetReplicationRecoveryPlanRecoveryGroupPostActionOutput

func (GetReplicationRecoveryPlanRecoveryGroupPostActionOutput) ToGetReplicationRecoveryPlanRecoveryGroupPostActionOutputWithContext

func (o GetReplicationRecoveryPlanRecoveryGroupPostActionOutput) ToGetReplicationRecoveryPlanRecoveryGroupPostActionOutputWithContext(ctx context.Context) GetReplicationRecoveryPlanRecoveryGroupPostActionOutput

func (GetReplicationRecoveryPlanRecoveryGroupPostActionOutput) Type

Type of the action detail.

type GetReplicationRecoveryPlanRecoveryGroupPreAction

type GetReplicationRecoveryPlanRecoveryGroupPreAction struct {
	// The fabric location of runbook or script.
	FabricLocation string `pulumi:"fabricLocation"`
	// Directions of fail over.
	FailOverDirections []string `pulumi:"failOverDirections"`
	// Types of fail over.
	FailOverTypes []string `pulumi:"failOverTypes"`
	// Instructions of manual action.
	ManualActionInstruction string `pulumi:"manualActionInstruction"`
	// The name of the Replication Plan.
	Name string `pulumi:"name"`
	// Id of runbook.
	RunbookId string `pulumi:"runbookId"`
	// Path of action script.
	ScriptPath string `pulumi:"scriptPath"`
	// Type of the action detail.
	Type string `pulumi:"type"`
}

type GetReplicationRecoveryPlanRecoveryGroupPreActionArgs

type GetReplicationRecoveryPlanRecoveryGroupPreActionArgs struct {
	// The fabric location of runbook or script.
	FabricLocation pulumi.StringInput `pulumi:"fabricLocation"`
	// Directions of fail over.
	FailOverDirections pulumi.StringArrayInput `pulumi:"failOverDirections"`
	// Types of fail over.
	FailOverTypes pulumi.StringArrayInput `pulumi:"failOverTypes"`
	// Instructions of manual action.
	ManualActionInstruction pulumi.StringInput `pulumi:"manualActionInstruction"`
	// The name of the Replication Plan.
	Name pulumi.StringInput `pulumi:"name"`
	// Id of runbook.
	RunbookId pulumi.StringInput `pulumi:"runbookId"`
	// Path of action script.
	ScriptPath pulumi.StringInput `pulumi:"scriptPath"`
	// Type of the action detail.
	Type pulumi.StringInput `pulumi:"type"`
}

func (GetReplicationRecoveryPlanRecoveryGroupPreActionArgs) ElementType

func (GetReplicationRecoveryPlanRecoveryGroupPreActionArgs) ToGetReplicationRecoveryPlanRecoveryGroupPreActionOutput

func (i GetReplicationRecoveryPlanRecoveryGroupPreActionArgs) ToGetReplicationRecoveryPlanRecoveryGroupPreActionOutput() GetReplicationRecoveryPlanRecoveryGroupPreActionOutput

func (GetReplicationRecoveryPlanRecoveryGroupPreActionArgs) ToGetReplicationRecoveryPlanRecoveryGroupPreActionOutputWithContext

func (i GetReplicationRecoveryPlanRecoveryGroupPreActionArgs) ToGetReplicationRecoveryPlanRecoveryGroupPreActionOutputWithContext(ctx context.Context) GetReplicationRecoveryPlanRecoveryGroupPreActionOutput

type GetReplicationRecoveryPlanRecoveryGroupPreActionArray

type GetReplicationRecoveryPlanRecoveryGroupPreActionArray []GetReplicationRecoveryPlanRecoveryGroupPreActionInput

func (GetReplicationRecoveryPlanRecoveryGroupPreActionArray) ElementType

func (GetReplicationRecoveryPlanRecoveryGroupPreActionArray) ToGetReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput

func (i GetReplicationRecoveryPlanRecoveryGroupPreActionArray) ToGetReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput() GetReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput

func (GetReplicationRecoveryPlanRecoveryGroupPreActionArray) ToGetReplicationRecoveryPlanRecoveryGroupPreActionArrayOutputWithContext

func (i GetReplicationRecoveryPlanRecoveryGroupPreActionArray) ToGetReplicationRecoveryPlanRecoveryGroupPreActionArrayOutputWithContext(ctx context.Context) GetReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput

type GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArray

type GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArray []GetReplicationRecoveryPlanRecoveryGroupPreActionArrayInput

func (GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArray) ElementType

func (GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArray) ToGetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayOutput

func (GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArray) ToGetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayOutputWithContext

func (i GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArray) ToGetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayOutputWithContext(ctx context.Context) GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayOutput

type GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayInput

type GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayInput interface {
	pulumi.Input

	ToGetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayOutput() GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayOutput
	ToGetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayOutputWithContext(context.Context) GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayOutput
}

GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayInput is an input type that accepts GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArray and GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayOutput values. You can construct a concrete instance of `GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayInput` via:

GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArray{ GetReplicationRecoveryPlanRecoveryGroupPreActionArray{ GetReplicationRecoveryPlanRecoveryGroupPreActionArgs{...} } }

type GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayOutput

type GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayOutput struct{ *pulumi.OutputState }

func (GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayOutput) ElementType

func (GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayOutput) Index

func (GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayOutput) ToGetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayOutput

func (GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayOutput) ToGetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayOutputWithContext

func (o GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayOutput) ToGetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayOutputWithContext(ctx context.Context) GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayOutput

type GetReplicationRecoveryPlanRecoveryGroupPreActionArrayInput

type GetReplicationRecoveryPlanRecoveryGroupPreActionArrayInput interface {
	pulumi.Input

	ToGetReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput() GetReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput
	ToGetReplicationRecoveryPlanRecoveryGroupPreActionArrayOutputWithContext(context.Context) GetReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput
}

GetReplicationRecoveryPlanRecoveryGroupPreActionArrayInput is an input type that accepts GetReplicationRecoveryPlanRecoveryGroupPreActionArray and GetReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput values. You can construct a concrete instance of `GetReplicationRecoveryPlanRecoveryGroupPreActionArrayInput` via:

GetReplicationRecoveryPlanRecoveryGroupPreActionArray{ GetReplicationRecoveryPlanRecoveryGroupPreActionArgs{...} }

type GetReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput

type GetReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput struct{ *pulumi.OutputState }

func (GetReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput) ElementType

func (GetReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput) Index

func (GetReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput) ToGetReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput

func (GetReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput) ToGetReplicationRecoveryPlanRecoveryGroupPreActionArrayOutputWithContext

func (o GetReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput) ToGetReplicationRecoveryPlanRecoveryGroupPreActionArrayOutputWithContext(ctx context.Context) GetReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput

type GetReplicationRecoveryPlanRecoveryGroupPreActionInput

type GetReplicationRecoveryPlanRecoveryGroupPreActionInput interface {
	pulumi.Input

	ToGetReplicationRecoveryPlanRecoveryGroupPreActionOutput() GetReplicationRecoveryPlanRecoveryGroupPreActionOutput
	ToGetReplicationRecoveryPlanRecoveryGroupPreActionOutputWithContext(context.Context) GetReplicationRecoveryPlanRecoveryGroupPreActionOutput
}

GetReplicationRecoveryPlanRecoveryGroupPreActionInput is an input type that accepts GetReplicationRecoveryPlanRecoveryGroupPreActionArgs and GetReplicationRecoveryPlanRecoveryGroupPreActionOutput values. You can construct a concrete instance of `GetReplicationRecoveryPlanRecoveryGroupPreActionInput` via:

GetReplicationRecoveryPlanRecoveryGroupPreActionArgs{...}

type GetReplicationRecoveryPlanRecoveryGroupPreActionOutput

type GetReplicationRecoveryPlanRecoveryGroupPreActionOutput struct{ *pulumi.OutputState }

func (GetReplicationRecoveryPlanRecoveryGroupPreActionOutput) ElementType

func (GetReplicationRecoveryPlanRecoveryGroupPreActionOutput) FabricLocation

The fabric location of runbook or script.

func (GetReplicationRecoveryPlanRecoveryGroupPreActionOutput) FailOverDirections

Directions of fail over.

func (GetReplicationRecoveryPlanRecoveryGroupPreActionOutput) FailOverTypes

Types of fail over.

func (GetReplicationRecoveryPlanRecoveryGroupPreActionOutput) ManualActionInstruction

Instructions of manual action.

func (GetReplicationRecoveryPlanRecoveryGroupPreActionOutput) Name

The name of the Replication Plan.

func (GetReplicationRecoveryPlanRecoveryGroupPreActionOutput) RunbookId

Id of runbook.

func (GetReplicationRecoveryPlanRecoveryGroupPreActionOutput) ScriptPath

Path of action script.

func (GetReplicationRecoveryPlanRecoveryGroupPreActionOutput) ToGetReplicationRecoveryPlanRecoveryGroupPreActionOutput

func (GetReplicationRecoveryPlanRecoveryGroupPreActionOutput) ToGetReplicationRecoveryPlanRecoveryGroupPreActionOutputWithContext

func (o GetReplicationRecoveryPlanRecoveryGroupPreActionOutput) ToGetReplicationRecoveryPlanRecoveryGroupPreActionOutputWithContext(ctx context.Context) GetReplicationRecoveryPlanRecoveryGroupPreActionOutput

func (GetReplicationRecoveryPlanRecoveryGroupPreActionOutput) Type

Type of the action detail.

type HyperVReplicationPolicy

type HyperVReplicationPolicy struct {
	pulumi.CustomResourceState

	// Specifies the frequency at which to create application consistent recovery points.
	ApplicationConsistentSnapshotFrequencyInHours pulumi.IntOutput `pulumi:"applicationConsistentSnapshotFrequencyInHours"`
	// The name of the replication policy. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The duration in hours for which the recovery points need to be stored.
	RecoveryPointRetentionInHours pulumi.IntOutput `pulumi:"recoveryPointRetentionInHours"`
	// The id of the vault that should be updated. Changing this forces a new resource to be created.
	RecoveryVaultId pulumi.StringOutput `pulumi:"recoveryVaultId"`
	// Specifies how frequently data should be synchronized between source and target locations. Possible values are `30` and `300`.
	ReplicationIntervalInSeconds pulumi.IntOutput `pulumi:"replicationIntervalInSeconds"`
}

Manages a Azure Site Recovery replication policy for HyperV 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/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/recoveryservices"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/siterecovery"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-rg"),
			Location: pulumi.String("East US"),
		})
		if err != nil {
			return err
		}
		vault, err := recoveryservices.NewVault(ctx, "vault", &recoveryservices.VaultArgs{
			Name:              pulumi.String("example-recovery-vault"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewHyperVReplicationPolicy(ctx, "policy", &siterecovery.HyperVReplicationPolicyArgs{
			Name:                          pulumi.String("policy"),
			RecoveryVaultId:               vault.ID(),
			RecoveryPointRetentionInHours: pulumi.Int(2),
			ApplicationConsistentSnapshotFrequencyInHours: pulumi.Int(1),
			ReplicationIntervalInSeconds:                  pulumi.Int(300),
		})
		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/hyperVReplicationPolicy:HyperVReplicationPolicy mypolicy /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.RecoveryServices/vaults/recovery-vault-name/replicationPolicies/policy-name ```

func GetHyperVReplicationPolicy

func GetHyperVReplicationPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HyperVReplicationPolicyState, opts ...pulumi.ResourceOption) (*HyperVReplicationPolicy, error)

GetHyperVReplicationPolicy gets an existing HyperVReplicationPolicy 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 NewHyperVReplicationPolicy

func NewHyperVReplicationPolicy(ctx *pulumi.Context,
	name string, args *HyperVReplicationPolicyArgs, opts ...pulumi.ResourceOption) (*HyperVReplicationPolicy, error)

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

func (*HyperVReplicationPolicy) ElementType

func (*HyperVReplicationPolicy) ElementType() reflect.Type

func (*HyperVReplicationPolicy) ToHyperVReplicationPolicyOutput

func (i *HyperVReplicationPolicy) ToHyperVReplicationPolicyOutput() HyperVReplicationPolicyOutput

func (*HyperVReplicationPolicy) ToHyperVReplicationPolicyOutputWithContext

func (i *HyperVReplicationPolicy) ToHyperVReplicationPolicyOutputWithContext(ctx context.Context) HyperVReplicationPolicyOutput

type HyperVReplicationPolicyArgs

type HyperVReplicationPolicyArgs struct {
	// Specifies the frequency at which to create application consistent recovery points.
	ApplicationConsistentSnapshotFrequencyInHours pulumi.IntInput
	// The name of the replication policy. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The duration in hours for which the recovery points need to be stored.
	RecoveryPointRetentionInHours pulumi.IntInput
	// The id of the vault that should be updated. Changing this forces a new resource to be created.
	RecoveryVaultId pulumi.StringInput
	// Specifies how frequently data should be synchronized between source and target locations. Possible values are `30` and `300`.
	ReplicationIntervalInSeconds pulumi.IntInput
}

The set of arguments for constructing a HyperVReplicationPolicy resource.

func (HyperVReplicationPolicyArgs) ElementType

type HyperVReplicationPolicyArray

type HyperVReplicationPolicyArray []HyperVReplicationPolicyInput

func (HyperVReplicationPolicyArray) ElementType

func (HyperVReplicationPolicyArray) ToHyperVReplicationPolicyArrayOutput

func (i HyperVReplicationPolicyArray) ToHyperVReplicationPolicyArrayOutput() HyperVReplicationPolicyArrayOutput

func (HyperVReplicationPolicyArray) ToHyperVReplicationPolicyArrayOutputWithContext

func (i HyperVReplicationPolicyArray) ToHyperVReplicationPolicyArrayOutputWithContext(ctx context.Context) HyperVReplicationPolicyArrayOutput

type HyperVReplicationPolicyArrayInput

type HyperVReplicationPolicyArrayInput interface {
	pulumi.Input

	ToHyperVReplicationPolicyArrayOutput() HyperVReplicationPolicyArrayOutput
	ToHyperVReplicationPolicyArrayOutputWithContext(context.Context) HyperVReplicationPolicyArrayOutput
}

HyperVReplicationPolicyArrayInput is an input type that accepts HyperVReplicationPolicyArray and HyperVReplicationPolicyArrayOutput values. You can construct a concrete instance of `HyperVReplicationPolicyArrayInput` via:

HyperVReplicationPolicyArray{ HyperVReplicationPolicyArgs{...} }

type HyperVReplicationPolicyArrayOutput

type HyperVReplicationPolicyArrayOutput struct{ *pulumi.OutputState }

func (HyperVReplicationPolicyArrayOutput) ElementType

func (HyperVReplicationPolicyArrayOutput) Index

func (HyperVReplicationPolicyArrayOutput) ToHyperVReplicationPolicyArrayOutput

func (o HyperVReplicationPolicyArrayOutput) ToHyperVReplicationPolicyArrayOutput() HyperVReplicationPolicyArrayOutput

func (HyperVReplicationPolicyArrayOutput) ToHyperVReplicationPolicyArrayOutputWithContext

func (o HyperVReplicationPolicyArrayOutput) ToHyperVReplicationPolicyArrayOutputWithContext(ctx context.Context) HyperVReplicationPolicyArrayOutput

type HyperVReplicationPolicyAssociation

type HyperVReplicationPolicyAssociation struct {
	pulumi.CustomResourceState

	// The ID of the HyperV site to which the policy should be associated. Changing this forces a new association to be created.
	HypervSiteId pulumi.StringOutput `pulumi:"hypervSiteId"`
	// The name of the replication policy association. Changing this forces a new association to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the HyperV replication policy which to be associated. Changing this forces a new association to be created.
	PolicyId pulumi.StringOutput `pulumi:"policyId"`
}

Manages an Azure Site Recovery replication policy for HyperV within a Recovery Vault.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-rg"),
			Location: pulumi.String("East US"),
		})
		if err != nil {
			return err
		}
		exampleVault, err := recoveryservices.NewVault(ctx, "example", &recoveryservices.VaultArgs{
			Name:              pulumi.String("example-recovery-vault"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		exampleHyperVSite, err := siterecovery.NewHyperVSite(ctx, "example", &siterecovery.HyperVSiteArgs{
			RecoveryVaultId: exampleVault.ID(),
			Name:            pulumi.String("example-site"),
		})
		if err != nil {
			return err
		}
		exampleHyperVReplicationPolicy, err := siterecovery.NewHyperVReplicationPolicy(ctx, "example", &siterecovery.HyperVReplicationPolicyArgs{
			Name:                          pulumi.String("policy"),
			RecoveryVaultId:               exampleVault.ID(),
			RecoveryPointRetentionInHours: pulumi.Int(2),
			ApplicationConsistentSnapshotFrequencyInHours: pulumi.Int(1),
			ReplicationIntervalInSeconds:                  pulumi.Int(300),
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewHyperVReplicationPolicyAssociation(ctx, "example", &siterecovery.HyperVReplicationPolicyAssociationArgs{
			Name:         pulumi.String("example-association"),
			HypervSiteId: exampleHyperVSite.ID(),
			PolicyId:     exampleHyperVReplicationPolicy.ID(),
		})
		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/hyperVReplicationPolicyAssociation:HyperVReplicationPolicyAssociation azurerm_site_recovery_hyperv_replication_policy_association.mypolicy /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.RecoveryServices/vaults/recovery-vault-name/replicationFabrics/site-name/replicationProtectionContainers/container-name/replicationProtectionContainerMappings/mapping-name ```

func GetHyperVReplicationPolicyAssociation

func GetHyperVReplicationPolicyAssociation(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HyperVReplicationPolicyAssociationState, opts ...pulumi.ResourceOption) (*HyperVReplicationPolicyAssociation, error)

GetHyperVReplicationPolicyAssociation gets an existing HyperVReplicationPolicyAssociation 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 NewHyperVReplicationPolicyAssociation

func NewHyperVReplicationPolicyAssociation(ctx *pulumi.Context,
	name string, args *HyperVReplicationPolicyAssociationArgs, opts ...pulumi.ResourceOption) (*HyperVReplicationPolicyAssociation, error)

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

func (*HyperVReplicationPolicyAssociation) ElementType

func (*HyperVReplicationPolicyAssociation) ToHyperVReplicationPolicyAssociationOutput

func (i *HyperVReplicationPolicyAssociation) ToHyperVReplicationPolicyAssociationOutput() HyperVReplicationPolicyAssociationOutput

func (*HyperVReplicationPolicyAssociation) ToHyperVReplicationPolicyAssociationOutputWithContext

func (i *HyperVReplicationPolicyAssociation) ToHyperVReplicationPolicyAssociationOutputWithContext(ctx context.Context) HyperVReplicationPolicyAssociationOutput

type HyperVReplicationPolicyAssociationArgs

type HyperVReplicationPolicyAssociationArgs struct {
	// The ID of the HyperV site to which the policy should be associated. Changing this forces a new association to be created.
	HypervSiteId pulumi.StringInput
	// The name of the replication policy association. Changing this forces a new association to be created.
	Name pulumi.StringPtrInput
	// The ID of the HyperV replication policy which to be associated. Changing this forces a new association to be created.
	PolicyId pulumi.StringInput
}

The set of arguments for constructing a HyperVReplicationPolicyAssociation resource.

func (HyperVReplicationPolicyAssociationArgs) ElementType

type HyperVReplicationPolicyAssociationArray

type HyperVReplicationPolicyAssociationArray []HyperVReplicationPolicyAssociationInput

func (HyperVReplicationPolicyAssociationArray) ElementType

func (HyperVReplicationPolicyAssociationArray) ToHyperVReplicationPolicyAssociationArrayOutput

func (i HyperVReplicationPolicyAssociationArray) ToHyperVReplicationPolicyAssociationArrayOutput() HyperVReplicationPolicyAssociationArrayOutput

func (HyperVReplicationPolicyAssociationArray) ToHyperVReplicationPolicyAssociationArrayOutputWithContext

func (i HyperVReplicationPolicyAssociationArray) ToHyperVReplicationPolicyAssociationArrayOutputWithContext(ctx context.Context) HyperVReplicationPolicyAssociationArrayOutput

type HyperVReplicationPolicyAssociationArrayInput

type HyperVReplicationPolicyAssociationArrayInput interface {
	pulumi.Input

	ToHyperVReplicationPolicyAssociationArrayOutput() HyperVReplicationPolicyAssociationArrayOutput
	ToHyperVReplicationPolicyAssociationArrayOutputWithContext(context.Context) HyperVReplicationPolicyAssociationArrayOutput
}

HyperVReplicationPolicyAssociationArrayInput is an input type that accepts HyperVReplicationPolicyAssociationArray and HyperVReplicationPolicyAssociationArrayOutput values. You can construct a concrete instance of `HyperVReplicationPolicyAssociationArrayInput` via:

HyperVReplicationPolicyAssociationArray{ HyperVReplicationPolicyAssociationArgs{...} }

type HyperVReplicationPolicyAssociationArrayOutput

type HyperVReplicationPolicyAssociationArrayOutput struct{ *pulumi.OutputState }

func (HyperVReplicationPolicyAssociationArrayOutput) ElementType

func (HyperVReplicationPolicyAssociationArrayOutput) Index

func (HyperVReplicationPolicyAssociationArrayOutput) ToHyperVReplicationPolicyAssociationArrayOutput

func (o HyperVReplicationPolicyAssociationArrayOutput) ToHyperVReplicationPolicyAssociationArrayOutput() HyperVReplicationPolicyAssociationArrayOutput

func (HyperVReplicationPolicyAssociationArrayOutput) ToHyperVReplicationPolicyAssociationArrayOutputWithContext

func (o HyperVReplicationPolicyAssociationArrayOutput) ToHyperVReplicationPolicyAssociationArrayOutputWithContext(ctx context.Context) HyperVReplicationPolicyAssociationArrayOutput

type HyperVReplicationPolicyAssociationInput

type HyperVReplicationPolicyAssociationInput interface {
	pulumi.Input

	ToHyperVReplicationPolicyAssociationOutput() HyperVReplicationPolicyAssociationOutput
	ToHyperVReplicationPolicyAssociationOutputWithContext(ctx context.Context) HyperVReplicationPolicyAssociationOutput
}

type HyperVReplicationPolicyAssociationMap

type HyperVReplicationPolicyAssociationMap map[string]HyperVReplicationPolicyAssociationInput

func (HyperVReplicationPolicyAssociationMap) ElementType

func (HyperVReplicationPolicyAssociationMap) ToHyperVReplicationPolicyAssociationMapOutput

func (i HyperVReplicationPolicyAssociationMap) ToHyperVReplicationPolicyAssociationMapOutput() HyperVReplicationPolicyAssociationMapOutput

func (HyperVReplicationPolicyAssociationMap) ToHyperVReplicationPolicyAssociationMapOutputWithContext

func (i HyperVReplicationPolicyAssociationMap) ToHyperVReplicationPolicyAssociationMapOutputWithContext(ctx context.Context) HyperVReplicationPolicyAssociationMapOutput

type HyperVReplicationPolicyAssociationMapInput

type HyperVReplicationPolicyAssociationMapInput interface {
	pulumi.Input

	ToHyperVReplicationPolicyAssociationMapOutput() HyperVReplicationPolicyAssociationMapOutput
	ToHyperVReplicationPolicyAssociationMapOutputWithContext(context.Context) HyperVReplicationPolicyAssociationMapOutput
}

HyperVReplicationPolicyAssociationMapInput is an input type that accepts HyperVReplicationPolicyAssociationMap and HyperVReplicationPolicyAssociationMapOutput values. You can construct a concrete instance of `HyperVReplicationPolicyAssociationMapInput` via:

HyperVReplicationPolicyAssociationMap{ "key": HyperVReplicationPolicyAssociationArgs{...} }

type HyperVReplicationPolicyAssociationMapOutput

type HyperVReplicationPolicyAssociationMapOutput struct{ *pulumi.OutputState }

func (HyperVReplicationPolicyAssociationMapOutput) ElementType

func (HyperVReplicationPolicyAssociationMapOutput) MapIndex

func (HyperVReplicationPolicyAssociationMapOutput) ToHyperVReplicationPolicyAssociationMapOutput

func (o HyperVReplicationPolicyAssociationMapOutput) ToHyperVReplicationPolicyAssociationMapOutput() HyperVReplicationPolicyAssociationMapOutput

func (HyperVReplicationPolicyAssociationMapOutput) ToHyperVReplicationPolicyAssociationMapOutputWithContext

func (o HyperVReplicationPolicyAssociationMapOutput) ToHyperVReplicationPolicyAssociationMapOutputWithContext(ctx context.Context) HyperVReplicationPolicyAssociationMapOutput

type HyperVReplicationPolicyAssociationOutput

type HyperVReplicationPolicyAssociationOutput struct{ *pulumi.OutputState }

func (HyperVReplicationPolicyAssociationOutput) ElementType

func (HyperVReplicationPolicyAssociationOutput) HypervSiteId

The ID of the HyperV site to which the policy should be associated. Changing this forces a new association to be created.

func (HyperVReplicationPolicyAssociationOutput) Name

The name of the replication policy association. Changing this forces a new association to be created.

func (HyperVReplicationPolicyAssociationOutput) PolicyId

The ID of the HyperV replication policy which to be associated. Changing this forces a new association to be created.

func (HyperVReplicationPolicyAssociationOutput) ToHyperVReplicationPolicyAssociationOutput

func (o HyperVReplicationPolicyAssociationOutput) ToHyperVReplicationPolicyAssociationOutput() HyperVReplicationPolicyAssociationOutput

func (HyperVReplicationPolicyAssociationOutput) ToHyperVReplicationPolicyAssociationOutputWithContext

func (o HyperVReplicationPolicyAssociationOutput) ToHyperVReplicationPolicyAssociationOutputWithContext(ctx context.Context) HyperVReplicationPolicyAssociationOutput

type HyperVReplicationPolicyAssociationState

type HyperVReplicationPolicyAssociationState struct {
	// The ID of the HyperV site to which the policy should be associated. Changing this forces a new association to be created.
	HypervSiteId pulumi.StringPtrInput
	// The name of the replication policy association. Changing this forces a new association to be created.
	Name pulumi.StringPtrInput
	// The ID of the HyperV replication policy which to be associated. Changing this forces a new association to be created.
	PolicyId pulumi.StringPtrInput
}

func (HyperVReplicationPolicyAssociationState) ElementType

type HyperVReplicationPolicyInput

type HyperVReplicationPolicyInput interface {
	pulumi.Input

	ToHyperVReplicationPolicyOutput() HyperVReplicationPolicyOutput
	ToHyperVReplicationPolicyOutputWithContext(ctx context.Context) HyperVReplicationPolicyOutput
}

type HyperVReplicationPolicyMap

type HyperVReplicationPolicyMap map[string]HyperVReplicationPolicyInput

func (HyperVReplicationPolicyMap) ElementType

func (HyperVReplicationPolicyMap) ElementType() reflect.Type

func (HyperVReplicationPolicyMap) ToHyperVReplicationPolicyMapOutput

func (i HyperVReplicationPolicyMap) ToHyperVReplicationPolicyMapOutput() HyperVReplicationPolicyMapOutput

func (HyperVReplicationPolicyMap) ToHyperVReplicationPolicyMapOutputWithContext

func (i HyperVReplicationPolicyMap) ToHyperVReplicationPolicyMapOutputWithContext(ctx context.Context) HyperVReplicationPolicyMapOutput

type HyperVReplicationPolicyMapInput

type HyperVReplicationPolicyMapInput interface {
	pulumi.Input

	ToHyperVReplicationPolicyMapOutput() HyperVReplicationPolicyMapOutput
	ToHyperVReplicationPolicyMapOutputWithContext(context.Context) HyperVReplicationPolicyMapOutput
}

HyperVReplicationPolicyMapInput is an input type that accepts HyperVReplicationPolicyMap and HyperVReplicationPolicyMapOutput values. You can construct a concrete instance of `HyperVReplicationPolicyMapInput` via:

HyperVReplicationPolicyMap{ "key": HyperVReplicationPolicyArgs{...} }

type HyperVReplicationPolicyMapOutput

type HyperVReplicationPolicyMapOutput struct{ *pulumi.OutputState }

func (HyperVReplicationPolicyMapOutput) ElementType

func (HyperVReplicationPolicyMapOutput) MapIndex

func (HyperVReplicationPolicyMapOutput) ToHyperVReplicationPolicyMapOutput

func (o HyperVReplicationPolicyMapOutput) ToHyperVReplicationPolicyMapOutput() HyperVReplicationPolicyMapOutput

func (HyperVReplicationPolicyMapOutput) ToHyperVReplicationPolicyMapOutputWithContext

func (o HyperVReplicationPolicyMapOutput) ToHyperVReplicationPolicyMapOutputWithContext(ctx context.Context) HyperVReplicationPolicyMapOutput

type HyperVReplicationPolicyOutput

type HyperVReplicationPolicyOutput struct{ *pulumi.OutputState }

func (HyperVReplicationPolicyOutput) ApplicationConsistentSnapshotFrequencyInHours

func (o HyperVReplicationPolicyOutput) ApplicationConsistentSnapshotFrequencyInHours() pulumi.IntOutput

Specifies the frequency at which to create application consistent recovery points.

func (HyperVReplicationPolicyOutput) ElementType

func (HyperVReplicationPolicyOutput) Name

The name of the replication policy. Changing this forces a new resource to be created.

func (HyperVReplicationPolicyOutput) RecoveryPointRetentionInHours

func (o HyperVReplicationPolicyOutput) RecoveryPointRetentionInHours() pulumi.IntOutput

The duration in hours for which the recovery points need to be stored.

func (HyperVReplicationPolicyOutput) RecoveryVaultId

The id of the vault that should be updated. Changing this forces a new resource to be created.

func (HyperVReplicationPolicyOutput) ReplicationIntervalInSeconds

func (o HyperVReplicationPolicyOutput) ReplicationIntervalInSeconds() pulumi.IntOutput

Specifies how frequently data should be synchronized between source and target locations. Possible values are `30` and `300`.

func (HyperVReplicationPolicyOutput) ToHyperVReplicationPolicyOutput

func (o HyperVReplicationPolicyOutput) ToHyperVReplicationPolicyOutput() HyperVReplicationPolicyOutput

func (HyperVReplicationPolicyOutput) ToHyperVReplicationPolicyOutputWithContext

func (o HyperVReplicationPolicyOutput) ToHyperVReplicationPolicyOutputWithContext(ctx context.Context) HyperVReplicationPolicyOutput

type HyperVReplicationPolicyState

type HyperVReplicationPolicyState struct {
	// Specifies the frequency at which to create application consistent recovery points.
	ApplicationConsistentSnapshotFrequencyInHours pulumi.IntPtrInput
	// The name of the replication policy. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The duration in hours for which the recovery points need to be stored.
	RecoveryPointRetentionInHours pulumi.IntPtrInput
	// The id of the vault that should be updated. Changing this forces a new resource to be created.
	RecoveryVaultId pulumi.StringPtrInput
	// Specifies how frequently data should be synchronized between source and target locations. Possible values are `30` and `300`.
	ReplicationIntervalInSeconds pulumi.IntPtrInput
}

func (HyperVReplicationPolicyState) ElementType

type HyperVSite

type HyperVSite struct {
	pulumi.CustomResourceState

	// The name which should be used for this Recovery Service. Changing this forces a new Site to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the Recovery Services Vault where the Site created. Changing this forces a new Site to be created.
	RecoveryVaultId pulumi.StringOutput `pulumi:"recoveryVaultId"`
}

Manages a HyperV Site in Recovery Service Vault.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-rg"),
			Location: pulumi.String("eastus"),
		})
		if err != nil {
			return err
		}
		exampleVault, err := recoveryservices.NewVault(ctx, "example", &recoveryservices.VaultArgs{
			Name:              pulumi.String("example-vault"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku:               pulumi.String("Standard"),
			SoftDeleteEnabled: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewHyperVSite(ctx, "example", &siterecovery.HyperVSiteArgs{
			Name:            pulumi.String("example-site"),
			RecoveryVaultId: exampleVault.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh $ pulumi import azure:siterecovery/hyperVSite:HyperVSite example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/fabric1 ```

func GetHyperVSite

func GetHyperVSite(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HyperVSiteState, opts ...pulumi.ResourceOption) (*HyperVSite, error)

GetHyperVSite gets an existing HyperVSite 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 NewHyperVSite

func NewHyperVSite(ctx *pulumi.Context,
	name string, args *HyperVSiteArgs, opts ...pulumi.ResourceOption) (*HyperVSite, error)

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

func (*HyperVSite) ElementType

func (*HyperVSite) ElementType() reflect.Type

func (*HyperVSite) ToHyperVSiteOutput

func (i *HyperVSite) ToHyperVSiteOutput() HyperVSiteOutput

func (*HyperVSite) ToHyperVSiteOutputWithContext

func (i *HyperVSite) ToHyperVSiteOutputWithContext(ctx context.Context) HyperVSiteOutput

type HyperVSiteArgs

type HyperVSiteArgs struct {
	// The name which should be used for this Recovery Service. Changing this forces a new Site to be created.
	Name pulumi.StringPtrInput
	// The ID of the Recovery Services Vault where the Site created. Changing this forces a new Site to be created.
	RecoveryVaultId pulumi.StringInput
}

The set of arguments for constructing a HyperVSite resource.

func (HyperVSiteArgs) ElementType

func (HyperVSiteArgs) ElementType() reflect.Type

type HyperVSiteArray

type HyperVSiteArray []HyperVSiteInput

func (HyperVSiteArray) ElementType

func (HyperVSiteArray) ElementType() reflect.Type

func (HyperVSiteArray) ToHyperVSiteArrayOutput

func (i HyperVSiteArray) ToHyperVSiteArrayOutput() HyperVSiteArrayOutput

func (HyperVSiteArray) ToHyperVSiteArrayOutputWithContext

func (i HyperVSiteArray) ToHyperVSiteArrayOutputWithContext(ctx context.Context) HyperVSiteArrayOutput

type HyperVSiteArrayInput

type HyperVSiteArrayInput interface {
	pulumi.Input

	ToHyperVSiteArrayOutput() HyperVSiteArrayOutput
	ToHyperVSiteArrayOutputWithContext(context.Context) HyperVSiteArrayOutput
}

HyperVSiteArrayInput is an input type that accepts HyperVSiteArray and HyperVSiteArrayOutput values. You can construct a concrete instance of `HyperVSiteArrayInput` via:

HyperVSiteArray{ HyperVSiteArgs{...} }

type HyperVSiteArrayOutput

type HyperVSiteArrayOutput struct{ *pulumi.OutputState }

func (HyperVSiteArrayOutput) ElementType

func (HyperVSiteArrayOutput) ElementType() reflect.Type

func (HyperVSiteArrayOutput) Index

func (HyperVSiteArrayOutput) ToHyperVSiteArrayOutput

func (o HyperVSiteArrayOutput) ToHyperVSiteArrayOutput() HyperVSiteArrayOutput

func (HyperVSiteArrayOutput) ToHyperVSiteArrayOutputWithContext

func (o HyperVSiteArrayOutput) ToHyperVSiteArrayOutputWithContext(ctx context.Context) HyperVSiteArrayOutput

type HyperVSiteInput

type HyperVSiteInput interface {
	pulumi.Input

	ToHyperVSiteOutput() HyperVSiteOutput
	ToHyperVSiteOutputWithContext(ctx context.Context) HyperVSiteOutput
}

type HyperVSiteMap

type HyperVSiteMap map[string]HyperVSiteInput

func (HyperVSiteMap) ElementType

func (HyperVSiteMap) ElementType() reflect.Type

func (HyperVSiteMap) ToHyperVSiteMapOutput

func (i HyperVSiteMap) ToHyperVSiteMapOutput() HyperVSiteMapOutput

func (HyperVSiteMap) ToHyperVSiteMapOutputWithContext

func (i HyperVSiteMap) ToHyperVSiteMapOutputWithContext(ctx context.Context) HyperVSiteMapOutput

type HyperVSiteMapInput

type HyperVSiteMapInput interface {
	pulumi.Input

	ToHyperVSiteMapOutput() HyperVSiteMapOutput
	ToHyperVSiteMapOutputWithContext(context.Context) HyperVSiteMapOutput
}

HyperVSiteMapInput is an input type that accepts HyperVSiteMap and HyperVSiteMapOutput values. You can construct a concrete instance of `HyperVSiteMapInput` via:

HyperVSiteMap{ "key": HyperVSiteArgs{...} }

type HyperVSiteMapOutput

type HyperVSiteMapOutput struct{ *pulumi.OutputState }

func (HyperVSiteMapOutput) ElementType

func (HyperVSiteMapOutput) ElementType() reflect.Type

func (HyperVSiteMapOutput) MapIndex

func (HyperVSiteMapOutput) ToHyperVSiteMapOutput

func (o HyperVSiteMapOutput) ToHyperVSiteMapOutput() HyperVSiteMapOutput

func (HyperVSiteMapOutput) ToHyperVSiteMapOutputWithContext

func (o HyperVSiteMapOutput) ToHyperVSiteMapOutputWithContext(ctx context.Context) HyperVSiteMapOutput

type HyperVSiteOutput

type HyperVSiteOutput struct{ *pulumi.OutputState }

func (HyperVSiteOutput) ElementType

func (HyperVSiteOutput) ElementType() reflect.Type

func (HyperVSiteOutput) Name

The name which should be used for this Recovery Service. Changing this forces a new Site to be created.

func (HyperVSiteOutput) RecoveryVaultId

func (o HyperVSiteOutput) RecoveryVaultId() pulumi.StringOutput

The ID of the Recovery Services Vault where the Site created. Changing this forces a new Site to be created.

func (HyperVSiteOutput) ToHyperVSiteOutput

func (o HyperVSiteOutput) ToHyperVSiteOutput() HyperVSiteOutput

func (HyperVSiteOutput) ToHyperVSiteOutputWithContext

func (o HyperVSiteOutput) ToHyperVSiteOutputWithContext(ctx context.Context) HyperVSiteOutput

type HyperVSiteState

type HyperVSiteState struct {
	// The name which should be used for this Recovery Service. Changing this forces a new Site to be created.
	Name pulumi.StringPtrInput
	// The ID of the Recovery Services Vault where the Site created. Changing this forces a new Site to be created.
	RecoveryVaultId pulumi.StringPtrInput
}

func (HyperVSiteState) ElementType

func (HyperVSiteState) ElementType() reflect.Type

type HypervNetworkMapping

type HypervNetworkMapping struct {
	pulumi.CustomResourceState

	// The name of the HyperV network mapping. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the Recovery Services Vault where the HyperV network mapping should be created. Changing this forces a new resource to be created.
	RecoveryVaultId pulumi.StringOutput `pulumi:"recoveryVaultId"`
	// The Name of the primary network. Changing this forces a new resource to be created.
	SourceNetworkName pulumi.StringOutput `pulumi:"sourceNetworkName"`
	// Specifies the name of source System Center Virtual Machine Manager where the source network exists. Changing this forces a new resource to be created.
	SourceSystemCenterVirtualMachineManagerName pulumi.StringOutput `pulumi:"sourceSystemCenterVirtualMachineManagerName"`
	// The id of the recovery network. Changing this forces a new resource to be created.
	TargetNetworkId pulumi.StringOutput `pulumi:"targetNetworkId"`
}

Manages a HyperV site recovery network mapping on Azure. A HyperV network mapping decides how to translate connected networks when a VM is migrated from HyperV VMM Center to Azure.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		target, err := core.NewResourceGroup(ctx, "target", &core.ResourceGroupArgs{
			Name:     pulumi.String("tfex-network-mapping"),
			Location: pulumi.String("East US"),
		})
		if err != nil {
			return err
		}
		vault, err := recoveryservices.NewVault(ctx, "vault", &recoveryservices.VaultArgs{
			Name:              pulumi.String("example-recovery-vault"),
			Location:          target.Location,
			ResourceGroupName: target.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		targetVirtualNetwork, err := network.NewVirtualNetwork(ctx, "target", &network.VirtualNetworkArgs{
			Name:              pulumi.String("network"),
			ResourceGroupName: target.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("192.168.2.0/24"),
			},
			Location: target.Location,
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewHypervNetworkMapping(ctx, "recovery-mapping", &siterecovery.HypervNetworkMappingArgs{
			Name:            pulumi.String("recovery-network-mapping"),
			RecoveryVaultId: vault.ID(),
			SourceSystemCenterVirtualMachineManagerName: pulumi.String("my-vmm-server"),
			SourceNetworkName: pulumi.String("my-vmm-network"),
			TargetNetworkId:   targetVirtualNetwork.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/hypervNetworkMapping:HypervNetworkMapping azurerm_site_recovery_hyperv_network_mapping.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 GetHypervNetworkMapping

func GetHypervNetworkMapping(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HypervNetworkMappingState, opts ...pulumi.ResourceOption) (*HypervNetworkMapping, error)

GetHypervNetworkMapping gets an existing HypervNetworkMapping 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 NewHypervNetworkMapping

func NewHypervNetworkMapping(ctx *pulumi.Context,
	name string, args *HypervNetworkMappingArgs, opts ...pulumi.ResourceOption) (*HypervNetworkMapping, error)

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

func (*HypervNetworkMapping) ElementType

func (*HypervNetworkMapping) ElementType() reflect.Type

func (*HypervNetworkMapping) ToHypervNetworkMappingOutput

func (i *HypervNetworkMapping) ToHypervNetworkMappingOutput() HypervNetworkMappingOutput

func (*HypervNetworkMapping) ToHypervNetworkMappingOutputWithContext

func (i *HypervNetworkMapping) ToHypervNetworkMappingOutputWithContext(ctx context.Context) HypervNetworkMappingOutput

type HypervNetworkMappingArgs

type HypervNetworkMappingArgs struct {
	// The name of the HyperV network mapping. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The ID of the Recovery Services Vault where the HyperV network mapping should be created. Changing this forces a new resource to be created.
	RecoveryVaultId pulumi.StringInput
	// The Name of the primary network. Changing this forces a new resource to be created.
	SourceNetworkName pulumi.StringInput
	// Specifies the name of source System Center Virtual Machine Manager where the source network exists. Changing this forces a new resource to be created.
	SourceSystemCenterVirtualMachineManagerName pulumi.StringInput
	// The id of the recovery network. Changing this forces a new resource to be created.
	TargetNetworkId pulumi.StringInput
}

The set of arguments for constructing a HypervNetworkMapping resource.

func (HypervNetworkMappingArgs) ElementType

func (HypervNetworkMappingArgs) ElementType() reflect.Type

type HypervNetworkMappingArray

type HypervNetworkMappingArray []HypervNetworkMappingInput

func (HypervNetworkMappingArray) ElementType

func (HypervNetworkMappingArray) ElementType() reflect.Type

func (HypervNetworkMappingArray) ToHypervNetworkMappingArrayOutput

func (i HypervNetworkMappingArray) ToHypervNetworkMappingArrayOutput() HypervNetworkMappingArrayOutput

func (HypervNetworkMappingArray) ToHypervNetworkMappingArrayOutputWithContext

func (i HypervNetworkMappingArray) ToHypervNetworkMappingArrayOutputWithContext(ctx context.Context) HypervNetworkMappingArrayOutput

type HypervNetworkMappingArrayInput

type HypervNetworkMappingArrayInput interface {
	pulumi.Input

	ToHypervNetworkMappingArrayOutput() HypervNetworkMappingArrayOutput
	ToHypervNetworkMappingArrayOutputWithContext(context.Context) HypervNetworkMappingArrayOutput
}

HypervNetworkMappingArrayInput is an input type that accepts HypervNetworkMappingArray and HypervNetworkMappingArrayOutput values. You can construct a concrete instance of `HypervNetworkMappingArrayInput` via:

HypervNetworkMappingArray{ HypervNetworkMappingArgs{...} }

type HypervNetworkMappingArrayOutput

type HypervNetworkMappingArrayOutput struct{ *pulumi.OutputState }

func (HypervNetworkMappingArrayOutput) ElementType

func (HypervNetworkMappingArrayOutput) Index

func (HypervNetworkMappingArrayOutput) ToHypervNetworkMappingArrayOutput

func (o HypervNetworkMappingArrayOutput) ToHypervNetworkMappingArrayOutput() HypervNetworkMappingArrayOutput

func (HypervNetworkMappingArrayOutput) ToHypervNetworkMappingArrayOutputWithContext

func (o HypervNetworkMappingArrayOutput) ToHypervNetworkMappingArrayOutputWithContext(ctx context.Context) HypervNetworkMappingArrayOutput

type HypervNetworkMappingInput

type HypervNetworkMappingInput interface {
	pulumi.Input

	ToHypervNetworkMappingOutput() HypervNetworkMappingOutput
	ToHypervNetworkMappingOutputWithContext(ctx context.Context) HypervNetworkMappingOutput
}

type HypervNetworkMappingMap

type HypervNetworkMappingMap map[string]HypervNetworkMappingInput

func (HypervNetworkMappingMap) ElementType

func (HypervNetworkMappingMap) ElementType() reflect.Type

func (HypervNetworkMappingMap) ToHypervNetworkMappingMapOutput

func (i HypervNetworkMappingMap) ToHypervNetworkMappingMapOutput() HypervNetworkMappingMapOutput

func (HypervNetworkMappingMap) ToHypervNetworkMappingMapOutputWithContext

func (i HypervNetworkMappingMap) ToHypervNetworkMappingMapOutputWithContext(ctx context.Context) HypervNetworkMappingMapOutput

type HypervNetworkMappingMapInput

type HypervNetworkMappingMapInput interface {
	pulumi.Input

	ToHypervNetworkMappingMapOutput() HypervNetworkMappingMapOutput
	ToHypervNetworkMappingMapOutputWithContext(context.Context) HypervNetworkMappingMapOutput
}

HypervNetworkMappingMapInput is an input type that accepts HypervNetworkMappingMap and HypervNetworkMappingMapOutput values. You can construct a concrete instance of `HypervNetworkMappingMapInput` via:

HypervNetworkMappingMap{ "key": HypervNetworkMappingArgs{...} }

type HypervNetworkMappingMapOutput

type HypervNetworkMappingMapOutput struct{ *pulumi.OutputState }

func (HypervNetworkMappingMapOutput) ElementType

func (HypervNetworkMappingMapOutput) MapIndex

func (HypervNetworkMappingMapOutput) ToHypervNetworkMappingMapOutput

func (o HypervNetworkMappingMapOutput) ToHypervNetworkMappingMapOutput() HypervNetworkMappingMapOutput

func (HypervNetworkMappingMapOutput) ToHypervNetworkMappingMapOutputWithContext

func (o HypervNetworkMappingMapOutput) ToHypervNetworkMappingMapOutputWithContext(ctx context.Context) HypervNetworkMappingMapOutput

type HypervNetworkMappingOutput

type HypervNetworkMappingOutput struct{ *pulumi.OutputState }

func (HypervNetworkMappingOutput) ElementType

func (HypervNetworkMappingOutput) ElementType() reflect.Type

func (HypervNetworkMappingOutput) Name

The name of the HyperV network mapping. Changing this forces a new resource to be created.

func (HypervNetworkMappingOutput) RecoveryVaultId

func (o HypervNetworkMappingOutput) RecoveryVaultId() pulumi.StringOutput

The ID of the Recovery Services Vault where the HyperV network mapping should be created. Changing this forces a new resource to be created.

func (HypervNetworkMappingOutput) SourceNetworkName

func (o HypervNetworkMappingOutput) SourceNetworkName() pulumi.StringOutput

The Name of the primary network. Changing this forces a new resource to be created.

func (HypervNetworkMappingOutput) SourceSystemCenterVirtualMachineManagerName

func (o HypervNetworkMappingOutput) SourceSystemCenterVirtualMachineManagerName() pulumi.StringOutput

Specifies the name of source System Center Virtual Machine Manager where the source network exists. Changing this forces a new resource to be created.

func (HypervNetworkMappingOutput) TargetNetworkId

func (o HypervNetworkMappingOutput) TargetNetworkId() pulumi.StringOutput

The id of the recovery network. Changing this forces a new resource to be created.

func (HypervNetworkMappingOutput) ToHypervNetworkMappingOutput

func (o HypervNetworkMappingOutput) ToHypervNetworkMappingOutput() HypervNetworkMappingOutput

func (HypervNetworkMappingOutput) ToHypervNetworkMappingOutputWithContext

func (o HypervNetworkMappingOutput) ToHypervNetworkMappingOutputWithContext(ctx context.Context) HypervNetworkMappingOutput

type HypervNetworkMappingState

type HypervNetworkMappingState struct {
	// The name of the HyperV network mapping. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The ID of the Recovery Services Vault where the HyperV network mapping should be created. Changing this forces a new resource to be created.
	RecoveryVaultId pulumi.StringPtrInput
	// The Name of the primary network. Changing this forces a new resource to be created.
	SourceNetworkName pulumi.StringPtrInput
	// Specifies the name of source System Center Virtual Machine Manager where the source network exists. Changing this forces a new resource to be created.
	SourceSystemCenterVirtualMachineManagerName pulumi.StringPtrInput
	// The id of the recovery network. Changing this forces a new resource to be created.
	TargetNetworkId pulumi.StringPtrInput
}

func (HypervNetworkMappingState) ElementType

func (HypervNetworkMappingState) ElementType() reflect.Type

type LookupFabricArgs

type LookupFabricArgs struct {
	// Specifies the name of the Site Recovery Replication Fabric.
	Name string `pulumi:"name"`
	// The name of the Recovery Services Vault that the Site Recovery Replication Fabric is associated witth.
	RecoveryVaultName string `pulumi:"recoveryVaultName"`
	// The name of the resource group in which the associated Recovery Services Vault resides.
	ResourceGroupName string `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getFabric.

type LookupFabricOutputArgs

type LookupFabricOutputArgs struct {
	// Specifies the name of the Site Recovery Replication Fabric.
	Name pulumi.StringInput `pulumi:"name"`
	// The name of the Recovery Services Vault that the Site Recovery Replication Fabric is associated witth.
	RecoveryVaultName pulumi.StringInput `pulumi:"recoveryVaultName"`
	// The name of the resource group in which the associated Recovery Services Vault resides.
	ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getFabric.

func (LookupFabricOutputArgs) ElementType

func (LookupFabricOutputArgs) ElementType() reflect.Type

type LookupFabricResult

type LookupFabricResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The Azure location where the Site Recovery Replication Fabric resides.
	Location          string `pulumi:"location"`
	Name              string `pulumi:"name"`
	RecoveryVaultName string `pulumi:"recoveryVaultName"`
	ResourceGroupName string `pulumi:"resourceGroupName"`
}

A collection of values returned by getFabric.

func LookupFabric

func LookupFabric(ctx *pulumi.Context, args *LookupFabricArgs, opts ...pulumi.InvokeOption) (*LookupFabricResult, error)

Use this data source to access information about an existing Site Recovery Replication Fabric.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/siterecovery"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := siterecovery.LookupFabric(ctx, &siterecovery.LookupFabricArgs{
			Name:              "primary-fabric",
			RecoveryVaultName: "tfex-recovery_vault",
			ResourceGroupName: "tfex-resource_group",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupFabricResultOutput

type LookupFabricResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getFabric.

func (LookupFabricResultOutput) ElementType

func (LookupFabricResultOutput) ElementType() reflect.Type

func (LookupFabricResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupFabricResultOutput) Location

The Azure location where the Site Recovery Replication Fabric resides.

func (LookupFabricResultOutput) Name

func (LookupFabricResultOutput) RecoveryVaultName

func (o LookupFabricResultOutput) RecoveryVaultName() pulumi.StringOutput

func (LookupFabricResultOutput) ResourceGroupName

func (o LookupFabricResultOutput) ResourceGroupName() pulumi.StringOutput

func (LookupFabricResultOutput) ToLookupFabricResultOutput

func (o LookupFabricResultOutput) ToLookupFabricResultOutput() LookupFabricResultOutput

func (LookupFabricResultOutput) ToLookupFabricResultOutputWithContext

func (o LookupFabricResultOutput) ToLookupFabricResultOutputWithContext(ctx context.Context) LookupFabricResultOutput

type LookupProtectionContainerArgs

type LookupProtectionContainerArgs struct {
	// Specifies the name of the protection container.
	Name string `pulumi:"name"`
	// The name of the fabric that contains the protection container.
	RecoveryFabricName string `pulumi:"recoveryFabricName"`
	// The name of the Recovery Services Vault that the protection container is associated witth.
	RecoveryVaultName string `pulumi:"recoveryVaultName"`
	// The name of the resource group in which the associated protection container resides.
	ResourceGroupName string `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getProtectionContainer.

type LookupProtectionContainerOutputArgs

type LookupProtectionContainerOutputArgs struct {
	// Specifies the name of the protection container.
	Name pulumi.StringInput `pulumi:"name"`
	// The name of the fabric that contains the protection container.
	RecoveryFabricName pulumi.StringInput `pulumi:"recoveryFabricName"`
	// The name of the Recovery Services Vault that the protection container is associated witth.
	RecoveryVaultName pulumi.StringInput `pulumi:"recoveryVaultName"`
	// The name of the resource group in which the associated protection container resides.
	ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getProtectionContainer.

func (LookupProtectionContainerOutputArgs) ElementType

type LookupProtectionContainerResult

type LookupProtectionContainerResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id                 string `pulumi:"id"`
	Name               string `pulumi:"name"`
	RecoveryFabricName string `pulumi:"recoveryFabricName"`
	RecoveryVaultName  string `pulumi:"recoveryVaultName"`
	ResourceGroupName  string `pulumi:"resourceGroupName"`
}

A collection of values returned by getProtectionContainer.

func LookupProtectionContainer

func LookupProtectionContainer(ctx *pulumi.Context, args *LookupProtectionContainerArgs, opts ...pulumi.InvokeOption) (*LookupProtectionContainerResult, error)

Use this data source to access information about an existing site recovery services protection container.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/siterecovery"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := siterecovery.LookupProtectionContainer(ctx, &siterecovery.LookupProtectionContainerArgs{
			Name:               "primary-container",
			RecoveryVaultName:  "tfex-recovery_vault",
			ResourceGroupName:  "tfex-resource_group",
			RecoveryFabricName: "primary-fabric",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupProtectionContainerResultOutput

type LookupProtectionContainerResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getProtectionContainer.

func (LookupProtectionContainerResultOutput) ElementType

func (LookupProtectionContainerResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupProtectionContainerResultOutput) Name

func (LookupProtectionContainerResultOutput) RecoveryFabricName

func (LookupProtectionContainerResultOutput) RecoveryVaultName

func (LookupProtectionContainerResultOutput) ResourceGroupName

func (LookupProtectionContainerResultOutput) ToLookupProtectionContainerResultOutput

func (o LookupProtectionContainerResultOutput) ToLookupProtectionContainerResultOutput() LookupProtectionContainerResultOutput

func (LookupProtectionContainerResultOutput) ToLookupProtectionContainerResultOutputWithContext

func (o LookupProtectionContainerResultOutput) ToLookupProtectionContainerResultOutputWithContext(ctx context.Context) LookupProtectionContainerResultOutput

type LookupReplicationPolicyArgs

type LookupReplicationPolicyArgs struct {
	// Specifies the name of the Azure Site Recovery replication policy.
	Name string `pulumi:"name"`
	// The name of the Recovery Services Vault that the Azure Site Recovery replication policy is associated witth.
	RecoveryVaultName string `pulumi:"recoveryVaultName"`
	// The name of the resource group in which the associated Azure Site Recovery replication policy resides.
	ResourceGroupName string `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getReplicationPolicy.

type LookupReplicationPolicyOutputArgs

type LookupReplicationPolicyOutputArgs struct {
	// Specifies the name of the Azure Site Recovery replication policy.
	Name pulumi.StringInput `pulumi:"name"`
	// The name of the Recovery Services Vault that the Azure Site Recovery replication policy is associated witth.
	RecoveryVaultName pulumi.StringInput `pulumi:"recoveryVaultName"`
	// The name of the resource group in which the associated Azure Site Recovery replication policy resides.
	ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getReplicationPolicy.

func (LookupReplicationPolicyOutputArgs) ElementType

type LookupReplicationPolicyResult

type LookupReplicationPolicyResult struct {
	// Specifies the frequency (in minutes) at which to create application consistent recovery.
	ApplicationConsistentSnapshotFrequencyInMinutes int `pulumi:"applicationConsistentSnapshotFrequencyInMinutes"`
	// The provider-assigned unique ID for this managed resource.
	Id   string `pulumi:"id"`
	Name string `pulumi:"name"`
	// The duration in minutes for which the recovery points need to be stored.
	RecoveryPointRetentionInMinutes int    `pulumi:"recoveryPointRetentionInMinutes"`
	RecoveryVaultName               string `pulumi:"recoveryVaultName"`
	ResourceGroupName               string `pulumi:"resourceGroupName"`
}

A collection of values returned by getReplicationPolicy.

func LookupReplicationPolicy

func LookupReplicationPolicy(ctx *pulumi.Context, args *LookupReplicationPolicyArgs, opts ...pulumi.InvokeOption) (*LookupReplicationPolicyResult, error)

Use this data source to access information about an existing Azure Site Recovery replication policy.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/siterecovery"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := siterecovery.LookupReplicationPolicy(ctx, &siterecovery.LookupReplicationPolicyArgs{
			Name:              "replication-policy",
			RecoveryVaultName: "tfex-recovery_vault",
			ResourceGroupName: "tfex-resource_group",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupReplicationPolicyResultOutput

type LookupReplicationPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getReplicationPolicy.

func (LookupReplicationPolicyResultOutput) ApplicationConsistentSnapshotFrequencyInMinutes

func (o LookupReplicationPolicyResultOutput) ApplicationConsistentSnapshotFrequencyInMinutes() pulumi.IntOutput

Specifies the frequency (in minutes) at which to create application consistent recovery.

func (LookupReplicationPolicyResultOutput) ElementType

func (LookupReplicationPolicyResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupReplicationPolicyResultOutput) Name

func (LookupReplicationPolicyResultOutput) RecoveryPointRetentionInMinutes

func (o LookupReplicationPolicyResultOutput) RecoveryPointRetentionInMinutes() pulumi.IntOutput

The duration in minutes for which the recovery points need to be stored.

func (LookupReplicationPolicyResultOutput) RecoveryVaultName

func (LookupReplicationPolicyResultOutput) ResourceGroupName

func (LookupReplicationPolicyResultOutput) ToLookupReplicationPolicyResultOutput

func (o LookupReplicationPolicyResultOutput) ToLookupReplicationPolicyResultOutput() LookupReplicationPolicyResultOutput

func (LookupReplicationPolicyResultOutput) ToLookupReplicationPolicyResultOutputWithContext

func (o LookupReplicationPolicyResultOutput) ToLookupReplicationPolicyResultOutputWithContext(ctx context.Context) LookupReplicationPolicyResultOutput

type LookupReplicationRecoveryPlanArgs

type LookupReplicationRecoveryPlanArgs struct {
	// The name of the Replication Plan.
	Name string `pulumi:"name"`
	// The ID of the vault that should be updated.
	RecoveryVaultId string `pulumi:"recoveryVaultId"`
}

A collection of arguments for invoking getReplicationRecoveryPlan.

type LookupReplicationRecoveryPlanOutputArgs

type LookupReplicationRecoveryPlanOutputArgs struct {
	// The name of the Replication Plan.
	Name pulumi.StringInput `pulumi:"name"`
	// The ID of the vault that should be updated.
	RecoveryVaultId pulumi.StringInput `pulumi:"recoveryVaultId"`
}

A collection of arguments for invoking getReplicationRecoveryPlan.

func (LookupReplicationRecoveryPlanOutputArgs) ElementType

type LookupReplicationRecoveryPlanResult

type LookupReplicationRecoveryPlanResult struct {
	AzureToAzureSettings    []GetReplicationRecoveryPlanAzureToAzureSetting `pulumi:"azureToAzureSettings"`
	FailoverDeploymentModel string                                          `pulumi:"failoverDeploymentModel"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// Name of the Action.
	Name string `pulumi:"name"`
	// `recoveryGroup` block defined as below.
	RecoveryGroups  []GetReplicationRecoveryPlanRecoveryGroup `pulumi:"recoveryGroups"`
	RecoveryVaultId string                                    `pulumi:"recoveryVaultId"`
	// The ID of source fabric to be recovered from.
	SourceRecoveryFabricId string `pulumi:"sourceRecoveryFabricId"`
	// The ID of target fabric to recover.
	TargetRecoveryFabricId string `pulumi:"targetRecoveryFabricId"`
}

A collection of values returned by getReplicationRecoveryPlan.

func LookupReplicationRecoveryPlan

Get information about an Azure Site Recovery Plan within a Recovery Services vault. A recovery plan gathers machines into recovery groups for the purpose of failover.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		vault, err := recoveryservices.LookupVault(ctx, &recoveryservices.LookupVaultArgs{
			Name:              "tfex-recovery_vault",
			ResourceGroupName: "tfex-resource_group",
		}, nil)
		if err != nil {
			return err
		}
		_, err = siterecovery.LookupReplicationRecoveryPlan(ctx, &siterecovery.LookupReplicationRecoveryPlanArgs{
			Name:            "example-recovery-plan",
			RecoveryVaultId: vault.Id,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupReplicationRecoveryPlanResultOutput

type LookupReplicationRecoveryPlanResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getReplicationRecoveryPlan.

func (LookupReplicationRecoveryPlanResultOutput) AzureToAzureSettings

func (LookupReplicationRecoveryPlanResultOutput) ElementType

func (LookupReplicationRecoveryPlanResultOutput) FailoverDeploymentModel

func (LookupReplicationRecoveryPlanResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupReplicationRecoveryPlanResultOutput) Name

Name of the Action.

func (LookupReplicationRecoveryPlanResultOutput) RecoveryGroups

`recoveryGroup` block defined as below.

func (LookupReplicationRecoveryPlanResultOutput) RecoveryVaultId

func (LookupReplicationRecoveryPlanResultOutput) SourceRecoveryFabricId

The ID of source fabric to be recovered from.

func (LookupReplicationRecoveryPlanResultOutput) TargetRecoveryFabricId

The ID of target fabric to recover.

func (LookupReplicationRecoveryPlanResultOutput) ToLookupReplicationRecoveryPlanResultOutput

func (o LookupReplicationRecoveryPlanResultOutput) ToLookupReplicationRecoveryPlanResultOutput() LookupReplicationRecoveryPlanResultOutput

func (LookupReplicationRecoveryPlanResultOutput) ToLookupReplicationRecoveryPlanResultOutputWithContext

func (o LookupReplicationRecoveryPlanResultOutput) ToLookupReplicationRecoveryPlanResultOutputWithContext(ctx context.Context) LookupReplicationRecoveryPlanResultOutput

type NetworkMapping

type NetworkMapping struct {
	pulumi.CustomResourceState

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

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

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := core.NewResourceGroup(ctx, "primary", &core.ResourceGroupArgs{
			Name:     pulumi.String("tfex-network-mapping-primary"),
			Location: pulumi.String("West US"),
		})
		if err != nil {
			return err
		}
		secondary, err := core.NewResourceGroup(ctx, "secondary", &core.ResourceGroupArgs{
			Name:     pulumi.String("tfex-network-mapping-secondary"),
			Location: pulumi.String("East US"),
		})
		if err != nil {
			return err
		}
		vault, err := recoveryservices.NewVault(ctx, "vault", &recoveryservices.VaultArgs{
			Name:              pulumi.String("example-recovery-vault"),
			Location:          secondary.Location,
			ResourceGroupName: secondary.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		primaryFabric, err := siterecovery.NewFabric(ctx, "primary", &siterecovery.FabricArgs{
			Name:              pulumi.String("primary-fabric"),
			ResourceGroupName: secondary.Name,
			RecoveryVaultName: vault.Name,
			Location:          primary.Location,
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewFabric(ctx, "secondary", &siterecovery.FabricArgs{
			Name:              pulumi.String("secondary-fabric"),
			ResourceGroupName: secondary.Name,
			RecoveryVaultName: vault.Name,
			Location:          secondary.Location,
		}, pulumi.DependsOn([]pulumi.Resource{
			primaryFabric,
		}))
		if err != nil {
			return err
		}
		primaryVirtualNetwork, err := network.NewVirtualNetwork(ctx, "primary", &network.VirtualNetworkArgs{
			Name:              pulumi.String("network1"),
			ResourceGroupName: primary.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("192.168.1.0/24"),
			},
			Location: primary.Location,
		})
		if err != nil {
			return err
		}
		secondaryVirtualNetwork, err := network.NewVirtualNetwork(ctx, "secondary", &network.VirtualNetworkArgs{
			Name:              pulumi.String("network2"),
			ResourceGroupName: secondary.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("192.168.2.0/24"),
			},
			Location: secondary.Location,
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewNetworkMapping(ctx, "recovery-mapping", &siterecovery.NetworkMappingArgs{
			Name:                     pulumi.String("recovery-network-mapping-1"),
			ResourceGroupName:        secondary.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

func (*NetworkMapping) ElementType() reflect.Type

func (*NetworkMapping) ToNetworkMappingOutput

func (i *NetworkMapping) ToNetworkMappingOutput() NetworkMappingOutput

func (*NetworkMapping) ToNetworkMappingOutputWithContext

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

type NetworkMappingArgs

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

The set of arguments for constructing a NetworkMapping resource.

func (NetworkMappingArgs) ElementType

func (NetworkMappingArgs) ElementType() reflect.Type

type NetworkMappingArray

type NetworkMappingArray []NetworkMappingInput

func (NetworkMappingArray) ElementType

func (NetworkMappingArray) ElementType() reflect.Type

func (NetworkMappingArray) ToNetworkMappingArrayOutput

func (i NetworkMappingArray) ToNetworkMappingArrayOutput() NetworkMappingArrayOutput

func (NetworkMappingArray) ToNetworkMappingArrayOutputWithContext

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

type NetworkMappingArrayInput

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

type NetworkMappingArrayOutput struct{ *pulumi.OutputState }

func (NetworkMappingArrayOutput) ElementType

func (NetworkMappingArrayOutput) ElementType() reflect.Type

func (NetworkMappingArrayOutput) Index

func (NetworkMappingArrayOutput) ToNetworkMappingArrayOutput

func (o NetworkMappingArrayOutput) ToNetworkMappingArrayOutput() NetworkMappingArrayOutput

func (NetworkMappingArrayOutput) ToNetworkMappingArrayOutputWithContext

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

type NetworkMappingInput

type NetworkMappingInput interface {
	pulumi.Input

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

type NetworkMappingMap

type NetworkMappingMap map[string]NetworkMappingInput

func (NetworkMappingMap) ElementType

func (NetworkMappingMap) ElementType() reflect.Type

func (NetworkMappingMap) ToNetworkMappingMapOutput

func (i NetworkMappingMap) ToNetworkMappingMapOutput() NetworkMappingMapOutput

func (NetworkMappingMap) ToNetworkMappingMapOutputWithContext

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

type NetworkMappingMapInput

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

type NetworkMappingMapOutput struct{ *pulumi.OutputState }

func (NetworkMappingMapOutput) ElementType

func (NetworkMappingMapOutput) ElementType() reflect.Type

func (NetworkMappingMapOutput) MapIndex

func (NetworkMappingMapOutput) ToNetworkMappingMapOutput

func (o NetworkMappingMapOutput) ToNetworkMappingMapOutput() NetworkMappingMapOutput

func (NetworkMappingMapOutput) ToNetworkMappingMapOutputWithContext

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

type NetworkMappingOutput

type NetworkMappingOutput struct{ *pulumi.OutputState }

func (NetworkMappingOutput) ElementType

func (NetworkMappingOutput) ElementType() reflect.Type

func (NetworkMappingOutput) Name

The name of the network mapping. Changing this forces a new resource to be created.

func (NetworkMappingOutput) RecoveryVaultName

func (o NetworkMappingOutput) RecoveryVaultName() pulumi.StringOutput

The name of the vault that should be updated. Changing this forces a new resource to be created.

func (NetworkMappingOutput) ResourceGroupName

func (o NetworkMappingOutput) ResourceGroupName() pulumi.StringOutput

Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.

func (NetworkMappingOutput) SourceNetworkId

func (o NetworkMappingOutput) SourceNetworkId() pulumi.StringOutput

The id of the primary network. Changing this forces a new resource to be created.

func (NetworkMappingOutput) SourceRecoveryFabricName

func (o NetworkMappingOutput) SourceRecoveryFabricName() pulumi.StringOutput

Specifies the ASR fabric where mapping should be created. Changing this forces a new resource to be created.

func (NetworkMappingOutput) TargetNetworkId

func (o NetworkMappingOutput) TargetNetworkId() pulumi.StringOutput

The id of the recovery network. Changing this forces a new resource to be created.

func (NetworkMappingOutput) TargetRecoveryFabricName

func (o NetworkMappingOutput) TargetRecoveryFabricName() pulumi.StringOutput

The Azure Site Recovery fabric object corresponding to the recovery Azure region. Changing this forces a new resource to be created.

func (NetworkMappingOutput) ToNetworkMappingOutput

func (o NetworkMappingOutput) ToNetworkMappingOutput() NetworkMappingOutput

func (NetworkMappingOutput) ToNetworkMappingOutputWithContext

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

type NetworkMappingState

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

func (NetworkMappingState) ElementType

func (NetworkMappingState) ElementType() reflect.Type

type ProtectionContainer

type ProtectionContainer struct {
	pulumi.CustomResourceState

	// The name of the protection container. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// Name of fabric that should contain this protection container. Changing this forces a new resource to be created.
	RecoveryFabricName pulumi.StringOutput `pulumi:"recoveryFabricName"`
	// The name of the vault that should be updated. Changing this forces a new resource to be created.
	RecoveryVaultName pulumi.StringOutput `pulumi:"recoveryVaultName"`
	// Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
	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/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/recoveryservices"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/siterecovery"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := core.NewResourceGroup(ctx, "primary", &core.ResourceGroupArgs{
			Name:     pulumi.String("tfex-network-mapping-primary"),
			Location: pulumi.String("West US"),
		})
		if err != nil {
			return err
		}
		secondary, err := core.NewResourceGroup(ctx, "secondary", &core.ResourceGroupArgs{
			Name:     pulumi.String("tfex-network-mapping-secondary"),
			Location: pulumi.String("East US"),
		})
		if err != nil {
			return err
		}
		vault, err := recoveryservices.NewVault(ctx, "vault", &recoveryservices.VaultArgs{
			Name:              pulumi.String("example-recovery-vault"),
			Location:          secondary.Location,
			ResourceGroupName: secondary.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		fabric, err := siterecovery.NewFabric(ctx, "fabric", &siterecovery.FabricArgs{
			Name:              pulumi.String("primary-fabric"),
			ResourceGroupName: secondary.Name,
			RecoveryVaultName: vault.Name,
			Location:          primary.Location,
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewProtectionContainer(ctx, "protection-container", &siterecovery.ProtectionContainerArgs{
			Name:               pulumi.String("protection-container"),
			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

func (*ProtectionContainer) ElementType() reflect.Type

func (*ProtectionContainer) ToProtectionContainerOutput

func (i *ProtectionContainer) ToProtectionContainerOutput() ProtectionContainerOutput

func (*ProtectionContainer) ToProtectionContainerOutputWithContext

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

type ProtectionContainerArgs

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

The set of arguments for constructing a ProtectionContainer resource.

func (ProtectionContainerArgs) ElementType

func (ProtectionContainerArgs) ElementType() reflect.Type

type ProtectionContainerArray

type ProtectionContainerArray []ProtectionContainerInput

func (ProtectionContainerArray) ElementType

func (ProtectionContainerArray) ElementType() reflect.Type

func (ProtectionContainerArray) ToProtectionContainerArrayOutput

func (i ProtectionContainerArray) ToProtectionContainerArrayOutput() ProtectionContainerArrayOutput

func (ProtectionContainerArray) ToProtectionContainerArrayOutputWithContext

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

type ProtectionContainerArrayInput

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

type ProtectionContainerArrayOutput struct{ *pulumi.OutputState }

func (ProtectionContainerArrayOutput) ElementType

func (ProtectionContainerArrayOutput) Index

func (ProtectionContainerArrayOutput) ToProtectionContainerArrayOutput

func (o ProtectionContainerArrayOutput) ToProtectionContainerArrayOutput() ProtectionContainerArrayOutput

func (ProtectionContainerArrayOutput) ToProtectionContainerArrayOutputWithContext

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

type ProtectionContainerInput

type ProtectionContainerInput interface {
	pulumi.Input

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

type ProtectionContainerMap

type ProtectionContainerMap map[string]ProtectionContainerInput

func (ProtectionContainerMap) ElementType

func (ProtectionContainerMap) ElementType() reflect.Type

func (ProtectionContainerMap) ToProtectionContainerMapOutput

func (i ProtectionContainerMap) ToProtectionContainerMapOutput() ProtectionContainerMapOutput

func (ProtectionContainerMap) ToProtectionContainerMapOutputWithContext

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

type ProtectionContainerMapInput

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

type ProtectionContainerMapOutput struct{ *pulumi.OutputState }

func (ProtectionContainerMapOutput) ElementType

func (ProtectionContainerMapOutput) MapIndex

func (ProtectionContainerMapOutput) ToProtectionContainerMapOutput

func (o ProtectionContainerMapOutput) ToProtectionContainerMapOutput() ProtectionContainerMapOutput

func (ProtectionContainerMapOutput) ToProtectionContainerMapOutputWithContext

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

type ProtectionContainerMapping

type ProtectionContainerMapping struct {
	pulumi.CustomResourceState

	// a `automaticUpdate` block defined as below.
	AutomaticUpdate ProtectionContainerMappingAutomaticUpdateOutput `pulumi:"automaticUpdate"`
	// The name of the protection container mapping. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// Name of fabric that should contains the protection container to map. Changing this forces a new resource to be created.
	RecoveryFabricName pulumi.StringOutput `pulumi:"recoveryFabricName"`
	// Id of the policy to use for this mapping. Changing this forces a new resource to be created.
	RecoveryReplicationPolicyId pulumi.StringOutput `pulumi:"recoveryReplicationPolicyId"`
	// Name of the source protection container to map. Changing this forces a new resource to be created.
	RecoverySourceProtectionContainerName pulumi.StringOutput `pulumi:"recoverySourceProtectionContainerName"`
	// Id of target protection container to map to. Changing this forces a new resource to be created.
	RecoveryTargetProtectionContainerId pulumi.StringOutput `pulumi:"recoveryTargetProtectionContainerId"`
	// The name of the vault that should be updated. Changing this forces a new resource to be created.
	RecoveryVaultName pulumi.StringOutput `pulumi:"recoveryVaultName"`
	// Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
	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/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/recoveryservices"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/siterecovery"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := core.NewResourceGroup(ctx, "primary", &core.ResourceGroupArgs{
			Name:     pulumi.String("tfex-network-mapping-primary"),
			Location: pulumi.String("West US"),
		})
		if err != nil {
			return err
		}
		secondary, err := core.NewResourceGroup(ctx, "secondary", &core.ResourceGroupArgs{
			Name:     pulumi.String("tfex-network-mapping-secondary"),
			Location: pulumi.String("East US"),
		})
		if err != nil {
			return err
		}
		vault, err := recoveryservices.NewVault(ctx, "vault", &recoveryservices.VaultArgs{
			Name:              pulumi.String("example-recovery-vault"),
			Location:          secondary.Location,
			ResourceGroupName: secondary.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		primaryFabric, err := siterecovery.NewFabric(ctx, "primary", &siterecovery.FabricArgs{
			Name:              pulumi.String("primary-fabric"),
			ResourceGroupName: secondary.Name,
			RecoveryVaultName: vault.Name,
			Location:          primary.Location,
		})
		if err != nil {
			return err
		}
		secondaryFabric, err := siterecovery.NewFabric(ctx, "secondary", &siterecovery.FabricArgs{
			Name:              pulumi.String("secondary-fabric"),
			ResourceGroupName: secondary.Name,
			RecoveryVaultName: vault.Name,
			Location:          secondary.Location,
		})
		if err != nil {
			return err
		}
		primaryProtectionContainer, err := siterecovery.NewProtectionContainer(ctx, "primary", &siterecovery.ProtectionContainerArgs{
			Name:               pulumi.String("primary-protection-container"),
			ResourceGroupName:  secondary.Name,
			RecoveryVaultName:  vault.Name,
			RecoveryFabricName: primaryFabric.Name,
		})
		if err != nil {
			return err
		}
		secondaryProtectionContainer, err := siterecovery.NewProtectionContainer(ctx, "secondary", &siterecovery.ProtectionContainerArgs{
			Name:               pulumi.String("secondary-protection-container"),
			ResourceGroupName:  secondary.Name,
			RecoveryVaultName:  vault.Name,
			RecoveryFabricName: secondaryFabric.Name,
		})
		if err != nil {
			return err
		}
		policy, err := siterecovery.NewReplicationPolicy(ctx, "policy", &siterecovery.ReplicationPolicyArgs{
			Name:                            pulumi.String("policy"),
			ResourceGroupName:               secondary.Name,
			RecoveryVaultName:               vault.Name,
			RecoveryPointRetentionInMinutes: int(24 * 60),
			ApplicationConsistentSnapshotFrequencyInMinutes: int(4 * 60),
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewProtectionContainerMapping(ctx, "container-mapping", &siterecovery.ProtectionContainerMappingArgs{
			Name:                                  pulumi.String("container-mapping"),
			ResourceGroupName:                     secondary.Name,
			RecoveryVaultName:                     vault.Name,
			RecoveryFabricName:                    primaryFabric.Name,
			RecoverySourceProtectionContainerName: primaryProtectionContainer.Name,
			RecoveryTargetProtectionContainerId:   secondaryProtectionContainer.ID(),
			RecoveryReplicationPolicyId:           policy.ID(),
		})
		if err != nil {
			return err
		}
		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/replicationFabrics/fabric1/replicationProtectionContainers/container1/replicationProtectionContainerMappings/mapping1 ```

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

func (*ProtectionContainerMapping) ElementType() reflect.Type

func (*ProtectionContainerMapping) ToProtectionContainerMappingOutput

func (i *ProtectionContainerMapping) ToProtectionContainerMappingOutput() ProtectionContainerMappingOutput

func (*ProtectionContainerMapping) ToProtectionContainerMappingOutputWithContext

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

type ProtectionContainerMappingArgs

type ProtectionContainerMappingArgs struct {
	// a `automaticUpdate` block defined as below.
	AutomaticUpdate ProtectionContainerMappingAutomaticUpdatePtrInput
	// The name of the protection container mapping. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Name of fabric that should contains the protection container to map. Changing this forces a new resource to be created.
	RecoveryFabricName pulumi.StringInput
	// Id of the policy to use for this mapping. Changing this forces a new resource to be created.
	RecoveryReplicationPolicyId pulumi.StringInput
	// Name of the source protection container to map. Changing this forces a new resource to be created.
	RecoverySourceProtectionContainerName pulumi.StringInput
	// Id of target protection container to map to. Changing this forces a new resource to be created.
	RecoveryTargetProtectionContainerId pulumi.StringInput
	// The name of the vault that should be updated. Changing this forces a new resource to be created.
	RecoveryVaultName pulumi.StringInput
	// Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
}

The set of arguments for constructing a ProtectionContainerMapping resource.

func (ProtectionContainerMappingArgs) ElementType

type ProtectionContainerMappingArray

type ProtectionContainerMappingArray []ProtectionContainerMappingInput

func (ProtectionContainerMappingArray) ElementType

func (ProtectionContainerMappingArray) ToProtectionContainerMappingArrayOutput

func (i ProtectionContainerMappingArray) ToProtectionContainerMappingArrayOutput() ProtectionContainerMappingArrayOutput

func (ProtectionContainerMappingArray) ToProtectionContainerMappingArrayOutputWithContext

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

type ProtectionContainerMappingArrayInput

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

type ProtectionContainerMappingArrayOutput struct{ *pulumi.OutputState }

func (ProtectionContainerMappingArrayOutput) ElementType

func (ProtectionContainerMappingArrayOutput) Index

func (ProtectionContainerMappingArrayOutput) ToProtectionContainerMappingArrayOutput

func (o ProtectionContainerMappingArrayOutput) ToProtectionContainerMappingArrayOutput() ProtectionContainerMappingArrayOutput

func (ProtectionContainerMappingArrayOutput) ToProtectionContainerMappingArrayOutputWithContext

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

type ProtectionContainerMappingAutomaticUpdate

type ProtectionContainerMappingAutomaticUpdate struct {
	// The authentication type used for automation account. Possible values are `RunAsAccount` and `SystemAssignedIdentity`. Defaults to `SystemAssignedIdentity`.
	//
	// > **Note:** `RunAsAccount` of `authenticationType` is deprecated and will retire on September 30, 2023. Details could be found [here](https://learn.microsoft.com/en-us/azure/automation/whats-new#support-for-run-as-accounts).
	AuthenticationType *string `pulumi:"authenticationType"`
	// The automation account ID which holds the automatic update runbook and authenticates to Azure resources.
	//
	// > **Note:** `automationAccountId` is required when `enabled` is specified.
	AutomationAccountId *string `pulumi:"automationAccountId"`
	// Should the Mobility service installed on Azure virtual machines be automatically updated. Defaults to `false`.
	//
	// > **Note:** The setting applies to all Azure VMs protected in the same container. For more details see [this document](https://learn.microsoft.com/en-us/azure/site-recovery/azure-to-azure-autoupdate#enable-automatic-updates)
	Enabled *bool `pulumi:"enabled"`
}

type ProtectionContainerMappingAutomaticUpdateArgs

type ProtectionContainerMappingAutomaticUpdateArgs struct {
	// The authentication type used for automation account. Possible values are `RunAsAccount` and `SystemAssignedIdentity`. Defaults to `SystemAssignedIdentity`.
	//
	// > **Note:** `RunAsAccount` of `authenticationType` is deprecated and will retire on September 30, 2023. Details could be found [here](https://learn.microsoft.com/en-us/azure/automation/whats-new#support-for-run-as-accounts).
	AuthenticationType pulumi.StringPtrInput `pulumi:"authenticationType"`
	// The automation account ID which holds the automatic update runbook and authenticates to Azure resources.
	//
	// > **Note:** `automationAccountId` is required when `enabled` is specified.
	AutomationAccountId pulumi.StringPtrInput `pulumi:"automationAccountId"`
	// Should the Mobility service installed on Azure virtual machines be automatically updated. Defaults to `false`.
	//
	// > **Note:** The setting applies to all Azure VMs protected in the same container. For more details see [this document](https://learn.microsoft.com/en-us/azure/site-recovery/azure-to-azure-autoupdate#enable-automatic-updates)
	Enabled pulumi.BoolPtrInput `pulumi:"enabled"`
}

func (ProtectionContainerMappingAutomaticUpdateArgs) ElementType

func (ProtectionContainerMappingAutomaticUpdateArgs) ToProtectionContainerMappingAutomaticUpdateOutput

func (i ProtectionContainerMappingAutomaticUpdateArgs) ToProtectionContainerMappingAutomaticUpdateOutput() ProtectionContainerMappingAutomaticUpdateOutput

func (ProtectionContainerMappingAutomaticUpdateArgs) ToProtectionContainerMappingAutomaticUpdateOutputWithContext

func (i ProtectionContainerMappingAutomaticUpdateArgs) ToProtectionContainerMappingAutomaticUpdateOutputWithContext(ctx context.Context) ProtectionContainerMappingAutomaticUpdateOutput

func (ProtectionContainerMappingAutomaticUpdateArgs) ToProtectionContainerMappingAutomaticUpdatePtrOutput

func (i ProtectionContainerMappingAutomaticUpdateArgs) ToProtectionContainerMappingAutomaticUpdatePtrOutput() ProtectionContainerMappingAutomaticUpdatePtrOutput

func (ProtectionContainerMappingAutomaticUpdateArgs) ToProtectionContainerMappingAutomaticUpdatePtrOutputWithContext

func (i ProtectionContainerMappingAutomaticUpdateArgs) ToProtectionContainerMappingAutomaticUpdatePtrOutputWithContext(ctx context.Context) ProtectionContainerMappingAutomaticUpdatePtrOutput

type ProtectionContainerMappingAutomaticUpdateInput

type ProtectionContainerMappingAutomaticUpdateInput interface {
	pulumi.Input

	ToProtectionContainerMappingAutomaticUpdateOutput() ProtectionContainerMappingAutomaticUpdateOutput
	ToProtectionContainerMappingAutomaticUpdateOutputWithContext(context.Context) ProtectionContainerMappingAutomaticUpdateOutput
}

ProtectionContainerMappingAutomaticUpdateInput is an input type that accepts ProtectionContainerMappingAutomaticUpdateArgs and ProtectionContainerMappingAutomaticUpdateOutput values. You can construct a concrete instance of `ProtectionContainerMappingAutomaticUpdateInput` via:

ProtectionContainerMappingAutomaticUpdateArgs{...}

type ProtectionContainerMappingAutomaticUpdateOutput

type ProtectionContainerMappingAutomaticUpdateOutput struct{ *pulumi.OutputState }

func (ProtectionContainerMappingAutomaticUpdateOutput) AuthenticationType

The authentication type used for automation account. Possible values are `RunAsAccount` and `SystemAssignedIdentity`. Defaults to `SystemAssignedIdentity`.

> **Note:** `RunAsAccount` of `authenticationType` is deprecated and will retire on September 30, 2023. Details could be found [here](https://learn.microsoft.com/en-us/azure/automation/whats-new#support-for-run-as-accounts).

func (ProtectionContainerMappingAutomaticUpdateOutput) AutomationAccountId

The automation account ID which holds the automatic update runbook and authenticates to Azure resources.

> **Note:** `automationAccountId` is required when `enabled` is specified.

func (ProtectionContainerMappingAutomaticUpdateOutput) ElementType

func (ProtectionContainerMappingAutomaticUpdateOutput) Enabled

Should the Mobility service installed on Azure virtual machines be automatically updated. Defaults to `false`.

> **Note:** The setting applies to all Azure VMs protected in the same container. For more details see [this document](https://learn.microsoft.com/en-us/azure/site-recovery/azure-to-azure-autoupdate#enable-automatic-updates)

func (ProtectionContainerMappingAutomaticUpdateOutput) ToProtectionContainerMappingAutomaticUpdateOutput

func (o ProtectionContainerMappingAutomaticUpdateOutput) ToProtectionContainerMappingAutomaticUpdateOutput() ProtectionContainerMappingAutomaticUpdateOutput

func (ProtectionContainerMappingAutomaticUpdateOutput) ToProtectionContainerMappingAutomaticUpdateOutputWithContext

func (o ProtectionContainerMappingAutomaticUpdateOutput) ToProtectionContainerMappingAutomaticUpdateOutputWithContext(ctx context.Context) ProtectionContainerMappingAutomaticUpdateOutput

func (ProtectionContainerMappingAutomaticUpdateOutput) ToProtectionContainerMappingAutomaticUpdatePtrOutput

func (o ProtectionContainerMappingAutomaticUpdateOutput) ToProtectionContainerMappingAutomaticUpdatePtrOutput() ProtectionContainerMappingAutomaticUpdatePtrOutput

func (ProtectionContainerMappingAutomaticUpdateOutput) ToProtectionContainerMappingAutomaticUpdatePtrOutputWithContext

func (o ProtectionContainerMappingAutomaticUpdateOutput) ToProtectionContainerMappingAutomaticUpdatePtrOutputWithContext(ctx context.Context) ProtectionContainerMappingAutomaticUpdatePtrOutput

type ProtectionContainerMappingAutomaticUpdatePtrInput

type ProtectionContainerMappingAutomaticUpdatePtrInput interface {
	pulumi.Input

	ToProtectionContainerMappingAutomaticUpdatePtrOutput() ProtectionContainerMappingAutomaticUpdatePtrOutput
	ToProtectionContainerMappingAutomaticUpdatePtrOutputWithContext(context.Context) ProtectionContainerMappingAutomaticUpdatePtrOutput
}

ProtectionContainerMappingAutomaticUpdatePtrInput is an input type that accepts ProtectionContainerMappingAutomaticUpdateArgs, ProtectionContainerMappingAutomaticUpdatePtr and ProtectionContainerMappingAutomaticUpdatePtrOutput values. You can construct a concrete instance of `ProtectionContainerMappingAutomaticUpdatePtrInput` via:

        ProtectionContainerMappingAutomaticUpdateArgs{...}

or:

        nil

type ProtectionContainerMappingAutomaticUpdatePtrOutput

type ProtectionContainerMappingAutomaticUpdatePtrOutput struct{ *pulumi.OutputState }

func (ProtectionContainerMappingAutomaticUpdatePtrOutput) AuthenticationType

The authentication type used for automation account. Possible values are `RunAsAccount` and `SystemAssignedIdentity`. Defaults to `SystemAssignedIdentity`.

> **Note:** `RunAsAccount` of `authenticationType` is deprecated and will retire on September 30, 2023. Details could be found [here](https://learn.microsoft.com/en-us/azure/automation/whats-new#support-for-run-as-accounts).

func (ProtectionContainerMappingAutomaticUpdatePtrOutput) AutomationAccountId

The automation account ID which holds the automatic update runbook and authenticates to Azure resources.

> **Note:** `automationAccountId` is required when `enabled` is specified.

func (ProtectionContainerMappingAutomaticUpdatePtrOutput) Elem

func (ProtectionContainerMappingAutomaticUpdatePtrOutput) ElementType

func (ProtectionContainerMappingAutomaticUpdatePtrOutput) Enabled

Should the Mobility service installed on Azure virtual machines be automatically updated. Defaults to `false`.

> **Note:** The setting applies to all Azure VMs protected in the same container. For more details see [this document](https://learn.microsoft.com/en-us/azure/site-recovery/azure-to-azure-autoupdate#enable-automatic-updates)

func (ProtectionContainerMappingAutomaticUpdatePtrOutput) ToProtectionContainerMappingAutomaticUpdatePtrOutput

func (o ProtectionContainerMappingAutomaticUpdatePtrOutput) ToProtectionContainerMappingAutomaticUpdatePtrOutput() ProtectionContainerMappingAutomaticUpdatePtrOutput

func (ProtectionContainerMappingAutomaticUpdatePtrOutput) ToProtectionContainerMappingAutomaticUpdatePtrOutputWithContext

func (o ProtectionContainerMappingAutomaticUpdatePtrOutput) ToProtectionContainerMappingAutomaticUpdatePtrOutputWithContext(ctx context.Context) ProtectionContainerMappingAutomaticUpdatePtrOutput

type ProtectionContainerMappingInput

type ProtectionContainerMappingInput interface {
	pulumi.Input

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

type ProtectionContainerMappingMap

type ProtectionContainerMappingMap map[string]ProtectionContainerMappingInput

func (ProtectionContainerMappingMap) ElementType

func (ProtectionContainerMappingMap) ToProtectionContainerMappingMapOutput

func (i ProtectionContainerMappingMap) ToProtectionContainerMappingMapOutput() ProtectionContainerMappingMapOutput

func (ProtectionContainerMappingMap) ToProtectionContainerMappingMapOutputWithContext

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

type ProtectionContainerMappingMapInput

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

type ProtectionContainerMappingMapOutput struct{ *pulumi.OutputState }

func (ProtectionContainerMappingMapOutput) ElementType

func (ProtectionContainerMappingMapOutput) MapIndex

func (ProtectionContainerMappingMapOutput) ToProtectionContainerMappingMapOutput

func (o ProtectionContainerMappingMapOutput) ToProtectionContainerMappingMapOutput() ProtectionContainerMappingMapOutput

func (ProtectionContainerMappingMapOutput) ToProtectionContainerMappingMapOutputWithContext

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

type ProtectionContainerMappingOutput

type ProtectionContainerMappingOutput struct{ *pulumi.OutputState }

func (ProtectionContainerMappingOutput) AutomaticUpdate

a `automaticUpdate` block defined as below.

func (ProtectionContainerMappingOutput) ElementType

func (ProtectionContainerMappingOutput) Name

The name of the protection container mapping. Changing this forces a new resource to be created.

func (ProtectionContainerMappingOutput) RecoveryFabricName

func (o ProtectionContainerMappingOutput) RecoveryFabricName() pulumi.StringOutput

Name of fabric that should contains the protection container to map. Changing this forces a new resource to be created.

func (ProtectionContainerMappingOutput) RecoveryReplicationPolicyId

func (o ProtectionContainerMappingOutput) RecoveryReplicationPolicyId() pulumi.StringOutput

Id of the policy to use for this mapping. Changing this forces a new resource to be created.

func (ProtectionContainerMappingOutput) RecoverySourceProtectionContainerName

func (o ProtectionContainerMappingOutput) RecoverySourceProtectionContainerName() pulumi.StringOutput

Name of the source protection container to map. Changing this forces a new resource to be created.

func (ProtectionContainerMappingOutput) RecoveryTargetProtectionContainerId

func (o ProtectionContainerMappingOutput) RecoveryTargetProtectionContainerId() pulumi.StringOutput

Id of target protection container to map to. Changing this forces a new resource to be created.

func (ProtectionContainerMappingOutput) RecoveryVaultName

The name of the vault that should be updated. Changing this forces a new resource to be created.

func (ProtectionContainerMappingOutput) ResourceGroupName

Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.

func (ProtectionContainerMappingOutput) ToProtectionContainerMappingOutput

func (o ProtectionContainerMappingOutput) ToProtectionContainerMappingOutput() ProtectionContainerMappingOutput

func (ProtectionContainerMappingOutput) ToProtectionContainerMappingOutputWithContext

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

type ProtectionContainerMappingState

type ProtectionContainerMappingState struct {
	// a `automaticUpdate` block defined as below.
	AutomaticUpdate ProtectionContainerMappingAutomaticUpdatePtrInput
	// The name of the protection container mapping. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Name of fabric that should contains the protection container to map. Changing this forces a new resource to be created.
	RecoveryFabricName pulumi.StringPtrInput
	// Id of the policy to use for this mapping. Changing this forces a new resource to be created.
	RecoveryReplicationPolicyId pulumi.StringPtrInput
	// Name of the source protection container to map. Changing this forces a new resource to be created.
	RecoverySourceProtectionContainerName pulumi.StringPtrInput
	// Id of target protection container to map to. Changing this forces a new resource to be created.
	RecoveryTargetProtectionContainerId pulumi.StringPtrInput
	// The name of the vault that should be updated. Changing this forces a new resource to be created.
	RecoveryVaultName pulumi.StringPtrInput
	// Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
}

func (ProtectionContainerMappingState) ElementType

type ProtectionContainerOutput

type ProtectionContainerOutput struct{ *pulumi.OutputState }

func (ProtectionContainerOutput) ElementType

func (ProtectionContainerOutput) ElementType() reflect.Type

func (ProtectionContainerOutput) Name

The name of the protection container. Changing this forces a new resource to be created.

func (ProtectionContainerOutput) RecoveryFabricName

func (o ProtectionContainerOutput) RecoveryFabricName() pulumi.StringOutput

Name of fabric that should contain this protection container. Changing this forces a new resource to be created.

func (ProtectionContainerOutput) RecoveryVaultName

func (o ProtectionContainerOutput) RecoveryVaultName() pulumi.StringOutput

The name of the vault that should be updated. Changing this forces a new resource to be created.

func (ProtectionContainerOutput) ResourceGroupName

func (o ProtectionContainerOutput) ResourceGroupName() pulumi.StringOutput

Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.

func (ProtectionContainerOutput) ToProtectionContainerOutput

func (o ProtectionContainerOutput) ToProtectionContainerOutput() ProtectionContainerOutput

func (ProtectionContainerOutput) ToProtectionContainerOutputWithContext

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

type ProtectionContainerState

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

func (ProtectionContainerState) ElementType

func (ProtectionContainerState) ElementType() reflect.Type

type ReplicatedVM

type ReplicatedVM struct {
	pulumi.CustomResourceState

	// One or more `managedDisk` block as defined below. Changing this forces a new resource to be created.
	ManagedDisks ReplicatedVMManagedDiskArrayOutput `pulumi:"managedDisks"`
	// Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
	MultiVmGroupName pulumi.StringPtrOutput `pulumi:"multiVmGroupName"`
	// The name of the replication for the replicated VM. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// One or more `networkInterface` block as defined below.
	NetworkInterfaces ReplicatedVMNetworkInterfaceArrayOutput `pulumi:"networkInterfaces"`
	// Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
	RecoveryReplicationPolicyId pulumi.StringOutput `pulumi:"recoveryReplicationPolicyId"`
	// The name of the vault that should be updated. Changing this forces a new resource to be created.
	RecoveryVaultName pulumi.StringOutput `pulumi:"recoveryVaultName"`
	// Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// Name of fabric that should contain this replication. Changing this forces a new resource to be created.
	SourceRecoveryFabricName pulumi.StringOutput `pulumi:"sourceRecoveryFabricName"`
	// Name of the protection container to use. Changing this forces a new resource to be created.
	SourceRecoveryProtectionContainerName pulumi.StringOutput `pulumi:"sourceRecoveryProtectionContainerName"`
	// Id of the VM to replicate Changing this forces a new resource to be created.
	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"`
	// Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
	TargetBootDiagnosticStorageAccountId pulumi.StringPtrOutput `pulumi:"targetBootDiagnosticStorageAccountId"`
	// Id of the Capacity reservation group where the new VM should belong to when a failover is done.
	TargetCapacityReservationGroupId pulumi.StringPtrOutput `pulumi:"targetCapacityReservationGroupId"`
	// Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
	TargetEdgeZone pulumi.StringPtrOutput `pulumi:"targetEdgeZone"`
	// 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 Proximity Placement Group the new VM should belong to when a failover is done.
	TargetProximityPlacementGroupId pulumi.StringPtrOutput `pulumi:"targetProximityPlacementGroupId"`
	// Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
	TargetRecoveryFabricId pulumi.StringOutput `pulumi:"targetRecoveryFabricId"`
	// Id of protection container where the VM replication should be created when a failover is done. Changing this forces a new resource to be created.
	TargetRecoveryProtectionContainerId pulumi.StringOutput `pulumi:"targetRecoveryProtectionContainerId"`
	// Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.
	TargetResourceGroupId pulumi.StringOutput `pulumi:"targetResourceGroupId"`
	// Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
	TargetVirtualMachineScaleSetId pulumi.StringPtrOutput `pulumi:"targetVirtualMachineScaleSetId"`
	// Specifies the size the Virtual Machine should have.
	TargetVirtualMachineSize pulumi.StringOutput `pulumi:"targetVirtualMachineSize"`
	// Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
	TargetZone pulumi.StringPtrOutput `pulumi:"targetZone"`
	// Network to use when a test failover is done.
	TestNetworkId pulumi.StringOutput `pulumi:"testNetworkId"`
	// One or more `unmanagedDisk` block as defined below. Changing this forces a new resource to be created.
	UnmanagedDisks ReplicatedVMUnmanagedDiskArrayOutput `pulumi:"unmanagedDisks"`
}

Manages a VM replicated using Azure Site Recovery (Azure to Azure only). A replicated VM keeps a copiously updated image of the VM in another region in order to be able to start the VM in that region in case of a disaster.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := core.NewResourceGroup(ctx, "primary", &core.ResourceGroupArgs{
			Name:     pulumi.String("tfex-replicated-vm-primary"),
			Location: pulumi.String("West US"),
		})
		if err != nil {
			return err
		}
		secondary, err := core.NewResourceGroup(ctx, "secondary", &core.ResourceGroupArgs{
			Name:     pulumi.String("tfex-replicated-vm-secondary"),
			Location: pulumi.String("East US"),
		})
		if err != nil {
			return err
		}
		primaryVirtualNetwork, err := network.NewVirtualNetwork(ctx, "primary", &network.VirtualNetworkArgs{
			Name:              pulumi.String("network1"),
			ResourceGroupName: primary.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("192.168.1.0/24"),
			},
			Location: primary.Location,
		})
		if err != nil {
			return err
		}
		primarySubnet, err := network.NewSubnet(ctx, "primary", &network.SubnetArgs{
			Name:               pulumi.String("network1-subnet"),
			ResourceGroupName:  primary.Name,
			VirtualNetworkName: primaryVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("192.168.1.0/24"),
			},
		})
		if err != nil {
			return err
		}
		primaryPublicIp, err := network.NewPublicIp(ctx, "primary", &network.PublicIpArgs{
			Name:              pulumi.String("vm-public-ip-primary"),
			AllocationMethod:  pulumi.String("Static"),
			Location:          primary.Location,
			ResourceGroupName: primary.Name,
			Sku:               pulumi.String("Basic"),
		})
		if err != nil {
			return err
		}
		vmNetworkInterface, err := network.NewNetworkInterface(ctx, "vm", &network.NetworkInterfaceArgs{
			Name:              pulumi.String("vm-nic"),
			Location:          primary.Location,
			ResourceGroupName: primary.Name,
			IpConfigurations: network.NetworkInterfaceIpConfigurationArray{
				&network.NetworkInterfaceIpConfigurationArgs{
					Name:                       pulumi.String("vm"),
					SubnetId:                   primarySubnet.ID(),
					PrivateIpAddressAllocation: pulumi.String("Dynamic"),
					PublicIpAddressId:          primaryPublicIp.ID(),
				},
			},
		})
		if err != nil {
			return err
		}
		vm, err := compute.NewVirtualMachine(ctx, "vm", &compute.VirtualMachineArgs{
			Name:              pulumi.String("vm"),
			Location:          primary.Location,
			ResourceGroupName: primary.Name,
			VmSize:            pulumi.String("Standard_B1s"),
			NetworkInterfaceIds: pulumi.StringArray{
				vmNetworkInterface.ID(),
			},
			StorageImageReference: &compute.VirtualMachineStorageImageReferenceArgs{
				Publisher: pulumi.String("Canonical"),
				Offer:     pulumi.String("0001-com-ubuntu-server-jammy"),
				Sku:       pulumi.String("22_04-lts"),
				Version:   pulumi.String("latest"),
			},
			StorageOsDisk: &compute.VirtualMachineStorageOsDiskArgs{
				Name:            pulumi.String("vm-os-disk"),
				OsType:          pulumi.String("Linux"),
				Caching:         pulumi.String("ReadWrite"),
				CreateOption:    pulumi.String("FromImage"),
				ManagedDiskType: pulumi.String("Premium_LRS"),
			},
			OsProfile: &compute.VirtualMachineOsProfileArgs{
				AdminUsername: pulumi.String("test-admin-123"),
				AdminPassword: pulumi.String("test-pwd-123"),
				ComputerName:  pulumi.String("vm"),
			},
			OsProfileLinuxConfig: &compute.VirtualMachineOsProfileLinuxConfigArgs{
				DisablePasswordAuthentication: pulumi.Bool(false),
			},
		})
		if err != nil {
			return err
		}
		vault, err := recoveryservices.NewVault(ctx, "vault", &recoveryservices.VaultArgs{
			Name:              pulumi.String("example-recovery-vault"),
			Location:          secondary.Location,
			ResourceGroupName: secondary.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		primaryFabric, err := siterecovery.NewFabric(ctx, "primary", &siterecovery.FabricArgs{
			Name:              pulumi.String("primary-fabric"),
			ResourceGroupName: secondary.Name,
			RecoveryVaultName: vault.Name,
			Location:          primary.Location,
		})
		if err != nil {
			return err
		}
		secondaryFabric, err := siterecovery.NewFabric(ctx, "secondary", &siterecovery.FabricArgs{
			Name:              pulumi.String("secondary-fabric"),
			ResourceGroupName: secondary.Name,
			RecoveryVaultName: vault.Name,
			Location:          secondary.Location,
		})
		if err != nil {
			return err
		}
		primaryProtectionContainer, err := siterecovery.NewProtectionContainer(ctx, "primary", &siterecovery.ProtectionContainerArgs{
			Name:               pulumi.String("primary-protection-container"),
			ResourceGroupName:  secondary.Name,
			RecoveryVaultName:  vault.Name,
			RecoveryFabricName: primaryFabric.Name,
		})
		if err != nil {
			return err
		}
		secondaryProtectionContainer, err := siterecovery.NewProtectionContainer(ctx, "secondary", &siterecovery.ProtectionContainerArgs{
			Name:               pulumi.String("secondary-protection-container"),
			ResourceGroupName:  secondary.Name,
			RecoveryVaultName:  vault.Name,
			RecoveryFabricName: secondaryFabric.Name,
		})
		if err != nil {
			return err
		}
		policy, err := siterecovery.NewReplicationPolicy(ctx, "policy", &siterecovery.ReplicationPolicyArgs{
			Name:                            pulumi.String("policy"),
			ResourceGroupName:               secondary.Name,
			RecoveryVaultName:               vault.Name,
			RecoveryPointRetentionInMinutes: int(24 * 60),
			ApplicationConsistentSnapshotFrequencyInMinutes: int(4 * 60),
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewProtectionContainerMapping(ctx, "container-mapping", &siterecovery.ProtectionContainerMappingArgs{
			Name:                                  pulumi.String("container-mapping"),
			ResourceGroupName:                     secondary.Name,
			RecoveryVaultName:                     vault.Name,
			RecoveryFabricName:                    primaryFabric.Name,
			RecoverySourceProtectionContainerName: primaryProtectionContainer.Name,
			RecoveryTargetProtectionContainerId:   secondaryProtectionContainer.ID(),
			RecoveryReplicationPolicyId:           policy.ID(),
		})
		if err != nil {
			return err
		}
		secondaryVirtualNetwork, err := network.NewVirtualNetwork(ctx, "secondary", &network.VirtualNetworkArgs{
			Name:              pulumi.String("network2"),
			ResourceGroupName: secondary.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("192.168.2.0/24"),
			},
			Location: secondary.Location,
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewNetworkMapping(ctx, "network-mapping", &siterecovery.NetworkMappingArgs{
			Name:                     pulumi.String("network-mapping"),
			ResourceGroupName:        secondary.Name,
			RecoveryVaultName:        vault.Name,
			SourceRecoveryFabricName: primaryFabric.Name,
			TargetRecoveryFabricName: secondaryFabric.Name,
			SourceNetworkId:          primaryVirtualNetwork.ID(),
			TargetNetworkId:          secondaryVirtualNetwork.ID(),
		})
		if err != nil {
			return err
		}
		primaryAccount, err := storage.NewAccount(ctx, "primary", &storage.AccountArgs{
			Name:                   pulumi.String("primaryrecoverycache"),
			Location:               primary.Location,
			ResourceGroupName:      primary.Name,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("LRS"),
		})
		if err != nil {
			return err
		}
		secondarySubnet, err := network.NewSubnet(ctx, "secondary", &network.SubnetArgs{
			Name:               pulumi.String("network2-subnet"),
			ResourceGroupName:  secondary.Name,
			VirtualNetworkName: secondaryVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("192.168.2.0/24"),
			},
		})
		if err != nil {
			return err
		}
		secondaryPublicIp, err := network.NewPublicIp(ctx, "secondary", &network.PublicIpArgs{
			Name:              pulumi.String("vm-public-ip-secondary"),
			AllocationMethod:  pulumi.String("Static"),
			Location:          secondary.Location,
			ResourceGroupName: secondary.Name,
			Sku:               pulumi.String("Basic"),
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewReplicatedVM(ctx, "vm-replication", &siterecovery.ReplicatedVMArgs{
			Name:                                  pulumi.String("vm-replication"),
			ResourceGroupName:                     secondary.Name,
			RecoveryVaultName:                     vault.Name,
			SourceRecoveryFabricName:              primaryFabric.Name,
			SourceVmId:                            vm.ID(),
			RecoveryReplicationPolicyId:           policy.ID(),
			SourceRecoveryProtectionContainerName: primaryProtectionContainer.Name,
			TargetResourceGroupId:                 secondary.ID(),
			TargetRecoveryFabricId:                secondaryFabric.ID(),
			TargetRecoveryProtectionContainerId:   secondaryProtectionContainer.ID(),
			ManagedDisks: siterecovery.ReplicatedVMManagedDiskArray{
				&siterecovery.ReplicatedVMManagedDiskArgs{
					DiskId: vm.StorageOsDisk.ApplyT(func(storageOsDisk compute.VirtualMachineStorageOsDisk) (*string, error) {
						return &storageOsDisk.ManagedDiskId, nil
					}).(pulumi.StringPtrOutput),
					StagingStorageAccountId: primaryAccount.ID(),
					TargetResourceGroupId:   secondary.ID(),
					TargetDiskType:          pulumi.String("Premium_LRS"),
					TargetReplicaDiskType:   pulumi.String("Premium_LRS"),
				},
			},
			NetworkInterfaces: siterecovery.ReplicatedVMNetworkInterfaceArray{
				&siterecovery.ReplicatedVMNetworkInterfaceArgs{
					SourceNetworkInterfaceId:  vmNetworkInterface.ID(),
					TargetSubnetName:          secondarySubnet.Name,
					RecoveryPublicIpAddressId: secondaryPublicIp.ID(),
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			container_mapping,
			network_mapping,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## 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

func (*ReplicatedVM) ElementType() reflect.Type

func (*ReplicatedVM) ToReplicatedVMOutput

func (i *ReplicatedVM) ToReplicatedVMOutput() ReplicatedVMOutput

func (*ReplicatedVM) ToReplicatedVMOutputWithContext

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

type ReplicatedVMArgs

type ReplicatedVMArgs struct {
	// One or more `managedDisk` block as defined below. Changing this forces a new resource to be created.
	ManagedDisks ReplicatedVMManagedDiskArrayInput
	// Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
	MultiVmGroupName pulumi.StringPtrInput
	// The name of the replication for the replicated VM. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// One or more `networkInterface` block as defined below.
	NetworkInterfaces ReplicatedVMNetworkInterfaceArrayInput
	// Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
	RecoveryReplicationPolicyId pulumi.StringInput
	// The name of the vault that should be updated. Changing this forces a new resource to be created.
	RecoveryVaultName pulumi.StringInput
	// Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// Name of fabric that should contain this replication. Changing this forces a new resource to be created.
	SourceRecoveryFabricName pulumi.StringInput
	// Name of the protection container to use. Changing this forces a new resource to be created.
	SourceRecoveryProtectionContainerName pulumi.StringInput
	// Id of the VM to replicate Changing this forces a new resource to be created.
	SourceVmId pulumi.StringInput
	// Id of availability set that the new VM should belong to when a failover is done.
	TargetAvailabilitySetId pulumi.StringPtrInput
	// Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
	TargetBootDiagnosticStorageAccountId pulumi.StringPtrInput
	// Id of the Capacity reservation group where the new VM should belong to when a failover is done.
	TargetCapacityReservationGroupId pulumi.StringPtrInput
	// Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
	TargetEdgeZone 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 Proximity Placement Group the new VM should belong to when a failover is done.
	TargetProximityPlacementGroupId pulumi.StringPtrInput
	// Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
	TargetRecoveryFabricId pulumi.StringInput
	// Id of protection container where the VM replication should be created when a failover is done. Changing this forces a new resource to be created.
	TargetRecoveryProtectionContainerId pulumi.StringInput
	// Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.
	TargetResourceGroupId pulumi.StringInput
	// Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
	TargetVirtualMachineScaleSetId pulumi.StringPtrInput
	// Specifies the size the Virtual Machine should have.
	TargetVirtualMachineSize pulumi.StringPtrInput
	// Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
	TargetZone pulumi.StringPtrInput
	// Network to use when a test failover is done.
	TestNetworkId pulumi.StringPtrInput
	// One or more `unmanagedDisk` block as defined below. Changing this forces a new resource to be created.
	UnmanagedDisks ReplicatedVMUnmanagedDiskArrayInput
}

The set of arguments for constructing a ReplicatedVM resource.

func (ReplicatedVMArgs) ElementType

func (ReplicatedVMArgs) ElementType() reflect.Type

type ReplicatedVMArray

type ReplicatedVMArray []ReplicatedVMInput

func (ReplicatedVMArray) ElementType

func (ReplicatedVMArray) ElementType() reflect.Type

func (ReplicatedVMArray) ToReplicatedVMArrayOutput

func (i ReplicatedVMArray) ToReplicatedVMArrayOutput() ReplicatedVMArrayOutput

func (ReplicatedVMArray) ToReplicatedVMArrayOutputWithContext

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

type ReplicatedVMArrayInput

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

type ReplicatedVMArrayOutput struct{ *pulumi.OutputState }

func (ReplicatedVMArrayOutput) ElementType

func (ReplicatedVMArrayOutput) ElementType() reflect.Type

func (ReplicatedVMArrayOutput) Index

func (ReplicatedVMArrayOutput) ToReplicatedVMArrayOutput

func (o ReplicatedVMArrayOutput) ToReplicatedVMArrayOutput() ReplicatedVMArrayOutput

func (ReplicatedVMArrayOutput) ToReplicatedVMArrayOutputWithContext

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

type ReplicatedVMInput

type ReplicatedVMInput interface {
	pulumi.Input

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

type ReplicatedVMManagedDisk

type ReplicatedVMManagedDisk struct {
	// Id of disk that should be replicated. Changing this forces a new resource to be created.
	DiskId string `pulumi:"diskId"`
	// Storage account that should be used for caching. Changing this forces a new resource to be created.
	StagingStorageAccountId string `pulumi:"stagingStorageAccountId"`
	// A `targetDiskEncryption` block as defined below.
	TargetDiskEncryption *ReplicatedVMManagedDiskTargetDiskEncryption `pulumi:"targetDiskEncryption"`
	// The Disk Encryption Set that the Managed Disk will be associated with. Changing this forces a new resource to be created.
	//
	// > **NOTE:** Creating replicated vm with `targetDiskEncryptionSetId` wil take more time (up to 5 hours), please extend the `timeout` for `create`.
	TargetDiskEncryptionSetId *string `pulumi:"targetDiskEncryptionSetId"`
	// What type should the disk be when a failover is done. Possible values are `Standard_LRS`, `Premium_LRS`, `StandardSSD_LRS` and `UltraSSD_LRS`. Changing this forces a new resource to be created.
	TargetDiskType string `pulumi:"targetDiskType"`
	// What type should the disk be that holds the replication data. Possible values are `Standard_LRS`, `Premium_LRS`, `StandardSSD_LRS` and `UltraSSD_LRS`. Changing this forces a new resource to be created.
	TargetReplicaDiskType string `pulumi:"targetReplicaDiskType"`
	// Resource group disk should belong to when a failover is done. Changing this forces a new resource to be created.
	TargetResourceGroupId string `pulumi:"targetResourceGroupId"`
}

type ReplicatedVMManagedDiskArgs

type ReplicatedVMManagedDiskArgs struct {
	// Id of disk that should be replicated. Changing this forces a new resource to be created.
	DiskId pulumi.StringInput `pulumi:"diskId"`
	// Storage account that should be used for caching. Changing this forces a new resource to be created.
	StagingStorageAccountId pulumi.StringInput `pulumi:"stagingStorageAccountId"`
	// A `targetDiskEncryption` block as defined below.
	TargetDiskEncryption ReplicatedVMManagedDiskTargetDiskEncryptionPtrInput `pulumi:"targetDiskEncryption"`
	// The Disk Encryption Set that the Managed Disk will be associated with. Changing this forces a new resource to be created.
	//
	// > **NOTE:** Creating replicated vm with `targetDiskEncryptionSetId` wil take more time (up to 5 hours), please extend the `timeout` for `create`.
	TargetDiskEncryptionSetId pulumi.StringPtrInput `pulumi:"targetDiskEncryptionSetId"`
	// What type should the disk be when a failover is done. Possible values are `Standard_LRS`, `Premium_LRS`, `StandardSSD_LRS` and `UltraSSD_LRS`. Changing this forces a new resource to be created.
	TargetDiskType pulumi.StringInput `pulumi:"targetDiskType"`
	// What type should the disk be that holds the replication data. Possible values are `Standard_LRS`, `Premium_LRS`, `StandardSSD_LRS` and `UltraSSD_LRS`. Changing this forces a new resource to be created.
	TargetReplicaDiskType pulumi.StringInput `pulumi:"targetReplicaDiskType"`
	// Resource group disk should belong to when a failover is done. Changing this forces a new resource to be created.
	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. Changing this forces a new resource to be created.

func (ReplicatedVMManagedDiskOutput) ElementType

func (ReplicatedVMManagedDiskOutput) StagingStorageAccountId

func (o ReplicatedVMManagedDiskOutput) StagingStorageAccountId() pulumi.StringOutput

Storage account that should be used for caching. Changing this forces a new resource to be created.

func (ReplicatedVMManagedDiskOutput) TargetDiskEncryption

A `targetDiskEncryption` block as defined below.

func (ReplicatedVMManagedDiskOutput) TargetDiskEncryptionSetId

func (o ReplicatedVMManagedDiskOutput) TargetDiskEncryptionSetId() pulumi.StringPtrOutput

The Disk Encryption Set that the Managed Disk will be associated with. Changing this forces a new resource to be created.

> **NOTE:** Creating replicated vm with `targetDiskEncryptionSetId` wil take more time (up to 5 hours), please extend the `timeout` for `create`.

func (ReplicatedVMManagedDiskOutput) TargetDiskType

What type should the disk be when a failover is done. Possible values are `Standard_LRS`, `Premium_LRS`, `StandardSSD_LRS` and `UltraSSD_LRS`. Changing this forces a new resource to be created.

func (ReplicatedVMManagedDiskOutput) TargetReplicaDiskType

func (o ReplicatedVMManagedDiskOutput) TargetReplicaDiskType() pulumi.StringOutput

What type should the disk be that holds the replication data. Possible values are `Standard_LRS`, `Premium_LRS`, `StandardSSD_LRS` and `UltraSSD_LRS`. Changing this forces a new resource to be created.

func (ReplicatedVMManagedDiskOutput) TargetResourceGroupId

func (o ReplicatedVMManagedDiskOutput) TargetResourceGroupId() pulumi.StringOutput

Resource group disk should belong to when a failover is done. Changing this forces a new resource to be created.

func (ReplicatedVMManagedDiskOutput) ToReplicatedVMManagedDiskOutput

func (o ReplicatedVMManagedDiskOutput) ToReplicatedVMManagedDiskOutput() ReplicatedVMManagedDiskOutput

func (ReplicatedVMManagedDiskOutput) ToReplicatedVMManagedDiskOutputWithContext

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

type ReplicatedVMManagedDiskTargetDiskEncryption

type ReplicatedVMManagedDiskTargetDiskEncryption struct {
	// A `diskEncryptionKey` block as defined below.
	DiskEncryptionKey ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKey `pulumi:"diskEncryptionKey"`
	// A `keyEncryptionKey` block as defined below.
	KeyEncryptionKey *ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKey `pulumi:"keyEncryptionKey"`
}

type ReplicatedVMManagedDiskTargetDiskEncryptionArgs

type ReplicatedVMManagedDiskTargetDiskEncryptionArgs struct {
	// A `diskEncryptionKey` block as defined below.
	DiskEncryptionKey ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyInput `pulumi:"diskEncryptionKey"`
	// A `keyEncryptionKey` block as defined below.
	KeyEncryptionKey ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrInput `pulumi:"keyEncryptionKey"`
}

func (ReplicatedVMManagedDiskTargetDiskEncryptionArgs) ElementType

func (ReplicatedVMManagedDiskTargetDiskEncryptionArgs) ToReplicatedVMManagedDiskTargetDiskEncryptionOutput

func (i ReplicatedVMManagedDiskTargetDiskEncryptionArgs) ToReplicatedVMManagedDiskTargetDiskEncryptionOutput() ReplicatedVMManagedDiskTargetDiskEncryptionOutput

func (ReplicatedVMManagedDiskTargetDiskEncryptionArgs) ToReplicatedVMManagedDiskTargetDiskEncryptionOutputWithContext

func (i ReplicatedVMManagedDiskTargetDiskEncryptionArgs) ToReplicatedVMManagedDiskTargetDiskEncryptionOutputWithContext(ctx context.Context) ReplicatedVMManagedDiskTargetDiskEncryptionOutput

func (ReplicatedVMManagedDiskTargetDiskEncryptionArgs) ToReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput

func (i ReplicatedVMManagedDiskTargetDiskEncryptionArgs) ToReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput() ReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput

func (ReplicatedVMManagedDiskTargetDiskEncryptionArgs) ToReplicatedVMManagedDiskTargetDiskEncryptionPtrOutputWithContext

func (i ReplicatedVMManagedDiskTargetDiskEncryptionArgs) ToReplicatedVMManagedDiskTargetDiskEncryptionPtrOutputWithContext(ctx context.Context) ReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput

type ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKey

type ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKey struct {
	// The URL to the Key Vault Secret used as the Disk Encryption Key that the Managed Disk will be associated with. This can be found as `id` on the `keyvault.Secret` resource. Changing this forces a new resource to be created.
	SecretUrl string `pulumi:"secretUrl"`
	// The ID of the Key Vault. This can be found as `id` on the `keyvault.KeyVault` resource. Changing this forces a new resource to be created.
	VaultId string `pulumi:"vaultId"`
}

type ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyArgs

type ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyArgs struct {
	// The URL to the Key Vault Secret used as the Disk Encryption Key that the Managed Disk will be associated with. This can be found as `id` on the `keyvault.Secret` resource. Changing this forces a new resource to be created.
	SecretUrl pulumi.StringInput `pulumi:"secretUrl"`
	// The ID of the Key Vault. This can be found as `id` on the `keyvault.KeyVault` resource. Changing this forces a new resource to be created.
	VaultId pulumi.StringInput `pulumi:"vaultId"`
}

func (ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyArgs) ElementType

func (ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyArgs) ToReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyOutput

func (ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyArgs) ToReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyOutputWithContext

func (i ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyArgs) ToReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyOutputWithContext(ctx context.Context) ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyOutput

func (ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyArgs) ToReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutput

func (ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyArgs) ToReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutputWithContext

func (i ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyArgs) ToReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutputWithContext(ctx context.Context) ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutput

type ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyInput

type ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyInput interface {
	pulumi.Input

	ToReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyOutput() ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyOutput
	ToReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyOutputWithContext(context.Context) ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyOutput
}

ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyInput is an input type that accepts ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyArgs and ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyOutput values. You can construct a concrete instance of `ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyInput` via:

ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyArgs{...}

type ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyOutput

type ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyOutput struct{ *pulumi.OutputState }

func (ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyOutput) ElementType

func (ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyOutput) SecretUrl

The URL to the Key Vault Secret used as the Disk Encryption Key that the Managed Disk will be associated with. This can be found as `id` on the `keyvault.Secret` resource. Changing this forces a new resource to be created.

func (ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyOutput

func (ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyOutputWithContext

func (o ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyOutputWithContext(ctx context.Context) ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyOutput

func (ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutput

func (ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutputWithContext

func (o ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutputWithContext(ctx context.Context) ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutput

func (ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyOutput) VaultId

The ID of the Key Vault. This can be found as `id` on the `keyvault.KeyVault` resource. Changing this forces a new resource to be created.

type ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrInput

type ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrInput interface {
	pulumi.Input

	ToReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutput() ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutput
	ToReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutputWithContext(context.Context) ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutput
}

ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrInput is an input type that accepts ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyArgs, ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtr and ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutput values. You can construct a concrete instance of `ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrInput` via:

        ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyArgs{...}

or:

        nil

type ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutput

type ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutput struct{ *pulumi.OutputState }

func (ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutput) Elem

func (ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutput) ElementType

func (ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutput) SecretUrl

The URL to the Key Vault Secret used as the Disk Encryption Key that the Managed Disk will be associated with. This can be found as `id` on the `keyvault.Secret` resource. Changing this forces a new resource to be created.

func (ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutput

func (ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutputWithContext

func (o ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutputWithContext(ctx context.Context) ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutput

func (ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutput) VaultId

The ID of the Key Vault. This can be found as `id` on the `keyvault.KeyVault` resource. Changing this forces a new resource to be created.

type ReplicatedVMManagedDiskTargetDiskEncryptionInput

type ReplicatedVMManagedDiskTargetDiskEncryptionInput interface {
	pulumi.Input

	ToReplicatedVMManagedDiskTargetDiskEncryptionOutput() ReplicatedVMManagedDiskTargetDiskEncryptionOutput
	ToReplicatedVMManagedDiskTargetDiskEncryptionOutputWithContext(context.Context) ReplicatedVMManagedDiskTargetDiskEncryptionOutput
}

ReplicatedVMManagedDiskTargetDiskEncryptionInput is an input type that accepts ReplicatedVMManagedDiskTargetDiskEncryptionArgs and ReplicatedVMManagedDiskTargetDiskEncryptionOutput values. You can construct a concrete instance of `ReplicatedVMManagedDiskTargetDiskEncryptionInput` via:

ReplicatedVMManagedDiskTargetDiskEncryptionArgs{...}

type ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKey

type ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKey struct {
	// The URL to the Key Vault Key used as the Key Encryption Key that the Managed Disk will be associated with. This can be found as `id` on the `keyvault.Key` resource. Changing this forces a new resource to be created.
	KeyUrl string `pulumi:"keyUrl"`
	// The ID of the Key Vault. This can be found as `id` on the `keyvault.KeyVault` resource. Changing this forces a new resource to be created.
	VaultId string `pulumi:"vaultId"`
}

type ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyArgs

type ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyArgs struct {
	// The URL to the Key Vault Key used as the Key Encryption Key that the Managed Disk will be associated with. This can be found as `id` on the `keyvault.Key` resource. Changing this forces a new resource to be created.
	KeyUrl pulumi.StringInput `pulumi:"keyUrl"`
	// The ID of the Key Vault. This can be found as `id` on the `keyvault.KeyVault` resource. Changing this forces a new resource to be created.
	VaultId pulumi.StringInput `pulumi:"vaultId"`
}

func (ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyArgs) ElementType

func (ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyArgs) ToReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyOutput

func (ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyArgs) ToReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyOutputWithContext

func (i ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyArgs) ToReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyOutputWithContext(ctx context.Context) ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyOutput

func (ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyArgs) ToReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutput

func (ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyArgs) ToReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutputWithContext

func (i ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyArgs) ToReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutputWithContext(ctx context.Context) ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutput

type ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyInput

type ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyInput interface {
	pulumi.Input

	ToReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyOutput() ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyOutput
	ToReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyOutputWithContext(context.Context) ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyOutput
}

ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyInput is an input type that accepts ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyArgs and ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyOutput values. You can construct a concrete instance of `ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyInput` via:

ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyArgs{...}

type ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyOutput

type ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyOutput struct{ *pulumi.OutputState }

func (ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyOutput) ElementType

func (ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyOutput) KeyUrl

The URL to the Key Vault Key used as the Key Encryption Key that the Managed Disk will be associated with. This can be found as `id` on the `keyvault.Key` resource. Changing this forces a new resource to be created.

func (ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyOutput

func (ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyOutputWithContext

func (o ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyOutputWithContext(ctx context.Context) ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyOutput

func (ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutput

func (ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutputWithContext

func (o ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutputWithContext(ctx context.Context) ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutput

func (ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyOutput) VaultId

The ID of the Key Vault. This can be found as `id` on the `keyvault.KeyVault` resource. Changing this forces a new resource to be created.

type ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrInput

type ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrInput interface {
	pulumi.Input

	ToReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutput() ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutput
	ToReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutputWithContext(context.Context) ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutput
}

ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrInput is an input type that accepts ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyArgs, ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtr and ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutput values. You can construct a concrete instance of `ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrInput` via:

        ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyArgs{...}

or:

        nil

type ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutput

type ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutput struct{ *pulumi.OutputState }

func (ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutput) Elem

func (ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutput) ElementType

func (ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutput) KeyUrl

The URL to the Key Vault Key used as the Key Encryption Key that the Managed Disk will be associated with. This can be found as `id` on the `keyvault.Key` resource. Changing this forces a new resource to be created.

func (ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutput

func (ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutputWithContext

func (o ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutputWithContext(ctx context.Context) ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutput

func (ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutput) VaultId

The ID of the Key Vault. This can be found as `id` on the `keyvault.KeyVault` resource. Changing this forces a new resource to be created.

type ReplicatedVMManagedDiskTargetDiskEncryptionOutput

type ReplicatedVMManagedDiskTargetDiskEncryptionOutput struct{ *pulumi.OutputState }

func (ReplicatedVMManagedDiskTargetDiskEncryptionOutput) DiskEncryptionKey

A `diskEncryptionKey` block as defined below.

func (ReplicatedVMManagedDiskTargetDiskEncryptionOutput) ElementType

func (ReplicatedVMManagedDiskTargetDiskEncryptionOutput) KeyEncryptionKey

A `keyEncryptionKey` block as defined below.

func (ReplicatedVMManagedDiskTargetDiskEncryptionOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionOutput

func (o ReplicatedVMManagedDiskTargetDiskEncryptionOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionOutput() ReplicatedVMManagedDiskTargetDiskEncryptionOutput

func (ReplicatedVMManagedDiskTargetDiskEncryptionOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionOutputWithContext

func (o ReplicatedVMManagedDiskTargetDiskEncryptionOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionOutputWithContext(ctx context.Context) ReplicatedVMManagedDiskTargetDiskEncryptionOutput

func (ReplicatedVMManagedDiskTargetDiskEncryptionOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput

func (o ReplicatedVMManagedDiskTargetDiskEncryptionOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput() ReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput

func (ReplicatedVMManagedDiskTargetDiskEncryptionOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionPtrOutputWithContext

func (o ReplicatedVMManagedDiskTargetDiskEncryptionOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionPtrOutputWithContext(ctx context.Context) ReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput

type ReplicatedVMManagedDiskTargetDiskEncryptionPtrInput

type ReplicatedVMManagedDiskTargetDiskEncryptionPtrInput interface {
	pulumi.Input

	ToReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput() ReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput
	ToReplicatedVMManagedDiskTargetDiskEncryptionPtrOutputWithContext(context.Context) ReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput
}

ReplicatedVMManagedDiskTargetDiskEncryptionPtrInput is an input type that accepts ReplicatedVMManagedDiskTargetDiskEncryptionArgs, ReplicatedVMManagedDiskTargetDiskEncryptionPtr and ReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput values. You can construct a concrete instance of `ReplicatedVMManagedDiskTargetDiskEncryptionPtrInput` via:

        ReplicatedVMManagedDiskTargetDiskEncryptionArgs{...}

or:

        nil

type ReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput

type ReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput struct{ *pulumi.OutputState }

func (ReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput) DiskEncryptionKey

A `diskEncryptionKey` block as defined below.

func (ReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput) Elem

func (ReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput) ElementType

func (ReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput) KeyEncryptionKey

A `keyEncryptionKey` block as defined below.

func (ReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput

func (ReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionPtrOutputWithContext

func (o ReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionPtrOutputWithContext(ctx context.Context) ReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput

type ReplicatedVMMap

type ReplicatedVMMap map[string]ReplicatedVMInput

func (ReplicatedVMMap) ElementType

func (ReplicatedVMMap) ElementType() reflect.Type

func (ReplicatedVMMap) ToReplicatedVMMapOutput

func (i ReplicatedVMMap) ToReplicatedVMMapOutput() ReplicatedVMMapOutput

func (ReplicatedVMMap) ToReplicatedVMMapOutputWithContext

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

type ReplicatedVMMapInput

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

type ReplicatedVMMapOutput struct{ *pulumi.OutputState }

func (ReplicatedVMMapOutput) ElementType

func (ReplicatedVMMapOutput) ElementType() reflect.Type

func (ReplicatedVMMapOutput) MapIndex

func (ReplicatedVMMapOutput) ToReplicatedVMMapOutput

func (o ReplicatedVMMapOutput) ToReplicatedVMMapOutput() ReplicatedVMMapOutput

func (ReplicatedVMMapOutput) ToReplicatedVMMapOutputWithContext

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

type ReplicatedVMNetworkInterface

type ReplicatedVMNetworkInterface struct {
	// Id of the public IP object to use when a test failover is done.
	FailoverTestPublicIpAddressId *string `pulumi:"failoverTestPublicIpAddressId"`
	// Static IP to assign when a test failover is done.
	FailoverTestStaticIp *string `pulumi:"failoverTestStaticIp"`
	// Name of the subnet to use when a test failover is done.
	FailoverTestSubnetName *string `pulumi:"failoverTestSubnetName"`
	// A list of IDs of Load Balancer Backend Address Pools to use when a failover is done.
	RecoveryLoadBalancerBackendAddressPoolIds []string `pulumi:"recoveryLoadBalancerBackendAddressPoolIds"`
	// Id of the public IP object to use when a failover is done.
	RecoveryPublicIpAddressId *string `pulumi:"recoveryPublicIpAddressId"`
	// (Required if the networkInterface block is specified) 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 use when a failover is done.
	TargetSubnetName *string `pulumi:"targetSubnetName"`
}

type ReplicatedVMNetworkInterfaceArgs

type ReplicatedVMNetworkInterfaceArgs struct {
	// Id of the public IP object to use when a test failover is done.
	FailoverTestPublicIpAddressId pulumi.StringPtrInput `pulumi:"failoverTestPublicIpAddressId"`
	// Static IP to assign when a test failover is done.
	FailoverTestStaticIp pulumi.StringPtrInput `pulumi:"failoverTestStaticIp"`
	// Name of the subnet to use when a test failover is done.
	FailoverTestSubnetName pulumi.StringPtrInput `pulumi:"failoverTestSubnetName"`
	// A list of IDs of Load Balancer Backend Address Pools to use when a failover is done.
	RecoveryLoadBalancerBackendAddressPoolIds pulumi.StringArrayInput `pulumi:"recoveryLoadBalancerBackendAddressPoolIds"`
	// Id of the public IP object to use when a failover is done.
	RecoveryPublicIpAddressId pulumi.StringPtrInput `pulumi:"recoveryPublicIpAddressId"`
	// (Required if the networkInterface block is specified) 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 use when a failover is done.
	TargetSubnetName pulumi.StringPtrInput `pulumi:"targetSubnetName"`
}

func (ReplicatedVMNetworkInterfaceArgs) ElementType

func (ReplicatedVMNetworkInterfaceArgs) ToReplicatedVMNetworkInterfaceOutput

func (i ReplicatedVMNetworkInterfaceArgs) ToReplicatedVMNetworkInterfaceOutput() ReplicatedVMNetworkInterfaceOutput

func (ReplicatedVMNetworkInterfaceArgs) ToReplicatedVMNetworkInterfaceOutputWithContext

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

type ReplicatedVMNetworkInterfaceArray

type ReplicatedVMNetworkInterfaceArray []ReplicatedVMNetworkInterfaceInput

func (ReplicatedVMNetworkInterfaceArray) ElementType

func (ReplicatedVMNetworkInterfaceArray) ToReplicatedVMNetworkInterfaceArrayOutput

func (i ReplicatedVMNetworkInterfaceArray) ToReplicatedVMNetworkInterfaceArrayOutput() ReplicatedVMNetworkInterfaceArrayOutput

func (ReplicatedVMNetworkInterfaceArray) ToReplicatedVMNetworkInterfaceArrayOutputWithContext

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

type ReplicatedVMNetworkInterfaceArrayInput

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

type ReplicatedVMNetworkInterfaceArrayOutput struct{ *pulumi.OutputState }

func (ReplicatedVMNetworkInterfaceArrayOutput) ElementType

func (ReplicatedVMNetworkInterfaceArrayOutput) Index

func (ReplicatedVMNetworkInterfaceArrayOutput) ToReplicatedVMNetworkInterfaceArrayOutput

func (o ReplicatedVMNetworkInterfaceArrayOutput) ToReplicatedVMNetworkInterfaceArrayOutput() ReplicatedVMNetworkInterfaceArrayOutput

func (ReplicatedVMNetworkInterfaceArrayOutput) ToReplicatedVMNetworkInterfaceArrayOutputWithContext

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

type ReplicatedVMNetworkInterfaceInput

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

type ReplicatedVMNetworkInterfaceOutput struct{ *pulumi.OutputState }

func (ReplicatedVMNetworkInterfaceOutput) ElementType

func (ReplicatedVMNetworkInterfaceOutput) FailoverTestPublicIpAddressId

func (o ReplicatedVMNetworkInterfaceOutput) FailoverTestPublicIpAddressId() pulumi.StringPtrOutput

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

func (ReplicatedVMNetworkInterfaceOutput) FailoverTestStaticIp

Static IP to assign when a test failover is done.

func (ReplicatedVMNetworkInterfaceOutput) FailoverTestSubnetName

func (o ReplicatedVMNetworkInterfaceOutput) FailoverTestSubnetName() pulumi.StringPtrOutput

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

func (ReplicatedVMNetworkInterfaceOutput) RecoveryLoadBalancerBackendAddressPoolIds added in v6.15.0

func (o ReplicatedVMNetworkInterfaceOutput) RecoveryLoadBalancerBackendAddressPoolIds() pulumi.StringArrayOutput

A list of IDs of Load Balancer Backend Address Pools to use when a failover is done.

func (ReplicatedVMNetworkInterfaceOutput) RecoveryPublicIpAddressId

func (o ReplicatedVMNetworkInterfaceOutput) RecoveryPublicIpAddressId() pulumi.StringPtrOutput

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

func (ReplicatedVMNetworkInterfaceOutput) SourceNetworkInterfaceId

func (o ReplicatedVMNetworkInterfaceOutput) SourceNetworkInterfaceId() pulumi.StringPtrOutput

(Required if the networkInterface block is specified) Id source network interface.

func (ReplicatedVMNetworkInterfaceOutput) TargetStaticIp

Static IP to assign when a failover is done.

func (ReplicatedVMNetworkInterfaceOutput) TargetSubnetName

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

func (ReplicatedVMNetworkInterfaceOutput) ToReplicatedVMNetworkInterfaceOutput

func (o ReplicatedVMNetworkInterfaceOutput) ToReplicatedVMNetworkInterfaceOutput() ReplicatedVMNetworkInterfaceOutput

func (ReplicatedVMNetworkInterfaceOutput) ToReplicatedVMNetworkInterfaceOutputWithContext

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

type ReplicatedVMOutput

type ReplicatedVMOutput struct{ *pulumi.OutputState }

func (ReplicatedVMOutput) ElementType

func (ReplicatedVMOutput) ElementType() reflect.Type

func (ReplicatedVMOutput) ManagedDisks

One or more `managedDisk` block as defined below. Changing this forces a new resource to be created.

func (ReplicatedVMOutput) MultiVmGroupName

func (o ReplicatedVMOutput) MultiVmGroupName() pulumi.StringPtrOutput

Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.

func (ReplicatedVMOutput) Name

The name of the replication for the replicated VM. Changing this forces a new resource to be created.

func (ReplicatedVMOutput) NetworkInterfaces

One or more `networkInterface` block as defined below.

func (ReplicatedVMOutput) RecoveryReplicationPolicyId

func (o ReplicatedVMOutput) RecoveryReplicationPolicyId() pulumi.StringOutput

Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.

func (ReplicatedVMOutput) RecoveryVaultName

func (o ReplicatedVMOutput) RecoveryVaultName() pulumi.StringOutput

The name of the vault that should be updated. Changing this forces a new resource to be created.

func (ReplicatedVMOutput) ResourceGroupName

func (o ReplicatedVMOutput) ResourceGroupName() pulumi.StringOutput

Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.

func (ReplicatedVMOutput) SourceRecoveryFabricName

func (o ReplicatedVMOutput) SourceRecoveryFabricName() pulumi.StringOutput

Name of fabric that should contain this replication. Changing this forces a new resource to be created.

func (ReplicatedVMOutput) SourceRecoveryProtectionContainerName

func (o ReplicatedVMOutput) SourceRecoveryProtectionContainerName() pulumi.StringOutput

Name of the protection container to use. Changing this forces a new resource to be created.

func (ReplicatedVMOutput) SourceVmId

func (o ReplicatedVMOutput) SourceVmId() pulumi.StringOutput

Id of the VM to replicate Changing this forces a new resource to be created.

func (ReplicatedVMOutput) TargetAvailabilitySetId

func (o ReplicatedVMOutput) TargetAvailabilitySetId() pulumi.StringPtrOutput

Id of availability set that the new VM should belong to when a failover is done.

func (ReplicatedVMOutput) TargetBootDiagnosticStorageAccountId

func (o ReplicatedVMOutput) TargetBootDiagnosticStorageAccountId() pulumi.StringPtrOutput

Id of the storage account which the new VM should used for boot diagnostic when a failover is done.

func (ReplicatedVMOutput) TargetCapacityReservationGroupId

func (o ReplicatedVMOutput) TargetCapacityReservationGroupId() pulumi.StringPtrOutput

Id of the Capacity reservation group where the new VM should belong to when a failover is done.

func (ReplicatedVMOutput) TargetEdgeZone

func (o ReplicatedVMOutput) TargetEdgeZone() pulumi.StringPtrOutput

Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.

func (ReplicatedVMOutput) TargetNetworkId

func (o ReplicatedVMOutput) TargetNetworkId() pulumi.StringOutput

Network to use when a failover is done (recommended to set if any networkInterface is configured for failover).

func (ReplicatedVMOutput) TargetProximityPlacementGroupId

func (o ReplicatedVMOutput) TargetProximityPlacementGroupId() pulumi.StringPtrOutput

Id of Proximity Placement Group the new VM should belong to when a failover is done.

func (ReplicatedVMOutput) TargetRecoveryFabricId

func (o ReplicatedVMOutput) TargetRecoveryFabricId() pulumi.StringOutput

Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.

func (ReplicatedVMOutput) TargetRecoveryProtectionContainerId

func (o ReplicatedVMOutput) TargetRecoveryProtectionContainerId() pulumi.StringOutput

Id of protection container where the VM replication should be created when a failover is done. Changing this forces a new resource to be created.

func (ReplicatedVMOutput) TargetResourceGroupId

func (o ReplicatedVMOutput) TargetResourceGroupId() pulumi.StringOutput

Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.

func (ReplicatedVMOutput) TargetVirtualMachineScaleSetId

func (o ReplicatedVMOutput) TargetVirtualMachineScaleSetId() pulumi.StringPtrOutput

Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.

func (ReplicatedVMOutput) TargetVirtualMachineSize added in v6.4.0

func (o ReplicatedVMOutput) TargetVirtualMachineSize() pulumi.StringOutput

Specifies the size the Virtual Machine should have.

func (ReplicatedVMOutput) TargetZone

func (o ReplicatedVMOutput) TargetZone() pulumi.StringPtrOutput

Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.

func (ReplicatedVMOutput) TestNetworkId

func (o ReplicatedVMOutput) TestNetworkId() pulumi.StringOutput

Network to use when a test failover is done.

func (ReplicatedVMOutput) ToReplicatedVMOutput

func (o ReplicatedVMOutput) ToReplicatedVMOutput() ReplicatedVMOutput

func (ReplicatedVMOutput) ToReplicatedVMOutputWithContext

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

func (ReplicatedVMOutput) UnmanagedDisks

One or more `unmanagedDisk` block as defined below. Changing this forces a new resource to be created.

type ReplicatedVMState

type ReplicatedVMState struct {
	// One or more `managedDisk` block as defined below. Changing this forces a new resource to be created.
	ManagedDisks ReplicatedVMManagedDiskArrayInput
	// Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
	MultiVmGroupName pulumi.StringPtrInput
	// The name of the replication for the replicated VM. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// One or more `networkInterface` block as defined below.
	NetworkInterfaces ReplicatedVMNetworkInterfaceArrayInput
	// Id of the policy to use for this replicated vm. Changing this forces a new resource to be created.
	RecoveryReplicationPolicyId pulumi.StringPtrInput
	// The name of the vault that should be updated. Changing this forces a new resource to be created.
	RecoveryVaultName pulumi.StringPtrInput
	// Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// Name of fabric that should contain this replication. Changing this forces a new resource to be created.
	SourceRecoveryFabricName pulumi.StringPtrInput
	// Name of the protection container to use. Changing this forces a new resource to be created.
	SourceRecoveryProtectionContainerName pulumi.StringPtrInput
	// Id of the VM to replicate Changing this forces a new resource to be created.
	SourceVmId pulumi.StringPtrInput
	// Id of availability set that the new VM should belong to when a failover is done.
	TargetAvailabilitySetId pulumi.StringPtrInput
	// Id of the storage account which the new VM should used for boot diagnostic when a failover is done.
	TargetBootDiagnosticStorageAccountId pulumi.StringPtrInput
	// Id of the Capacity reservation group where the new VM should belong to when a failover is done.
	TargetCapacityReservationGroupId pulumi.StringPtrInput
	// Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
	TargetEdgeZone 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 Proximity Placement Group the new VM should belong to when a failover is done.
	TargetProximityPlacementGroupId pulumi.StringPtrInput
	// Id of fabric where the VM replication should be handled when a failover is done. Changing this forces a new resource to be created.
	TargetRecoveryFabricId pulumi.StringPtrInput
	// Id of protection container where the VM replication should be created when a failover is done. Changing this forces a new resource to be created.
	TargetRecoveryProtectionContainerId pulumi.StringPtrInput
	// Id of resource group where the VM should be created when a failover is done. Changing this forces a new resource to be created.
	TargetResourceGroupId pulumi.StringPtrInput
	// Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done.
	TargetVirtualMachineScaleSetId pulumi.StringPtrInput
	// Specifies the size the Virtual Machine should have.
	TargetVirtualMachineSize pulumi.StringPtrInput
	// Specifies the Availability Zone where the Failover VM should exist. Changing this forces a new resource to be created.
	TargetZone pulumi.StringPtrInput
	// Network to use when a test failover is done.
	TestNetworkId pulumi.StringPtrInput
	// One or more `unmanagedDisk` block as defined below. Changing this forces a new resource to be created.
	UnmanagedDisks ReplicatedVMUnmanagedDiskArrayInput
}

func (ReplicatedVMState) ElementType

func (ReplicatedVMState) ElementType() reflect.Type

type ReplicatedVMUnmanagedDisk

type ReplicatedVMUnmanagedDisk struct {
	// Id of disk that should be replicated. Changing this forces a new resource to be created.
	DiskUri string `pulumi:"diskUri"`
	// Storage account that should be used for caching. Changing this forces a new resource to be created.
	StagingStorageAccountId string `pulumi:"stagingStorageAccountId"`
	// Storage account disk should belong to when a failover is done. Changing this forces a new resource to be created.
	TargetStorageAccountId string `pulumi:"targetStorageAccountId"`
}

type ReplicatedVMUnmanagedDiskArgs

type ReplicatedVMUnmanagedDiskArgs struct {
	// Id of disk that should be replicated. Changing this forces a new resource to be created.
	DiskUri pulumi.StringInput `pulumi:"diskUri"`
	// Storage account that should be used for caching. Changing this forces a new resource to be created.
	StagingStorageAccountId pulumi.StringInput `pulumi:"stagingStorageAccountId"`
	// Storage account disk should belong to when a failover is done. Changing this forces a new resource to be created.
	TargetStorageAccountId pulumi.StringInput `pulumi:"targetStorageAccountId"`
}

func (ReplicatedVMUnmanagedDiskArgs) ElementType

func (ReplicatedVMUnmanagedDiskArgs) ToReplicatedVMUnmanagedDiskOutput

func (i ReplicatedVMUnmanagedDiskArgs) ToReplicatedVMUnmanagedDiskOutput() ReplicatedVMUnmanagedDiskOutput

func (ReplicatedVMUnmanagedDiskArgs) ToReplicatedVMUnmanagedDiskOutputWithContext

func (i ReplicatedVMUnmanagedDiskArgs) ToReplicatedVMUnmanagedDiskOutputWithContext(ctx context.Context) ReplicatedVMUnmanagedDiskOutput

type ReplicatedVMUnmanagedDiskArray

type ReplicatedVMUnmanagedDiskArray []ReplicatedVMUnmanagedDiskInput

func (ReplicatedVMUnmanagedDiskArray) ElementType

func (ReplicatedVMUnmanagedDiskArray) ToReplicatedVMUnmanagedDiskArrayOutput

func (i ReplicatedVMUnmanagedDiskArray) ToReplicatedVMUnmanagedDiskArrayOutput() ReplicatedVMUnmanagedDiskArrayOutput

func (ReplicatedVMUnmanagedDiskArray) ToReplicatedVMUnmanagedDiskArrayOutputWithContext

func (i ReplicatedVMUnmanagedDiskArray) ToReplicatedVMUnmanagedDiskArrayOutputWithContext(ctx context.Context) ReplicatedVMUnmanagedDiskArrayOutput

type ReplicatedVMUnmanagedDiskArrayInput

type ReplicatedVMUnmanagedDiskArrayInput interface {
	pulumi.Input

	ToReplicatedVMUnmanagedDiskArrayOutput() ReplicatedVMUnmanagedDiskArrayOutput
	ToReplicatedVMUnmanagedDiskArrayOutputWithContext(context.Context) ReplicatedVMUnmanagedDiskArrayOutput
}

ReplicatedVMUnmanagedDiskArrayInput is an input type that accepts ReplicatedVMUnmanagedDiskArray and ReplicatedVMUnmanagedDiskArrayOutput values. You can construct a concrete instance of `ReplicatedVMUnmanagedDiskArrayInput` via:

ReplicatedVMUnmanagedDiskArray{ ReplicatedVMUnmanagedDiskArgs{...} }

type ReplicatedVMUnmanagedDiskArrayOutput

type ReplicatedVMUnmanagedDiskArrayOutput struct{ *pulumi.OutputState }

func (ReplicatedVMUnmanagedDiskArrayOutput) ElementType

func (ReplicatedVMUnmanagedDiskArrayOutput) Index

func (ReplicatedVMUnmanagedDiskArrayOutput) ToReplicatedVMUnmanagedDiskArrayOutput

func (o ReplicatedVMUnmanagedDiskArrayOutput) ToReplicatedVMUnmanagedDiskArrayOutput() ReplicatedVMUnmanagedDiskArrayOutput

func (ReplicatedVMUnmanagedDiskArrayOutput) ToReplicatedVMUnmanagedDiskArrayOutputWithContext

func (o ReplicatedVMUnmanagedDiskArrayOutput) ToReplicatedVMUnmanagedDiskArrayOutputWithContext(ctx context.Context) ReplicatedVMUnmanagedDiskArrayOutput

type ReplicatedVMUnmanagedDiskInput

type ReplicatedVMUnmanagedDiskInput interface {
	pulumi.Input

	ToReplicatedVMUnmanagedDiskOutput() ReplicatedVMUnmanagedDiskOutput
	ToReplicatedVMUnmanagedDiskOutputWithContext(context.Context) ReplicatedVMUnmanagedDiskOutput
}

ReplicatedVMUnmanagedDiskInput is an input type that accepts ReplicatedVMUnmanagedDiskArgs and ReplicatedVMUnmanagedDiskOutput values. You can construct a concrete instance of `ReplicatedVMUnmanagedDiskInput` via:

ReplicatedVMUnmanagedDiskArgs{...}

type ReplicatedVMUnmanagedDiskOutput

type ReplicatedVMUnmanagedDiskOutput struct{ *pulumi.OutputState }

func (ReplicatedVMUnmanagedDiskOutput) DiskUri

Id of disk that should be replicated. Changing this forces a new resource to be created.

func (ReplicatedVMUnmanagedDiskOutput) ElementType

func (ReplicatedVMUnmanagedDiskOutput) StagingStorageAccountId

func (o ReplicatedVMUnmanagedDiskOutput) StagingStorageAccountId() pulumi.StringOutput

Storage account that should be used for caching. Changing this forces a new resource to be created.

func (ReplicatedVMUnmanagedDiskOutput) TargetStorageAccountId

func (o ReplicatedVMUnmanagedDiskOutput) TargetStorageAccountId() pulumi.StringOutput

Storage account disk should belong to when a failover is done. Changing this forces a new resource to be created.

func (ReplicatedVMUnmanagedDiskOutput) ToReplicatedVMUnmanagedDiskOutput

func (o ReplicatedVMUnmanagedDiskOutput) ToReplicatedVMUnmanagedDiskOutput() ReplicatedVMUnmanagedDiskOutput

func (ReplicatedVMUnmanagedDiskOutput) ToReplicatedVMUnmanagedDiskOutputWithContext

func (o ReplicatedVMUnmanagedDiskOutput) ToReplicatedVMUnmanagedDiskOutputWithContext(ctx context.Context) ReplicatedVMUnmanagedDiskOutput

type ReplicationPolicy

type ReplicationPolicy struct {
	pulumi.CustomResourceState

	// Specifies the frequency(in minutes) at which to create application consistent recovery points.
	//
	// > **Note:** The value of `applicationConsistentSnapshotFrequencyInMinutes` must be less than or equal to the value of `recoveryPointRetentionInMinutes`.
	ApplicationConsistentSnapshotFrequencyInMinutes pulumi.IntOutput `pulumi:"applicationConsistentSnapshotFrequencyInMinutes"`
	// The name of the replication policy. Changing this forces a new resource to be created.
	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. Changing this forces a new resource to be created.
	RecoveryVaultName pulumi.StringOutput `pulumi:"recoveryVaultName"`
	// Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
	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/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/recoveryservices"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/siterecovery"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("tfex-network-mapping-secondary"),
			Location: pulumi.String("East US"),
		})
		if err != nil {
			return err
		}
		vault, err := recoveryservices.NewVault(ctx, "vault", &recoveryservices.VaultArgs{
			Name:              pulumi.String("example-recovery-vault"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewReplicationPolicy(ctx, "policy", &siterecovery.ReplicationPolicyArgs{
			Name:                            pulumi.String("policy"),
			ResourceGroupName:               example.Name,
			RecoveryVaultName:               vault.Name,
			RecoveryPointRetentionInMinutes: int(24 * 60),
			ApplicationConsistentSnapshotFrequencyInMinutes: 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

func (*ReplicationPolicy) ElementType() reflect.Type

func (*ReplicationPolicy) ToReplicationPolicyOutput

func (i *ReplicationPolicy) ToReplicationPolicyOutput() ReplicationPolicyOutput

func (*ReplicationPolicy) ToReplicationPolicyOutputWithContext

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

type ReplicationPolicyArgs

type ReplicationPolicyArgs struct {
	// Specifies the frequency(in minutes) at which to create application consistent recovery points.
	//
	// > **Note:** The value of `applicationConsistentSnapshotFrequencyInMinutes` must be less than or equal to the value of `recoveryPointRetentionInMinutes`.
	ApplicationConsistentSnapshotFrequencyInMinutes pulumi.IntInput
	// The name of the replication policy. Changing this forces a new resource to be created.
	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. Changing this forces a new resource to be created.
	RecoveryVaultName pulumi.StringInput
	// Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
}

The set of arguments for constructing a ReplicationPolicy resource.

func (ReplicationPolicyArgs) ElementType

func (ReplicationPolicyArgs) ElementType() reflect.Type

type ReplicationPolicyArray

type ReplicationPolicyArray []ReplicationPolicyInput

func (ReplicationPolicyArray) ElementType

func (ReplicationPolicyArray) ElementType() reflect.Type

func (ReplicationPolicyArray) ToReplicationPolicyArrayOutput

func (i ReplicationPolicyArray) ToReplicationPolicyArrayOutput() ReplicationPolicyArrayOutput

func (ReplicationPolicyArray) ToReplicationPolicyArrayOutputWithContext

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

type ReplicationPolicyArrayInput

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

type ReplicationPolicyArrayOutput struct{ *pulumi.OutputState }

func (ReplicationPolicyArrayOutput) ElementType

func (ReplicationPolicyArrayOutput) Index

func (ReplicationPolicyArrayOutput) ToReplicationPolicyArrayOutput

func (o ReplicationPolicyArrayOutput) ToReplicationPolicyArrayOutput() ReplicationPolicyArrayOutput

func (ReplicationPolicyArrayOutput) ToReplicationPolicyArrayOutputWithContext

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

type ReplicationPolicyInput

type ReplicationPolicyInput interface {
	pulumi.Input

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

type ReplicationPolicyMap

type ReplicationPolicyMap map[string]ReplicationPolicyInput

func (ReplicationPolicyMap) ElementType

func (ReplicationPolicyMap) ElementType() reflect.Type

func (ReplicationPolicyMap) ToReplicationPolicyMapOutput

func (i ReplicationPolicyMap) ToReplicationPolicyMapOutput() ReplicationPolicyMapOutput

func (ReplicationPolicyMap) ToReplicationPolicyMapOutputWithContext

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

type ReplicationPolicyMapInput

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

type ReplicationPolicyMapOutput struct{ *pulumi.OutputState }

func (ReplicationPolicyMapOutput) ElementType

func (ReplicationPolicyMapOutput) ElementType() reflect.Type

func (ReplicationPolicyMapOutput) MapIndex

func (ReplicationPolicyMapOutput) ToReplicationPolicyMapOutput

func (o ReplicationPolicyMapOutput) ToReplicationPolicyMapOutput() ReplicationPolicyMapOutput

func (ReplicationPolicyMapOutput) ToReplicationPolicyMapOutputWithContext

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

type ReplicationPolicyOutput

type ReplicationPolicyOutput struct{ *pulumi.OutputState }

func (ReplicationPolicyOutput) ApplicationConsistentSnapshotFrequencyInMinutes

func (o ReplicationPolicyOutput) ApplicationConsistentSnapshotFrequencyInMinutes() pulumi.IntOutput

Specifies the frequency(in minutes) at which to create application consistent recovery points.

> **Note:** The value of `applicationConsistentSnapshotFrequencyInMinutes` must be less than or equal to the value of `recoveryPointRetentionInMinutes`.

func (ReplicationPolicyOutput) ElementType

func (ReplicationPolicyOutput) ElementType() reflect.Type

func (ReplicationPolicyOutput) Name

The name of the replication policy. Changing this forces a new resource to be created.

func (ReplicationPolicyOutput) RecoveryPointRetentionInMinutes

func (o ReplicationPolicyOutput) RecoveryPointRetentionInMinutes() pulumi.IntOutput

The duration in minutes for which the recovery points need to be stored.

func (ReplicationPolicyOutput) RecoveryVaultName

func (o ReplicationPolicyOutput) RecoveryVaultName() pulumi.StringOutput

The name of the vault that should be updated. Changing this forces a new resource to be created.

func (ReplicationPolicyOutput) ResourceGroupName

func (o ReplicationPolicyOutput) ResourceGroupName() pulumi.StringOutput

Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.

func (ReplicationPolicyOutput) ToReplicationPolicyOutput

func (o ReplicationPolicyOutput) ToReplicationPolicyOutput() ReplicationPolicyOutput

func (ReplicationPolicyOutput) ToReplicationPolicyOutputWithContext

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

type ReplicationPolicyState

type ReplicationPolicyState struct {
	// Specifies the frequency(in minutes) at which to create application consistent recovery points.
	//
	// > **Note:** The value of `applicationConsistentSnapshotFrequencyInMinutes` must be less than or equal to the value of `recoveryPointRetentionInMinutes`.
	ApplicationConsistentSnapshotFrequencyInMinutes pulumi.IntPtrInput
	// The name of the replication policy. Changing this forces a new resource to be created.
	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. Changing this forces a new resource to be created.
	RecoveryVaultName pulumi.StringPtrInput
	// Name of the resource group where the vault that should be updated is located. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
}

func (ReplicationPolicyState) ElementType

func (ReplicationPolicyState) ElementType() reflect.Type

type ReplicationRecoveryPlan

type ReplicationRecoveryPlan struct {
	pulumi.CustomResourceState

	// An `azureToAzureSettings` block as defined below.
	AzureToAzureSettings ReplicationRecoveryPlanAzureToAzureSettingsPtrOutput `pulumi:"azureToAzureSettings"`
	// One or more `bootRecoveryGroup` blocks as defined below.
	//
	// > **NOTE:** At least one `bootRecoveryGroup` block will be required in the next major version of the AzureRM Provider.
	BootRecoveryGroups ReplicationRecoveryPlanBootRecoveryGroupArrayOutput `pulumi:"bootRecoveryGroups"`
	// One `failoverRecoveryGroup` block as defined below.
	//
	// > **NOTE:** `failoverRecoveryGroup` will be required in the next major version of the AzureRM Provider.
	FailoverRecoveryGroup ReplicationRecoveryPlanFailoverRecoveryGroupOutput `pulumi:"failoverRecoveryGroup"`
	// The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the vault that should be updated. Changing this forces a new resource to be created.
	RecoveryVaultId pulumi.StringOutput `pulumi:"recoveryVaultId"`
	// One `shutdownRecoveryGroup` block as defined below.
	//
	// > **NOTE:** `shutdownRecoveryGroup` will be required in the next major version of the AzureRM Provider.
	ShutdownRecoveryGroup ReplicationRecoveryPlanShutdownRecoveryGroupOutput `pulumi:"shutdownRecoveryGroup"`
	// ID of source fabric to be recovered from. Changing this forces a new Replication Plan to be created.
	SourceRecoveryFabricId pulumi.StringOutput `pulumi:"sourceRecoveryFabricId"`
	// ID of target fabric to recover. Changing this forces a new Replication Plan to be created.
	TargetRecoveryFabricId pulumi.StringOutput `pulumi:"targetRecoveryFabricId"`
}

Manages a Site Recovery Replication Recovery Plan within a Recovery Services vault. A recovery plan gathers machines into recovery groups for the purpose of failover.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := core.NewResourceGroup(ctx, "primary", &core.ResourceGroupArgs{
			Name:     pulumi.String("tfex-replicated-vm-primary"),
			Location: pulumi.String("West US"),
		})
		if err != nil {
			return err
		}
		secondary, err := core.NewResourceGroup(ctx, "secondary", &core.ResourceGroupArgs{
			Name:     pulumi.String("tfex-replicated-vm-secondary"),
			Location: pulumi.String("East US"),
		})
		if err != nil {
			return err
		}
		primaryVirtualNetwork, err := network.NewVirtualNetwork(ctx, "primary", &network.VirtualNetworkArgs{
			Name:              pulumi.String("network1"),
			ResourceGroupName: primary.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("192.168.1.0/24"),
			},
			Location: primary.Location,
		})
		if err != nil {
			return err
		}
		primarySubnet, err := network.NewSubnet(ctx, "primary", &network.SubnetArgs{
			Name:               pulumi.String("network1-subnet"),
			ResourceGroupName:  primary.Name,
			VirtualNetworkName: primaryVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("192.168.1.0/24"),
			},
		})
		if err != nil {
			return err
		}
		primaryPublicIp, err := network.NewPublicIp(ctx, "primary", &network.PublicIpArgs{
			Name:              pulumi.String("vm-public-ip-primary"),
			AllocationMethod:  pulumi.String("Static"),
			Location:          primary.Location,
			ResourceGroupName: primary.Name,
			Sku:               pulumi.String("Basic"),
		})
		if err != nil {
			return err
		}
		vmNetworkInterface, err := network.NewNetworkInterface(ctx, "vm", &network.NetworkInterfaceArgs{
			Name:              pulumi.String("vm-nic"),
			Location:          primary.Location,
			ResourceGroupName: primary.Name,
			IpConfigurations: network.NetworkInterfaceIpConfigurationArray{
				&network.NetworkInterfaceIpConfigurationArgs{
					Name:                       pulumi.String("vm"),
					SubnetId:                   primarySubnet.ID(),
					PrivateIpAddressAllocation: pulumi.String("Dynamic"),
					PublicIpAddressId:          primaryPublicIp.ID(),
				},
			},
		})
		if err != nil {
			return err
		}
		vm, err := compute.NewVirtualMachine(ctx, "vm", &compute.VirtualMachineArgs{
			Name:              pulumi.String("vm"),
			Location:          primary.Location,
			ResourceGroupName: primary.Name,
			VmSize:            pulumi.String("Standard_B1s"),
			NetworkInterfaceIds: pulumi.StringArray{
				vmNetworkInterface.ID(),
			},
			StorageImageReference: &compute.VirtualMachineStorageImageReferenceArgs{
				Publisher: pulumi.String("Canonical"),
				Offer:     pulumi.String("0001-com-ubuntu-server-jammy"),
				Sku:       pulumi.String("22_04-lts"),
				Version:   pulumi.String("latest"),
			},
			StorageOsDisk: &compute.VirtualMachineStorageOsDiskArgs{
				Name:            pulumi.String("vm-os-disk"),
				OsType:          pulumi.String("Linux"),
				Caching:         pulumi.String("ReadWrite"),
				CreateOption:    pulumi.String("FromImage"),
				ManagedDiskType: pulumi.String("Premium_LRS"),
			},
			OsProfile: &compute.VirtualMachineOsProfileArgs{
				AdminUsername: pulumi.String("test-admin-123"),
				AdminPassword: pulumi.String("test-pwd-123"),
				ComputerName:  pulumi.String("vm"),
			},
			OsProfileLinuxConfig: &compute.VirtualMachineOsProfileLinuxConfigArgs{
				DisablePasswordAuthentication: pulumi.Bool(false),
			},
		})
		if err != nil {
			return err
		}
		vault, err := recoveryservices.NewVault(ctx, "vault", &recoveryservices.VaultArgs{
			Name:              pulumi.String("example-recovery-vault"),
			Location:          secondary.Location,
			ResourceGroupName: secondary.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		primaryFabric, err := siterecovery.NewFabric(ctx, "primary", &siterecovery.FabricArgs{
			Name:              pulumi.String("primary-fabric"),
			ResourceGroupName: secondary.Name,
			RecoveryVaultName: vault.Name,
			Location:          primary.Location,
		})
		if err != nil {
			return err
		}
		secondaryFabric, err := siterecovery.NewFabric(ctx, "secondary", &siterecovery.FabricArgs{
			Name:              pulumi.String("secondary-fabric"),
			ResourceGroupName: secondary.Name,
			RecoveryVaultName: vault.Name,
			Location:          secondary.Location,
		})
		if err != nil {
			return err
		}
		primaryProtectionContainer, err := siterecovery.NewProtectionContainer(ctx, "primary", &siterecovery.ProtectionContainerArgs{
			Name:               pulumi.String("primary-protection-container"),
			ResourceGroupName:  secondary.Name,
			RecoveryVaultName:  vault.Name,
			RecoveryFabricName: primaryFabric.Name,
		})
		if err != nil {
			return err
		}
		secondaryProtectionContainer, err := siterecovery.NewProtectionContainer(ctx, "secondary", &siterecovery.ProtectionContainerArgs{
			Name:               pulumi.String("secondary-protection-container"),
			ResourceGroupName:  secondary.Name,
			RecoveryVaultName:  vault.Name,
			RecoveryFabricName: secondaryFabric.Name,
		})
		if err != nil {
			return err
		}
		policy, err := siterecovery.NewReplicationPolicy(ctx, "policy", &siterecovery.ReplicationPolicyArgs{
			Name:                            pulumi.String("policy"),
			ResourceGroupName:               secondary.Name,
			RecoveryVaultName:               vault.Name,
			RecoveryPointRetentionInMinutes: int(24 * 60),
			ApplicationConsistentSnapshotFrequencyInMinutes: int(4 * 60),
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewProtectionContainerMapping(ctx, "container-mapping", &siterecovery.ProtectionContainerMappingArgs{
			Name:                                  pulumi.String("container-mapping"),
			ResourceGroupName:                     secondary.Name,
			RecoveryVaultName:                     vault.Name,
			RecoveryFabricName:                    primaryFabric.Name,
			RecoverySourceProtectionContainerName: primaryProtectionContainer.Name,
			RecoveryTargetProtectionContainerId:   secondaryProtectionContainer.ID(),
			RecoveryReplicationPolicyId:           policy.ID(),
		})
		if err != nil {
			return err
		}
		secondaryVirtualNetwork, err := network.NewVirtualNetwork(ctx, "secondary", &network.VirtualNetworkArgs{
			Name:              pulumi.String("network2"),
			ResourceGroupName: secondary.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("192.168.2.0/24"),
			},
			Location: secondary.Location,
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewNetworkMapping(ctx, "network-mapping", &siterecovery.NetworkMappingArgs{
			Name:                     pulumi.String("network-mapping"),
			ResourceGroupName:        secondary.Name,
			RecoveryVaultName:        vault.Name,
			SourceRecoveryFabricName: primaryFabric.Name,
			TargetRecoveryFabricName: secondaryFabric.Name,
			SourceNetworkId:          primaryVirtualNetwork.ID(),
			TargetNetworkId:          secondaryVirtualNetwork.ID(),
		})
		if err != nil {
			return err
		}
		primaryAccount, err := storage.NewAccount(ctx, "primary", &storage.AccountArgs{
			Name:                   pulumi.String("primaryrecoverycache"),
			Location:               primary.Location,
			ResourceGroupName:      primary.Name,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("LRS"),
		})
		if err != nil {
			return err
		}
		secondarySubnet, err := network.NewSubnet(ctx, "secondary", &network.SubnetArgs{
			Name:               pulumi.String("network2-subnet"),
			ResourceGroupName:  secondary.Name,
			VirtualNetworkName: secondaryVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("192.168.2.0/24"),
			},
		})
		if err != nil {
			return err
		}
		secondaryPublicIp, err := network.NewPublicIp(ctx, "secondary", &network.PublicIpArgs{
			Name:              pulumi.String("vm-public-ip-secondary"),
			AllocationMethod:  pulumi.String("Static"),
			Location:          secondary.Location,
			ResourceGroupName: secondary.Name,
			Sku:               pulumi.String("Basic"),
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewReplicatedVM(ctx, "vm-replication", &siterecovery.ReplicatedVMArgs{
			Name:                                  pulumi.String("vm-replication"),
			ResourceGroupName:                     secondary.Name,
			RecoveryVaultName:                     vault.Name,
			SourceRecoveryFabricName:              primaryFabric.Name,
			SourceVmId:                            vm.ID(),
			RecoveryReplicationPolicyId:           policy.ID(),
			SourceRecoveryProtectionContainerName: primaryProtectionContainer.Name,
			TargetResourceGroupId:                 secondary.ID(),
			TargetRecoveryFabricId:                secondaryFabric.ID(),
			TargetRecoveryProtectionContainerId:   secondaryProtectionContainer.ID(),
			ManagedDisks: siterecovery.ReplicatedVMManagedDiskArray{
				&siterecovery.ReplicatedVMManagedDiskArgs{
					DiskId: vm.StorageOsDisk.ApplyT(func(storageOsDisk compute.VirtualMachineStorageOsDisk) (*string, error) {
						return &storageOsDisk.ManagedDiskId, nil
					}).(pulumi.StringPtrOutput),
					StagingStorageAccountId: primaryAccount.ID(),
					TargetResourceGroupId:   secondary.ID(),
					TargetDiskType:          pulumi.String("Premium_LRS"),
					TargetReplicaDiskType:   pulumi.String("Premium_LRS"),
				},
			},
			NetworkInterfaces: siterecovery.ReplicatedVMNetworkInterfaceArray{
				&siterecovery.ReplicatedVMNetworkInterfaceArgs{
					SourceNetworkInterfaceId:  vmNetworkInterface.ID(),
					TargetSubnetName:          secondarySubnet.Name,
					RecoveryPublicIpAddressId: secondaryPublicIp.ID(),
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			container_mapping,
			network_mapping,
		}))
		if err != nil {
			return err
		}
		_, err = siterecovery.NewReplicationRecoveryPlan(ctx, "example", &siterecovery.ReplicationRecoveryPlanArgs{
			Name:                   pulumi.String("example-recover-plan"),
			RecoveryVaultId:        vault.ID(),
			SourceRecoveryFabricId: primaryFabric.ID(),
			TargetRecoveryFabricId: secondaryFabric.ID(),
			ShutdownRecoveryGroup:  &siterecovery.ReplicationRecoveryPlanShutdownRecoveryGroupArgs{},
			FailoverRecoveryGroup:  &siterecovery.ReplicationRecoveryPlanFailoverRecoveryGroupArgs{},
			BootRecoveryGroups: siterecovery.ReplicationRecoveryPlanBootRecoveryGroupArray{
				&siterecovery.ReplicationRecoveryPlanBootRecoveryGroupArgs{
					ReplicatedProtectedItems: pulumi.StringArray{
						vm_replication.ID(),
					},
				},
			},
		})
		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/replicationRecoveryPlan:ReplicationRecoveryPlan azurerm_site_recovery_replication_recovery_plan.example /subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/groupName/providers/Microsoft.RecoveryServices/vaults/vaultName/replicationRecoveryPlans/planName ```

func GetReplicationRecoveryPlan

func GetReplicationRecoveryPlan(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ReplicationRecoveryPlanState, opts ...pulumi.ResourceOption) (*ReplicationRecoveryPlan, error)

GetReplicationRecoveryPlan gets an existing ReplicationRecoveryPlan 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 NewReplicationRecoveryPlan

func NewReplicationRecoveryPlan(ctx *pulumi.Context,
	name string, args *ReplicationRecoveryPlanArgs, opts ...pulumi.ResourceOption) (*ReplicationRecoveryPlan, error)

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

func (*ReplicationRecoveryPlan) ElementType

func (*ReplicationRecoveryPlan) ElementType() reflect.Type

func (*ReplicationRecoveryPlan) ToReplicationRecoveryPlanOutput

func (i *ReplicationRecoveryPlan) ToReplicationRecoveryPlanOutput() ReplicationRecoveryPlanOutput

func (*ReplicationRecoveryPlan) ToReplicationRecoveryPlanOutputWithContext

func (i *ReplicationRecoveryPlan) ToReplicationRecoveryPlanOutputWithContext(ctx context.Context) ReplicationRecoveryPlanOutput

type ReplicationRecoveryPlanArgs

type ReplicationRecoveryPlanArgs struct {
	// An `azureToAzureSettings` block as defined below.
	AzureToAzureSettings ReplicationRecoveryPlanAzureToAzureSettingsPtrInput
	// One or more `bootRecoveryGroup` blocks as defined below.
	//
	// > **NOTE:** At least one `bootRecoveryGroup` block will be required in the next major version of the AzureRM Provider.
	BootRecoveryGroups ReplicationRecoveryPlanBootRecoveryGroupArrayInput
	// One `failoverRecoveryGroup` block as defined below.
	//
	// > **NOTE:** `failoverRecoveryGroup` will be required in the next major version of the AzureRM Provider.
	FailoverRecoveryGroup ReplicationRecoveryPlanFailoverRecoveryGroupInput
	// The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The ID of the vault that should be updated. Changing this forces a new resource to be created.
	RecoveryVaultId pulumi.StringInput
	// One `shutdownRecoveryGroup` block as defined below.
	//
	// > **NOTE:** `shutdownRecoveryGroup` will be required in the next major version of the AzureRM Provider.
	ShutdownRecoveryGroup ReplicationRecoveryPlanShutdownRecoveryGroupInput
	// ID of source fabric to be recovered from. Changing this forces a new Replication Plan to be created.
	SourceRecoveryFabricId pulumi.StringInput
	// ID of target fabric to recover. Changing this forces a new Replication Plan to be created.
	TargetRecoveryFabricId pulumi.StringInput
}

The set of arguments for constructing a ReplicationRecoveryPlan resource.

func (ReplicationRecoveryPlanArgs) ElementType

type ReplicationRecoveryPlanArray

type ReplicationRecoveryPlanArray []ReplicationRecoveryPlanInput

func (ReplicationRecoveryPlanArray) ElementType

func (ReplicationRecoveryPlanArray) ToReplicationRecoveryPlanArrayOutput

func (i ReplicationRecoveryPlanArray) ToReplicationRecoveryPlanArrayOutput() ReplicationRecoveryPlanArrayOutput

func (ReplicationRecoveryPlanArray) ToReplicationRecoveryPlanArrayOutputWithContext

func (i ReplicationRecoveryPlanArray) ToReplicationRecoveryPlanArrayOutputWithContext(ctx context.Context) ReplicationRecoveryPlanArrayOutput

type ReplicationRecoveryPlanArrayInput

type ReplicationRecoveryPlanArrayInput interface {
	pulumi.Input

	ToReplicationRecoveryPlanArrayOutput() ReplicationRecoveryPlanArrayOutput
	ToReplicationRecoveryPlanArrayOutputWithContext(context.Context) ReplicationRecoveryPlanArrayOutput
}

ReplicationRecoveryPlanArrayInput is an input type that accepts ReplicationRecoveryPlanArray and ReplicationRecoveryPlanArrayOutput values. You can construct a concrete instance of `ReplicationRecoveryPlanArrayInput` via:

ReplicationRecoveryPlanArray{ ReplicationRecoveryPlanArgs{...} }

type ReplicationRecoveryPlanArrayOutput

type ReplicationRecoveryPlanArrayOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanArrayOutput) ElementType

func (ReplicationRecoveryPlanArrayOutput) Index

func (ReplicationRecoveryPlanArrayOutput) ToReplicationRecoveryPlanArrayOutput

func (o ReplicationRecoveryPlanArrayOutput) ToReplicationRecoveryPlanArrayOutput() ReplicationRecoveryPlanArrayOutput

func (ReplicationRecoveryPlanArrayOutput) ToReplicationRecoveryPlanArrayOutputWithContext

func (o ReplicationRecoveryPlanArrayOutput) ToReplicationRecoveryPlanArrayOutputWithContext(ctx context.Context) ReplicationRecoveryPlanArrayOutput

type ReplicationRecoveryPlanAzureToAzureSettings

type ReplicationRecoveryPlanAzureToAzureSettings struct {
	// The Edge Zone within the Azure Region where the VM exists. Changing this forces a new Site Recovery Replication Recovery Plan to be created.
	PrimaryEdgeZone *string `pulumi:"primaryEdgeZone"`
	// The Availability Zone in which the VM is located. Changing this forces a new Site Recovery Replication Recovery Plan to be created.
	PrimaryZone *string `pulumi:"primaryZone"`
	// The Edge Zone within the Azure Region where the VM is recovered. Changing this forces a new Site Recovery Replication Recovery Plan to be created.
	//
	// > **Note:** `primaryEdgeZone` and `recoveryEdgeZone` must be specified together.
	RecoveryEdgeZone *string `pulumi:"recoveryEdgeZone"`
	// The Availability Zone in which the VM is recovered. Changing this forces a new Site Recovery Replication Recovery Plan to be created.
	//
	// > **Note:** `primaryZone` and `recoveryZone` must be specified together.
	RecoveryZone *string `pulumi:"recoveryZone"`
}

type ReplicationRecoveryPlanAzureToAzureSettingsArgs

type ReplicationRecoveryPlanAzureToAzureSettingsArgs struct {
	// The Edge Zone within the Azure Region where the VM exists. Changing this forces a new Site Recovery Replication Recovery Plan to be created.
	PrimaryEdgeZone pulumi.StringPtrInput `pulumi:"primaryEdgeZone"`
	// The Availability Zone in which the VM is located. Changing this forces a new Site Recovery Replication Recovery Plan to be created.
	PrimaryZone pulumi.StringPtrInput `pulumi:"primaryZone"`
	// The Edge Zone within the Azure Region where the VM is recovered. Changing this forces a new Site Recovery Replication Recovery Plan to be created.
	//
	// > **Note:** `primaryEdgeZone` and `recoveryEdgeZone` must be specified together.
	RecoveryEdgeZone pulumi.StringPtrInput `pulumi:"recoveryEdgeZone"`
	// The Availability Zone in which the VM is recovered. Changing this forces a new Site Recovery Replication Recovery Plan to be created.
	//
	// > **Note:** `primaryZone` and `recoveryZone` must be specified together.
	RecoveryZone pulumi.StringPtrInput `pulumi:"recoveryZone"`
}

func (ReplicationRecoveryPlanAzureToAzureSettingsArgs) ElementType

func (ReplicationRecoveryPlanAzureToAzureSettingsArgs) ToReplicationRecoveryPlanAzureToAzureSettingsOutput

func (i ReplicationRecoveryPlanAzureToAzureSettingsArgs) ToReplicationRecoveryPlanAzureToAzureSettingsOutput() ReplicationRecoveryPlanAzureToAzureSettingsOutput

func (ReplicationRecoveryPlanAzureToAzureSettingsArgs) ToReplicationRecoveryPlanAzureToAzureSettingsOutputWithContext

func (i ReplicationRecoveryPlanAzureToAzureSettingsArgs) ToReplicationRecoveryPlanAzureToAzureSettingsOutputWithContext(ctx context.Context) ReplicationRecoveryPlanAzureToAzureSettingsOutput

func (ReplicationRecoveryPlanAzureToAzureSettingsArgs) ToReplicationRecoveryPlanAzureToAzureSettingsPtrOutput

func (i ReplicationRecoveryPlanAzureToAzureSettingsArgs) ToReplicationRecoveryPlanAzureToAzureSettingsPtrOutput() ReplicationRecoveryPlanAzureToAzureSettingsPtrOutput

func (ReplicationRecoveryPlanAzureToAzureSettingsArgs) ToReplicationRecoveryPlanAzureToAzureSettingsPtrOutputWithContext

func (i ReplicationRecoveryPlanAzureToAzureSettingsArgs) ToReplicationRecoveryPlanAzureToAzureSettingsPtrOutputWithContext(ctx context.Context) ReplicationRecoveryPlanAzureToAzureSettingsPtrOutput

type ReplicationRecoveryPlanAzureToAzureSettingsInput

type ReplicationRecoveryPlanAzureToAzureSettingsInput interface {
	pulumi.Input

	ToReplicationRecoveryPlanAzureToAzureSettingsOutput() ReplicationRecoveryPlanAzureToAzureSettingsOutput
	ToReplicationRecoveryPlanAzureToAzureSettingsOutputWithContext(context.Context) ReplicationRecoveryPlanAzureToAzureSettingsOutput
}

ReplicationRecoveryPlanAzureToAzureSettingsInput is an input type that accepts ReplicationRecoveryPlanAzureToAzureSettingsArgs and ReplicationRecoveryPlanAzureToAzureSettingsOutput values. You can construct a concrete instance of `ReplicationRecoveryPlanAzureToAzureSettingsInput` via:

ReplicationRecoveryPlanAzureToAzureSettingsArgs{...}

type ReplicationRecoveryPlanAzureToAzureSettingsOutput

type ReplicationRecoveryPlanAzureToAzureSettingsOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanAzureToAzureSettingsOutput) ElementType

func (ReplicationRecoveryPlanAzureToAzureSettingsOutput) PrimaryEdgeZone

The Edge Zone within the Azure Region where the VM exists. Changing this forces a new Site Recovery Replication Recovery Plan to be created.

func (ReplicationRecoveryPlanAzureToAzureSettingsOutput) PrimaryZone

The Availability Zone in which the VM is located. Changing this forces a new Site Recovery Replication Recovery Plan to be created.

func (ReplicationRecoveryPlanAzureToAzureSettingsOutput) RecoveryEdgeZone

The Edge Zone within the Azure Region where the VM is recovered. Changing this forces a new Site Recovery Replication Recovery Plan to be created.

> **Note:** `primaryEdgeZone` and `recoveryEdgeZone` must be specified together.

func (ReplicationRecoveryPlanAzureToAzureSettingsOutput) RecoveryZone

The Availability Zone in which the VM is recovered. Changing this forces a new Site Recovery Replication Recovery Plan to be created.

> **Note:** `primaryZone` and `recoveryZone` must be specified together.

func (ReplicationRecoveryPlanAzureToAzureSettingsOutput) ToReplicationRecoveryPlanAzureToAzureSettingsOutput

func (o ReplicationRecoveryPlanAzureToAzureSettingsOutput) ToReplicationRecoveryPlanAzureToAzureSettingsOutput() ReplicationRecoveryPlanAzureToAzureSettingsOutput

func (ReplicationRecoveryPlanAzureToAzureSettingsOutput) ToReplicationRecoveryPlanAzureToAzureSettingsOutputWithContext

func (o ReplicationRecoveryPlanAzureToAzureSettingsOutput) ToReplicationRecoveryPlanAzureToAzureSettingsOutputWithContext(ctx context.Context) ReplicationRecoveryPlanAzureToAzureSettingsOutput

func (ReplicationRecoveryPlanAzureToAzureSettingsOutput) ToReplicationRecoveryPlanAzureToAzureSettingsPtrOutput

func (o ReplicationRecoveryPlanAzureToAzureSettingsOutput) ToReplicationRecoveryPlanAzureToAzureSettingsPtrOutput() ReplicationRecoveryPlanAzureToAzureSettingsPtrOutput

func (ReplicationRecoveryPlanAzureToAzureSettingsOutput) ToReplicationRecoveryPlanAzureToAzureSettingsPtrOutputWithContext

func (o ReplicationRecoveryPlanAzureToAzureSettingsOutput) ToReplicationRecoveryPlanAzureToAzureSettingsPtrOutputWithContext(ctx context.Context) ReplicationRecoveryPlanAzureToAzureSettingsPtrOutput

type ReplicationRecoveryPlanAzureToAzureSettingsPtrInput

type ReplicationRecoveryPlanAzureToAzureSettingsPtrInput interface {
	pulumi.Input

	ToReplicationRecoveryPlanAzureToAzureSettingsPtrOutput() ReplicationRecoveryPlanAzureToAzureSettingsPtrOutput
	ToReplicationRecoveryPlanAzureToAzureSettingsPtrOutputWithContext(context.Context) ReplicationRecoveryPlanAzureToAzureSettingsPtrOutput
}

ReplicationRecoveryPlanAzureToAzureSettingsPtrInput is an input type that accepts ReplicationRecoveryPlanAzureToAzureSettingsArgs, ReplicationRecoveryPlanAzureToAzureSettingsPtr and ReplicationRecoveryPlanAzureToAzureSettingsPtrOutput values. You can construct a concrete instance of `ReplicationRecoveryPlanAzureToAzureSettingsPtrInput` via:

        ReplicationRecoveryPlanAzureToAzureSettingsArgs{...}

or:

        nil

type ReplicationRecoveryPlanAzureToAzureSettingsPtrOutput

type ReplicationRecoveryPlanAzureToAzureSettingsPtrOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanAzureToAzureSettingsPtrOutput) Elem

func (ReplicationRecoveryPlanAzureToAzureSettingsPtrOutput) ElementType

func (ReplicationRecoveryPlanAzureToAzureSettingsPtrOutput) PrimaryEdgeZone

The Edge Zone within the Azure Region where the VM exists. Changing this forces a new Site Recovery Replication Recovery Plan to be created.

func (ReplicationRecoveryPlanAzureToAzureSettingsPtrOutput) PrimaryZone

The Availability Zone in which the VM is located. Changing this forces a new Site Recovery Replication Recovery Plan to be created.

func (ReplicationRecoveryPlanAzureToAzureSettingsPtrOutput) RecoveryEdgeZone

The Edge Zone within the Azure Region where the VM is recovered. Changing this forces a new Site Recovery Replication Recovery Plan to be created.

> **Note:** `primaryEdgeZone` and `recoveryEdgeZone` must be specified together.

func (ReplicationRecoveryPlanAzureToAzureSettingsPtrOutput) RecoveryZone

The Availability Zone in which the VM is recovered. Changing this forces a new Site Recovery Replication Recovery Plan to be created.

> **Note:** `primaryZone` and `recoveryZone` must be specified together.

func (ReplicationRecoveryPlanAzureToAzureSettingsPtrOutput) ToReplicationRecoveryPlanAzureToAzureSettingsPtrOutput

func (ReplicationRecoveryPlanAzureToAzureSettingsPtrOutput) ToReplicationRecoveryPlanAzureToAzureSettingsPtrOutputWithContext

func (o ReplicationRecoveryPlanAzureToAzureSettingsPtrOutput) ToReplicationRecoveryPlanAzureToAzureSettingsPtrOutputWithContext(ctx context.Context) ReplicationRecoveryPlanAzureToAzureSettingsPtrOutput

type ReplicationRecoveryPlanBootRecoveryGroup

type ReplicationRecoveryPlanBootRecoveryGroup struct {
	// one or more `action` block as defined below. which will be executed after the group recovery.
	PostActions []ReplicationRecoveryPlanBootRecoveryGroupPostAction `pulumi:"postActions"`
	// one or more `action` block as defined below. which will be executed before the group recovery.
	PreActions []ReplicationRecoveryPlanBootRecoveryGroupPreAction `pulumi:"preActions"`
	// One or more protected VM IDs. It must not be specified when `type` is `Shutdown`.
	ReplicatedProtectedItems []string `pulumi:"replicatedProtectedItems"`
}

type ReplicationRecoveryPlanBootRecoveryGroupArgs

type ReplicationRecoveryPlanBootRecoveryGroupArgs struct {
	// one or more `action` block as defined below. which will be executed after the group recovery.
	PostActions ReplicationRecoveryPlanBootRecoveryGroupPostActionArrayInput `pulumi:"postActions"`
	// one or more `action` block as defined below. which will be executed before the group recovery.
	PreActions ReplicationRecoveryPlanBootRecoveryGroupPreActionArrayInput `pulumi:"preActions"`
	// One or more protected VM IDs. It must not be specified when `type` is `Shutdown`.
	ReplicatedProtectedItems pulumi.StringArrayInput `pulumi:"replicatedProtectedItems"`
}

func (ReplicationRecoveryPlanBootRecoveryGroupArgs) ElementType

func (ReplicationRecoveryPlanBootRecoveryGroupArgs) ToReplicationRecoveryPlanBootRecoveryGroupOutput

func (i ReplicationRecoveryPlanBootRecoveryGroupArgs) ToReplicationRecoveryPlanBootRecoveryGroupOutput() ReplicationRecoveryPlanBootRecoveryGroupOutput

func (ReplicationRecoveryPlanBootRecoveryGroupArgs) ToReplicationRecoveryPlanBootRecoveryGroupOutputWithContext

func (i ReplicationRecoveryPlanBootRecoveryGroupArgs) ToReplicationRecoveryPlanBootRecoveryGroupOutputWithContext(ctx context.Context) ReplicationRecoveryPlanBootRecoveryGroupOutput

type ReplicationRecoveryPlanBootRecoveryGroupArray

type ReplicationRecoveryPlanBootRecoveryGroupArray []ReplicationRecoveryPlanBootRecoveryGroupInput

func (ReplicationRecoveryPlanBootRecoveryGroupArray) ElementType

func (ReplicationRecoveryPlanBootRecoveryGroupArray) ToReplicationRecoveryPlanBootRecoveryGroupArrayOutput

func (i ReplicationRecoveryPlanBootRecoveryGroupArray) ToReplicationRecoveryPlanBootRecoveryGroupArrayOutput() ReplicationRecoveryPlanBootRecoveryGroupArrayOutput

func (ReplicationRecoveryPlanBootRecoveryGroupArray) ToReplicationRecoveryPlanBootRecoveryGroupArrayOutputWithContext

func (i ReplicationRecoveryPlanBootRecoveryGroupArray) ToReplicationRecoveryPlanBootRecoveryGroupArrayOutputWithContext(ctx context.Context) ReplicationRecoveryPlanBootRecoveryGroupArrayOutput

type ReplicationRecoveryPlanBootRecoveryGroupArrayInput

type ReplicationRecoveryPlanBootRecoveryGroupArrayInput interface {
	pulumi.Input

	ToReplicationRecoveryPlanBootRecoveryGroupArrayOutput() ReplicationRecoveryPlanBootRecoveryGroupArrayOutput
	ToReplicationRecoveryPlanBootRecoveryGroupArrayOutputWithContext(context.Context) ReplicationRecoveryPlanBootRecoveryGroupArrayOutput
}

ReplicationRecoveryPlanBootRecoveryGroupArrayInput is an input type that accepts ReplicationRecoveryPlanBootRecoveryGroupArray and ReplicationRecoveryPlanBootRecoveryGroupArrayOutput values. You can construct a concrete instance of `ReplicationRecoveryPlanBootRecoveryGroupArrayInput` via:

ReplicationRecoveryPlanBootRecoveryGroupArray{ ReplicationRecoveryPlanBootRecoveryGroupArgs{...} }

type ReplicationRecoveryPlanBootRecoveryGroupArrayOutput

type ReplicationRecoveryPlanBootRecoveryGroupArrayOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanBootRecoveryGroupArrayOutput) ElementType

func (ReplicationRecoveryPlanBootRecoveryGroupArrayOutput) Index

func (ReplicationRecoveryPlanBootRecoveryGroupArrayOutput) ToReplicationRecoveryPlanBootRecoveryGroupArrayOutput

func (o ReplicationRecoveryPlanBootRecoveryGroupArrayOutput) ToReplicationRecoveryPlanBootRecoveryGroupArrayOutput() ReplicationRecoveryPlanBootRecoveryGroupArrayOutput

func (ReplicationRecoveryPlanBootRecoveryGroupArrayOutput) ToReplicationRecoveryPlanBootRecoveryGroupArrayOutputWithContext

func (o ReplicationRecoveryPlanBootRecoveryGroupArrayOutput) ToReplicationRecoveryPlanBootRecoveryGroupArrayOutputWithContext(ctx context.Context) ReplicationRecoveryPlanBootRecoveryGroupArrayOutput

type ReplicationRecoveryPlanBootRecoveryGroupInput

type ReplicationRecoveryPlanBootRecoveryGroupInput interface {
	pulumi.Input

	ToReplicationRecoveryPlanBootRecoveryGroupOutput() ReplicationRecoveryPlanBootRecoveryGroupOutput
	ToReplicationRecoveryPlanBootRecoveryGroupOutputWithContext(context.Context) ReplicationRecoveryPlanBootRecoveryGroupOutput
}

ReplicationRecoveryPlanBootRecoveryGroupInput is an input type that accepts ReplicationRecoveryPlanBootRecoveryGroupArgs and ReplicationRecoveryPlanBootRecoveryGroupOutput values. You can construct a concrete instance of `ReplicationRecoveryPlanBootRecoveryGroupInput` via:

ReplicationRecoveryPlanBootRecoveryGroupArgs{...}

type ReplicationRecoveryPlanBootRecoveryGroupOutput

type ReplicationRecoveryPlanBootRecoveryGroupOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanBootRecoveryGroupOutput) ElementType

func (ReplicationRecoveryPlanBootRecoveryGroupOutput) PostActions

one or more `action` block as defined below. which will be executed after the group recovery.

func (ReplicationRecoveryPlanBootRecoveryGroupOutput) PreActions

one or more `action` block as defined below. which will be executed before the group recovery.

func (ReplicationRecoveryPlanBootRecoveryGroupOutput) ReplicatedProtectedItems

One or more protected VM IDs. It must not be specified when `type` is `Shutdown`.

func (ReplicationRecoveryPlanBootRecoveryGroupOutput) ToReplicationRecoveryPlanBootRecoveryGroupOutput

func (o ReplicationRecoveryPlanBootRecoveryGroupOutput) ToReplicationRecoveryPlanBootRecoveryGroupOutput() ReplicationRecoveryPlanBootRecoveryGroupOutput

func (ReplicationRecoveryPlanBootRecoveryGroupOutput) ToReplicationRecoveryPlanBootRecoveryGroupOutputWithContext

func (o ReplicationRecoveryPlanBootRecoveryGroupOutput) ToReplicationRecoveryPlanBootRecoveryGroupOutputWithContext(ctx context.Context) ReplicationRecoveryPlanBootRecoveryGroupOutput

type ReplicationRecoveryPlanBootRecoveryGroupPostAction

type ReplicationRecoveryPlanBootRecoveryGroupPostAction struct {
	// The fabric location of runbook or script. Possible values are `Primary` and `Recovery`. It must not be specified when `type` is `ManualActionDetails`.
	//
	// > **NOTE:** This is required when `type` is set to `AutomationRunbookActionDetails` or `ScriptActionDetails`.
	FabricLocation *string `pulumi:"fabricLocation"`
	// Directions of fail over. Possible values are `PrimaryToRecovery` and `RecoveryToPrimary`
	FailOverDirections []string `pulumi:"failOverDirections"`
	// Types of fail over. Possible values are `TestFailover`, `PlannedFailover` and `UnplannedFailover`
	FailOverTypes []string `pulumi:"failOverTypes"`
	// Instructions of manual action.
	//
	// > **NOTE:** This property is required when `type` is set to `ManualActionDetails`.
	ManualActionInstruction *string `pulumi:"manualActionInstruction"`
	// The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
	Name string `pulumi:"name"`
	// Id of runbook.
	//
	// > **NOTE:** This property is required when `type` is set to `AutomationRunbookActionDetails`.
	RunbookId *string `pulumi:"runbookId"`
	// Path of action script.
	//
	// > **NOTE:** This property is required when `type` is set to `ScriptActionDetails`.
	ScriptPath *string `pulumi:"scriptPath"`
	// Type of the action detail. Possible values are `AutomationRunbookActionDetails`, `ManualActionDetails` and `ScriptActionDetails`.
	Type string `pulumi:"type"`
}

type ReplicationRecoveryPlanBootRecoveryGroupPostActionArgs

type ReplicationRecoveryPlanBootRecoveryGroupPostActionArgs struct {
	// The fabric location of runbook or script. Possible values are `Primary` and `Recovery`. It must not be specified when `type` is `ManualActionDetails`.
	//
	// > **NOTE:** This is required when `type` is set to `AutomationRunbookActionDetails` or `ScriptActionDetails`.
	FabricLocation pulumi.StringPtrInput `pulumi:"fabricLocation"`
	// Directions of fail over. Possible values are `PrimaryToRecovery` and `RecoveryToPrimary`
	FailOverDirections pulumi.StringArrayInput `pulumi:"failOverDirections"`
	// Types of fail over. Possible values are `TestFailover`, `PlannedFailover` and `UnplannedFailover`
	FailOverTypes pulumi.StringArrayInput `pulumi:"failOverTypes"`
	// Instructions of manual action.
	//
	// > **NOTE:** This property is required when `type` is set to `ManualActionDetails`.
	ManualActionInstruction pulumi.StringPtrInput `pulumi:"manualActionInstruction"`
	// The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
	Name pulumi.StringInput `pulumi:"name"`
	// Id of runbook.
	//
	// > **NOTE:** This property is required when `type` is set to `AutomationRunbookActionDetails`.
	RunbookId pulumi.StringPtrInput `pulumi:"runbookId"`
	// Path of action script.
	//
	// > **NOTE:** This property is required when `type` is set to `ScriptActionDetails`.
	ScriptPath pulumi.StringPtrInput `pulumi:"scriptPath"`
	// Type of the action detail. Possible values are `AutomationRunbookActionDetails`, `ManualActionDetails` and `ScriptActionDetails`.
	Type pulumi.StringInput `pulumi:"type"`
}

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionArgs) ElementType

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionArgs) ToReplicationRecoveryPlanBootRecoveryGroupPostActionOutput

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionArgs) ToReplicationRecoveryPlanBootRecoveryGroupPostActionOutputWithContext

func (i ReplicationRecoveryPlanBootRecoveryGroupPostActionArgs) ToReplicationRecoveryPlanBootRecoveryGroupPostActionOutputWithContext(ctx context.Context) ReplicationRecoveryPlanBootRecoveryGroupPostActionOutput

type ReplicationRecoveryPlanBootRecoveryGroupPostActionArray

type ReplicationRecoveryPlanBootRecoveryGroupPostActionArray []ReplicationRecoveryPlanBootRecoveryGroupPostActionInput

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionArray) ElementType

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionArray) ToReplicationRecoveryPlanBootRecoveryGroupPostActionArrayOutput

func (i ReplicationRecoveryPlanBootRecoveryGroupPostActionArray) ToReplicationRecoveryPlanBootRecoveryGroupPostActionArrayOutput() ReplicationRecoveryPlanBootRecoveryGroupPostActionArrayOutput

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionArray) ToReplicationRecoveryPlanBootRecoveryGroupPostActionArrayOutputWithContext

func (i ReplicationRecoveryPlanBootRecoveryGroupPostActionArray) ToReplicationRecoveryPlanBootRecoveryGroupPostActionArrayOutputWithContext(ctx context.Context) ReplicationRecoveryPlanBootRecoveryGroupPostActionArrayOutput

type ReplicationRecoveryPlanBootRecoveryGroupPostActionArrayInput

type ReplicationRecoveryPlanBootRecoveryGroupPostActionArrayInput interface {
	pulumi.Input

	ToReplicationRecoveryPlanBootRecoveryGroupPostActionArrayOutput() ReplicationRecoveryPlanBootRecoveryGroupPostActionArrayOutput
	ToReplicationRecoveryPlanBootRecoveryGroupPostActionArrayOutputWithContext(context.Context) ReplicationRecoveryPlanBootRecoveryGroupPostActionArrayOutput
}

ReplicationRecoveryPlanBootRecoveryGroupPostActionArrayInput is an input type that accepts ReplicationRecoveryPlanBootRecoveryGroupPostActionArray and ReplicationRecoveryPlanBootRecoveryGroupPostActionArrayOutput values. You can construct a concrete instance of `ReplicationRecoveryPlanBootRecoveryGroupPostActionArrayInput` via:

ReplicationRecoveryPlanBootRecoveryGroupPostActionArray{ ReplicationRecoveryPlanBootRecoveryGroupPostActionArgs{...} }

type ReplicationRecoveryPlanBootRecoveryGroupPostActionArrayOutput

type ReplicationRecoveryPlanBootRecoveryGroupPostActionArrayOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionArrayOutput) ElementType

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionArrayOutput) Index

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionArrayOutput) ToReplicationRecoveryPlanBootRecoveryGroupPostActionArrayOutput

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionArrayOutput) ToReplicationRecoveryPlanBootRecoveryGroupPostActionArrayOutputWithContext

func (o ReplicationRecoveryPlanBootRecoveryGroupPostActionArrayOutput) ToReplicationRecoveryPlanBootRecoveryGroupPostActionArrayOutputWithContext(ctx context.Context) ReplicationRecoveryPlanBootRecoveryGroupPostActionArrayOutput

type ReplicationRecoveryPlanBootRecoveryGroupPostActionInput

type ReplicationRecoveryPlanBootRecoveryGroupPostActionInput interface {
	pulumi.Input

	ToReplicationRecoveryPlanBootRecoveryGroupPostActionOutput() ReplicationRecoveryPlanBootRecoveryGroupPostActionOutput
	ToReplicationRecoveryPlanBootRecoveryGroupPostActionOutputWithContext(context.Context) ReplicationRecoveryPlanBootRecoveryGroupPostActionOutput
}

ReplicationRecoveryPlanBootRecoveryGroupPostActionInput is an input type that accepts ReplicationRecoveryPlanBootRecoveryGroupPostActionArgs and ReplicationRecoveryPlanBootRecoveryGroupPostActionOutput values. You can construct a concrete instance of `ReplicationRecoveryPlanBootRecoveryGroupPostActionInput` via:

ReplicationRecoveryPlanBootRecoveryGroupPostActionArgs{...}

type ReplicationRecoveryPlanBootRecoveryGroupPostActionOutput

type ReplicationRecoveryPlanBootRecoveryGroupPostActionOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionOutput) ElementType

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionOutput) FabricLocation

The fabric location of runbook or script. Possible values are `Primary` and `Recovery`. It must not be specified when `type` is `ManualActionDetails`.

> **NOTE:** This is required when `type` is set to `AutomationRunbookActionDetails` or `ScriptActionDetails`.

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionOutput) FailOverDirections

Directions of fail over. Possible values are `PrimaryToRecovery` and `RecoveryToPrimary`

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionOutput) FailOverTypes

Types of fail over. Possible values are `TestFailover`, `PlannedFailover` and `UnplannedFailover`

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionOutput) ManualActionInstruction

Instructions of manual action.

> **NOTE:** This property is required when `type` is set to `ManualActionDetails`.

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionOutput) Name

The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionOutput) RunbookId

Id of runbook.

> **NOTE:** This property is required when `type` is set to `AutomationRunbookActionDetails`.

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionOutput) ScriptPath

Path of action script.

> **NOTE:** This property is required when `type` is set to `ScriptActionDetails`.

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionOutput) ToReplicationRecoveryPlanBootRecoveryGroupPostActionOutput

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionOutput) ToReplicationRecoveryPlanBootRecoveryGroupPostActionOutputWithContext

func (o ReplicationRecoveryPlanBootRecoveryGroupPostActionOutput) ToReplicationRecoveryPlanBootRecoveryGroupPostActionOutputWithContext(ctx context.Context) ReplicationRecoveryPlanBootRecoveryGroupPostActionOutput

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionOutput) Type

Type of the action detail. Possible values are `AutomationRunbookActionDetails`, `ManualActionDetails` and `ScriptActionDetails`.

type ReplicationRecoveryPlanBootRecoveryGroupPreAction

type ReplicationRecoveryPlanBootRecoveryGroupPreAction struct {
	// The fabric location of runbook or script. Possible values are `Primary` and `Recovery`. It must not be specified when `type` is `ManualActionDetails`.
	//
	// > **NOTE:** This is required when `type` is set to `AutomationRunbookActionDetails` or `ScriptActionDetails`.
	FabricLocation *string `pulumi:"fabricLocation"`
	// Directions of fail over. Possible values are `PrimaryToRecovery` and `RecoveryToPrimary`
	FailOverDirections []string `pulumi:"failOverDirections"`
	// Types of fail over. Possible values are `TestFailover`, `PlannedFailover` and `UnplannedFailover`
	FailOverTypes []string `pulumi:"failOverTypes"`
	// Instructions of manual action.
	//
	// > **NOTE:** This property is required when `type` is set to `ManualActionDetails`.
	ManualActionInstruction *string `pulumi:"manualActionInstruction"`
	// The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
	Name string `pulumi:"name"`
	// Id of runbook.
	//
	// > **NOTE:** This property is required when `type` is set to `AutomationRunbookActionDetails`.
	RunbookId *string `pulumi:"runbookId"`
	// Path of action script.
	//
	// > **NOTE:** This property is required when `type` is set to `ScriptActionDetails`.
	ScriptPath *string `pulumi:"scriptPath"`
	// Type of the action detail. Possible values are `AutomationRunbookActionDetails`, `ManualActionDetails` and `ScriptActionDetails`.
	Type string `pulumi:"type"`
}

type ReplicationRecoveryPlanBootRecoveryGroupPreActionArgs

type ReplicationRecoveryPlanBootRecoveryGroupPreActionArgs struct {
	// The fabric location of runbook or script. Possible values are `Primary` and `Recovery`. It must not be specified when `type` is `ManualActionDetails`.
	//
	// > **NOTE:** This is required when `type` is set to `AutomationRunbookActionDetails` or `ScriptActionDetails`.
	FabricLocation pulumi.StringPtrInput `pulumi:"fabricLocation"`
	// Directions of fail over. Possible values are `PrimaryToRecovery` and `RecoveryToPrimary`
	FailOverDirections pulumi.StringArrayInput `pulumi:"failOverDirections"`
	// Types of fail over. Possible values are `TestFailover`, `PlannedFailover` and `UnplannedFailover`
	FailOverTypes pulumi.StringArrayInput `pulumi:"failOverTypes"`
	// Instructions of manual action.
	//
	// > **NOTE:** This property is required when `type` is set to `ManualActionDetails`.
	ManualActionInstruction pulumi.StringPtrInput `pulumi:"manualActionInstruction"`
	// The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
	Name pulumi.StringInput `pulumi:"name"`
	// Id of runbook.
	//
	// > **NOTE:** This property is required when `type` is set to `AutomationRunbookActionDetails`.
	RunbookId pulumi.StringPtrInput `pulumi:"runbookId"`
	// Path of action script.
	//
	// > **NOTE:** This property is required when `type` is set to `ScriptActionDetails`.
	ScriptPath pulumi.StringPtrInput `pulumi:"scriptPath"`
	// Type of the action detail. Possible values are `AutomationRunbookActionDetails`, `ManualActionDetails` and `ScriptActionDetails`.
	Type pulumi.StringInput `pulumi:"type"`
}

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionArgs) ElementType

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionArgs) ToReplicationRecoveryPlanBootRecoveryGroupPreActionOutput

func (i ReplicationRecoveryPlanBootRecoveryGroupPreActionArgs) ToReplicationRecoveryPlanBootRecoveryGroupPreActionOutput() ReplicationRecoveryPlanBootRecoveryGroupPreActionOutput

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionArgs) ToReplicationRecoveryPlanBootRecoveryGroupPreActionOutputWithContext

func (i ReplicationRecoveryPlanBootRecoveryGroupPreActionArgs) ToReplicationRecoveryPlanBootRecoveryGroupPreActionOutputWithContext(ctx context.Context) ReplicationRecoveryPlanBootRecoveryGroupPreActionOutput

type ReplicationRecoveryPlanBootRecoveryGroupPreActionArray

type ReplicationRecoveryPlanBootRecoveryGroupPreActionArray []ReplicationRecoveryPlanBootRecoveryGroupPreActionInput

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionArray) ElementType

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionArray) ToReplicationRecoveryPlanBootRecoveryGroupPreActionArrayOutput

func (i ReplicationRecoveryPlanBootRecoveryGroupPreActionArray) ToReplicationRecoveryPlanBootRecoveryGroupPreActionArrayOutput() ReplicationRecoveryPlanBootRecoveryGroupPreActionArrayOutput

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionArray) ToReplicationRecoveryPlanBootRecoveryGroupPreActionArrayOutputWithContext

func (i ReplicationRecoveryPlanBootRecoveryGroupPreActionArray) ToReplicationRecoveryPlanBootRecoveryGroupPreActionArrayOutputWithContext(ctx context.Context) ReplicationRecoveryPlanBootRecoveryGroupPreActionArrayOutput

type ReplicationRecoveryPlanBootRecoveryGroupPreActionArrayInput

type ReplicationRecoveryPlanBootRecoveryGroupPreActionArrayInput interface {
	pulumi.Input

	ToReplicationRecoveryPlanBootRecoveryGroupPreActionArrayOutput() ReplicationRecoveryPlanBootRecoveryGroupPreActionArrayOutput
	ToReplicationRecoveryPlanBootRecoveryGroupPreActionArrayOutputWithContext(context.Context) ReplicationRecoveryPlanBootRecoveryGroupPreActionArrayOutput
}

ReplicationRecoveryPlanBootRecoveryGroupPreActionArrayInput is an input type that accepts ReplicationRecoveryPlanBootRecoveryGroupPreActionArray and ReplicationRecoveryPlanBootRecoveryGroupPreActionArrayOutput values. You can construct a concrete instance of `ReplicationRecoveryPlanBootRecoveryGroupPreActionArrayInput` via:

ReplicationRecoveryPlanBootRecoveryGroupPreActionArray{ ReplicationRecoveryPlanBootRecoveryGroupPreActionArgs{...} }

type ReplicationRecoveryPlanBootRecoveryGroupPreActionArrayOutput

type ReplicationRecoveryPlanBootRecoveryGroupPreActionArrayOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionArrayOutput) ElementType

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionArrayOutput) Index

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionArrayOutput) ToReplicationRecoveryPlanBootRecoveryGroupPreActionArrayOutput

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionArrayOutput) ToReplicationRecoveryPlanBootRecoveryGroupPreActionArrayOutputWithContext

func (o ReplicationRecoveryPlanBootRecoveryGroupPreActionArrayOutput) ToReplicationRecoveryPlanBootRecoveryGroupPreActionArrayOutputWithContext(ctx context.Context) ReplicationRecoveryPlanBootRecoveryGroupPreActionArrayOutput

type ReplicationRecoveryPlanBootRecoveryGroupPreActionInput

type ReplicationRecoveryPlanBootRecoveryGroupPreActionInput interface {
	pulumi.Input

	ToReplicationRecoveryPlanBootRecoveryGroupPreActionOutput() ReplicationRecoveryPlanBootRecoveryGroupPreActionOutput
	ToReplicationRecoveryPlanBootRecoveryGroupPreActionOutputWithContext(context.Context) ReplicationRecoveryPlanBootRecoveryGroupPreActionOutput
}

ReplicationRecoveryPlanBootRecoveryGroupPreActionInput is an input type that accepts ReplicationRecoveryPlanBootRecoveryGroupPreActionArgs and ReplicationRecoveryPlanBootRecoveryGroupPreActionOutput values. You can construct a concrete instance of `ReplicationRecoveryPlanBootRecoveryGroupPreActionInput` via:

ReplicationRecoveryPlanBootRecoveryGroupPreActionArgs{...}

type ReplicationRecoveryPlanBootRecoveryGroupPreActionOutput

type ReplicationRecoveryPlanBootRecoveryGroupPreActionOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionOutput) ElementType

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionOutput) FabricLocation

The fabric location of runbook or script. Possible values are `Primary` and `Recovery`. It must not be specified when `type` is `ManualActionDetails`.

> **NOTE:** This is required when `type` is set to `AutomationRunbookActionDetails` or `ScriptActionDetails`.

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionOutput) FailOverDirections

Directions of fail over. Possible values are `PrimaryToRecovery` and `RecoveryToPrimary`

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionOutput) FailOverTypes

Types of fail over. Possible values are `TestFailover`, `PlannedFailover` and `UnplannedFailover`

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionOutput) ManualActionInstruction

Instructions of manual action.

> **NOTE:** This property is required when `type` is set to `ManualActionDetails`.

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionOutput) Name

The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionOutput) RunbookId

Id of runbook.

> **NOTE:** This property is required when `type` is set to `AutomationRunbookActionDetails`.

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionOutput) ScriptPath

Path of action script.

> **NOTE:** This property is required when `type` is set to `ScriptActionDetails`.

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionOutput) ToReplicationRecoveryPlanBootRecoveryGroupPreActionOutput

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionOutput) ToReplicationRecoveryPlanBootRecoveryGroupPreActionOutputWithContext

func (o ReplicationRecoveryPlanBootRecoveryGroupPreActionOutput) ToReplicationRecoveryPlanBootRecoveryGroupPreActionOutputWithContext(ctx context.Context) ReplicationRecoveryPlanBootRecoveryGroupPreActionOutput

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionOutput) Type

Type of the action detail. Possible values are `AutomationRunbookActionDetails`, `ManualActionDetails` and `ScriptActionDetails`.

type ReplicationRecoveryPlanFailoverRecoveryGroup

type ReplicationRecoveryPlanFailoverRecoveryGroup struct {
	// one or more `action` block as defined below. which will be executed after the group recovery.
	PostActions []ReplicationRecoveryPlanFailoverRecoveryGroupPostAction `pulumi:"postActions"`
	// one or more `action` block as defined below. which will be executed before the group recovery.
	PreActions []ReplicationRecoveryPlanFailoverRecoveryGroupPreAction `pulumi:"preActions"`
}

type ReplicationRecoveryPlanFailoverRecoveryGroupArgs

type ReplicationRecoveryPlanFailoverRecoveryGroupArgs struct {
	// one or more `action` block as defined below. which will be executed after the group recovery.
	PostActions ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayInput `pulumi:"postActions"`
	// one or more `action` block as defined below. which will be executed before the group recovery.
	PreActions ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayInput `pulumi:"preActions"`
}

func (ReplicationRecoveryPlanFailoverRecoveryGroupArgs) ElementType

func (ReplicationRecoveryPlanFailoverRecoveryGroupArgs) ToReplicationRecoveryPlanFailoverRecoveryGroupOutput

func (i ReplicationRecoveryPlanFailoverRecoveryGroupArgs) ToReplicationRecoveryPlanFailoverRecoveryGroupOutput() ReplicationRecoveryPlanFailoverRecoveryGroupOutput

func (ReplicationRecoveryPlanFailoverRecoveryGroupArgs) ToReplicationRecoveryPlanFailoverRecoveryGroupOutputWithContext

func (i ReplicationRecoveryPlanFailoverRecoveryGroupArgs) ToReplicationRecoveryPlanFailoverRecoveryGroupOutputWithContext(ctx context.Context) ReplicationRecoveryPlanFailoverRecoveryGroupOutput

func (ReplicationRecoveryPlanFailoverRecoveryGroupArgs) ToReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput

func (i ReplicationRecoveryPlanFailoverRecoveryGroupArgs) ToReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput() ReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput

func (ReplicationRecoveryPlanFailoverRecoveryGroupArgs) ToReplicationRecoveryPlanFailoverRecoveryGroupPtrOutputWithContext

func (i ReplicationRecoveryPlanFailoverRecoveryGroupArgs) ToReplicationRecoveryPlanFailoverRecoveryGroupPtrOutputWithContext(ctx context.Context) ReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput

type ReplicationRecoveryPlanFailoverRecoveryGroupInput

type ReplicationRecoveryPlanFailoverRecoveryGroupInput interface {
	pulumi.Input

	ToReplicationRecoveryPlanFailoverRecoveryGroupOutput() ReplicationRecoveryPlanFailoverRecoveryGroupOutput
	ToReplicationRecoveryPlanFailoverRecoveryGroupOutputWithContext(context.Context) ReplicationRecoveryPlanFailoverRecoveryGroupOutput
}

ReplicationRecoveryPlanFailoverRecoveryGroupInput is an input type that accepts ReplicationRecoveryPlanFailoverRecoveryGroupArgs and ReplicationRecoveryPlanFailoverRecoveryGroupOutput values. You can construct a concrete instance of `ReplicationRecoveryPlanFailoverRecoveryGroupInput` via:

ReplicationRecoveryPlanFailoverRecoveryGroupArgs{...}

type ReplicationRecoveryPlanFailoverRecoveryGroupOutput

type ReplicationRecoveryPlanFailoverRecoveryGroupOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanFailoverRecoveryGroupOutput) ElementType

func (ReplicationRecoveryPlanFailoverRecoveryGroupOutput) PostActions

one or more `action` block as defined below. which will be executed after the group recovery.

func (ReplicationRecoveryPlanFailoverRecoveryGroupOutput) PreActions

one or more `action` block as defined below. which will be executed before the group recovery.

func (ReplicationRecoveryPlanFailoverRecoveryGroupOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupOutput

func (o ReplicationRecoveryPlanFailoverRecoveryGroupOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupOutput() ReplicationRecoveryPlanFailoverRecoveryGroupOutput

func (ReplicationRecoveryPlanFailoverRecoveryGroupOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupOutputWithContext

func (o ReplicationRecoveryPlanFailoverRecoveryGroupOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupOutputWithContext(ctx context.Context) ReplicationRecoveryPlanFailoverRecoveryGroupOutput

func (ReplicationRecoveryPlanFailoverRecoveryGroupOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput

func (o ReplicationRecoveryPlanFailoverRecoveryGroupOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput() ReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput

func (ReplicationRecoveryPlanFailoverRecoveryGroupOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupPtrOutputWithContext

func (o ReplicationRecoveryPlanFailoverRecoveryGroupOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupPtrOutputWithContext(ctx context.Context) ReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput

type ReplicationRecoveryPlanFailoverRecoveryGroupPostAction

type ReplicationRecoveryPlanFailoverRecoveryGroupPostAction struct {
	// The fabric location of runbook or script. Possible values are `Primary` and `Recovery`. It must not be specified when `type` is `ManualActionDetails`.
	//
	// > **NOTE:** This is required when `type` is set to `AutomationRunbookActionDetails` or `ScriptActionDetails`.
	FabricLocation *string `pulumi:"fabricLocation"`
	// Directions of fail over. Possible values are `PrimaryToRecovery` and `RecoveryToPrimary`
	FailOverDirections []string `pulumi:"failOverDirections"`
	// Types of fail over. Possible values are `TestFailover`, `PlannedFailover` and `UnplannedFailover`
	FailOverTypes []string `pulumi:"failOverTypes"`
	// Instructions of manual action.
	//
	// > **NOTE:** This property is required when `type` is set to `ManualActionDetails`.
	ManualActionInstruction *string `pulumi:"manualActionInstruction"`
	// The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
	Name string `pulumi:"name"`
	// Id of runbook.
	//
	// > **NOTE:** This property is required when `type` is set to `AutomationRunbookActionDetails`.
	RunbookId *string `pulumi:"runbookId"`
	// Path of action script.
	//
	// > **NOTE:** This property is required when `type` is set to `ScriptActionDetails`.
	ScriptPath *string `pulumi:"scriptPath"`
	// Type of the action detail. Possible values are `AutomationRunbookActionDetails`, `ManualActionDetails` and `ScriptActionDetails`.
	Type string `pulumi:"type"`
}

type ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArgs

type ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArgs struct {
	// The fabric location of runbook or script. Possible values are `Primary` and `Recovery`. It must not be specified when `type` is `ManualActionDetails`.
	//
	// > **NOTE:** This is required when `type` is set to `AutomationRunbookActionDetails` or `ScriptActionDetails`.
	FabricLocation pulumi.StringPtrInput `pulumi:"fabricLocation"`
	// Directions of fail over. Possible values are `PrimaryToRecovery` and `RecoveryToPrimary`
	FailOverDirections pulumi.StringArrayInput `pulumi:"failOverDirections"`
	// Types of fail over. Possible values are `TestFailover`, `PlannedFailover` and `UnplannedFailover`
	FailOverTypes pulumi.StringArrayInput `pulumi:"failOverTypes"`
	// Instructions of manual action.
	//
	// > **NOTE:** This property is required when `type` is set to `ManualActionDetails`.
	ManualActionInstruction pulumi.StringPtrInput `pulumi:"manualActionInstruction"`
	// The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
	Name pulumi.StringInput `pulumi:"name"`
	// Id of runbook.
	//
	// > **NOTE:** This property is required when `type` is set to `AutomationRunbookActionDetails`.
	RunbookId pulumi.StringPtrInput `pulumi:"runbookId"`
	// Path of action script.
	//
	// > **NOTE:** This property is required when `type` is set to `ScriptActionDetails`.
	ScriptPath pulumi.StringPtrInput `pulumi:"scriptPath"`
	// Type of the action detail. Possible values are `AutomationRunbookActionDetails`, `ManualActionDetails` and `ScriptActionDetails`.
	Type pulumi.StringInput `pulumi:"type"`
}

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArgs) ElementType

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArgs) ToReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutput

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArgs) ToReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutputWithContext

func (i ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArgs) ToReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutputWithContext(ctx context.Context) ReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutput

type ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArray

type ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArray []ReplicationRecoveryPlanFailoverRecoveryGroupPostActionInput

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArray) ElementType

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArray) ToReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayOutput

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArray) ToReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayOutputWithContext

func (i ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArray) ToReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayOutputWithContext(ctx context.Context) ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayOutput

type ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayInput

type ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayInput interface {
	pulumi.Input

	ToReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayOutput() ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayOutput
	ToReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayOutputWithContext(context.Context) ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayOutput
}

ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayInput is an input type that accepts ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArray and ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayOutput values. You can construct a concrete instance of `ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayInput` via:

ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArray{ ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArgs{...} }

type ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayOutput

type ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayOutput) ElementType

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayOutput) Index

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayOutput

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayOutputWithContext

func (o ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayOutputWithContext(ctx context.Context) ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayOutput

type ReplicationRecoveryPlanFailoverRecoveryGroupPostActionInput

type ReplicationRecoveryPlanFailoverRecoveryGroupPostActionInput interface {
	pulumi.Input

	ToReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutput() ReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutput
	ToReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutputWithContext(context.Context) ReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutput
}

ReplicationRecoveryPlanFailoverRecoveryGroupPostActionInput is an input type that accepts ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArgs and ReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutput values. You can construct a concrete instance of `ReplicationRecoveryPlanFailoverRecoveryGroupPostActionInput` via:

ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArgs{...}

type ReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutput

type ReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutput) ElementType

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutput) FabricLocation

The fabric location of runbook or script. Possible values are `Primary` and `Recovery`. It must not be specified when `type` is `ManualActionDetails`.

> **NOTE:** This is required when `type` is set to `AutomationRunbookActionDetails` or `ScriptActionDetails`.

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutput) FailOverDirections

Directions of fail over. Possible values are `PrimaryToRecovery` and `RecoveryToPrimary`

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutput) FailOverTypes

Types of fail over. Possible values are `TestFailover`, `PlannedFailover` and `UnplannedFailover`

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutput) ManualActionInstruction

Instructions of manual action.

> **NOTE:** This property is required when `type` is set to `ManualActionDetails`.

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutput) Name

The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutput) RunbookId

Id of runbook.

> **NOTE:** This property is required when `type` is set to `AutomationRunbookActionDetails`.

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutput) ScriptPath

Path of action script.

> **NOTE:** This property is required when `type` is set to `ScriptActionDetails`.

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutput

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutputWithContext

func (o ReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutputWithContext(ctx context.Context) ReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutput

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutput) Type

Type of the action detail. Possible values are `AutomationRunbookActionDetails`, `ManualActionDetails` and `ScriptActionDetails`.

type ReplicationRecoveryPlanFailoverRecoveryGroupPreAction

type ReplicationRecoveryPlanFailoverRecoveryGroupPreAction struct {
	// The fabric location of runbook or script. Possible values are `Primary` and `Recovery`. It must not be specified when `type` is `ManualActionDetails`.
	//
	// > **NOTE:** This is required when `type` is set to `AutomationRunbookActionDetails` or `ScriptActionDetails`.
	FabricLocation *string `pulumi:"fabricLocation"`
	// Directions of fail over. Possible values are `PrimaryToRecovery` and `RecoveryToPrimary`
	FailOverDirections []string `pulumi:"failOverDirections"`
	// Types of fail over. Possible values are `TestFailover`, `PlannedFailover` and `UnplannedFailover`
	FailOverTypes []string `pulumi:"failOverTypes"`
	// Instructions of manual action.
	//
	// > **NOTE:** This property is required when `type` is set to `ManualActionDetails`.
	ManualActionInstruction *string `pulumi:"manualActionInstruction"`
	// The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
	Name string `pulumi:"name"`
	// Id of runbook.
	//
	// > **NOTE:** This property is required when `type` is set to `AutomationRunbookActionDetails`.
	RunbookId *string `pulumi:"runbookId"`
	// Path of action script.
	//
	// > **NOTE:** This property is required when `type` is set to `ScriptActionDetails`.
	ScriptPath *string `pulumi:"scriptPath"`
	// Type of the action detail. Possible values are `AutomationRunbookActionDetails`, `ManualActionDetails` and `ScriptActionDetails`.
	Type string `pulumi:"type"`
}

type ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArgs

type ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArgs struct {
	// The fabric location of runbook or script. Possible values are `Primary` and `Recovery`. It must not be specified when `type` is `ManualActionDetails`.
	//
	// > **NOTE:** This is required when `type` is set to `AutomationRunbookActionDetails` or `ScriptActionDetails`.
	FabricLocation pulumi.StringPtrInput `pulumi:"fabricLocation"`
	// Directions of fail over. Possible values are `PrimaryToRecovery` and `RecoveryToPrimary`
	FailOverDirections pulumi.StringArrayInput `pulumi:"failOverDirections"`
	// Types of fail over. Possible values are `TestFailover`, `PlannedFailover` and `UnplannedFailover`
	FailOverTypes pulumi.StringArrayInput `pulumi:"failOverTypes"`
	// Instructions of manual action.
	//
	// > **NOTE:** This property is required when `type` is set to `ManualActionDetails`.
	ManualActionInstruction pulumi.StringPtrInput `pulumi:"manualActionInstruction"`
	// The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
	Name pulumi.StringInput `pulumi:"name"`
	// Id of runbook.
	//
	// > **NOTE:** This property is required when `type` is set to `AutomationRunbookActionDetails`.
	RunbookId pulumi.StringPtrInput `pulumi:"runbookId"`
	// Path of action script.
	//
	// > **NOTE:** This property is required when `type` is set to `ScriptActionDetails`.
	ScriptPath pulumi.StringPtrInput `pulumi:"scriptPath"`
	// Type of the action detail. Possible values are `AutomationRunbookActionDetails`, `ManualActionDetails` and `ScriptActionDetails`.
	Type pulumi.StringInput `pulumi:"type"`
}

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArgs) ElementType

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArgs) ToReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutput

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArgs) ToReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutputWithContext

func (i ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArgs) ToReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutputWithContext(ctx context.Context) ReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutput

type ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArray

type ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArray []ReplicationRecoveryPlanFailoverRecoveryGroupPreActionInput

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArray) ElementType

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArray) ToReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayOutput

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArray) ToReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayOutputWithContext

func (i ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArray) ToReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayOutputWithContext(ctx context.Context) ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayOutput

type ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayInput

type ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayInput interface {
	pulumi.Input

	ToReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayOutput() ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayOutput
	ToReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayOutputWithContext(context.Context) ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayOutput
}

ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayInput is an input type that accepts ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArray and ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayOutput values. You can construct a concrete instance of `ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayInput` via:

ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArray{ ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArgs{...} }

type ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayOutput

type ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayOutput) ElementType

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayOutput) Index

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayOutput

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayOutputWithContext

func (o ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayOutputWithContext(ctx context.Context) ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayOutput

type ReplicationRecoveryPlanFailoverRecoveryGroupPreActionInput

type ReplicationRecoveryPlanFailoverRecoveryGroupPreActionInput interface {
	pulumi.Input

	ToReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutput() ReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutput
	ToReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutputWithContext(context.Context) ReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutput
}

ReplicationRecoveryPlanFailoverRecoveryGroupPreActionInput is an input type that accepts ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArgs and ReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutput values. You can construct a concrete instance of `ReplicationRecoveryPlanFailoverRecoveryGroupPreActionInput` via:

ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArgs{...}

type ReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutput

type ReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutput) ElementType

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutput) FabricLocation

The fabric location of runbook or script. Possible values are `Primary` and `Recovery`. It must not be specified when `type` is `ManualActionDetails`.

> **NOTE:** This is required when `type` is set to `AutomationRunbookActionDetails` or `ScriptActionDetails`.

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutput) FailOverDirections

Directions of fail over. Possible values are `PrimaryToRecovery` and `RecoveryToPrimary`

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutput) FailOverTypes

Types of fail over. Possible values are `TestFailover`, `PlannedFailover` and `UnplannedFailover`

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutput) ManualActionInstruction

Instructions of manual action.

> **NOTE:** This property is required when `type` is set to `ManualActionDetails`.

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutput) Name

The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutput) RunbookId

Id of runbook.

> **NOTE:** This property is required when `type` is set to `AutomationRunbookActionDetails`.

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutput) ScriptPath

Path of action script.

> **NOTE:** This property is required when `type` is set to `ScriptActionDetails`.

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutput

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutputWithContext

func (o ReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutputWithContext(ctx context.Context) ReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutput

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutput) Type

Type of the action detail. Possible values are `AutomationRunbookActionDetails`, `ManualActionDetails` and `ScriptActionDetails`.

type ReplicationRecoveryPlanFailoverRecoveryGroupPtrInput

type ReplicationRecoveryPlanFailoverRecoveryGroupPtrInput interface {
	pulumi.Input

	ToReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput() ReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput
	ToReplicationRecoveryPlanFailoverRecoveryGroupPtrOutputWithContext(context.Context) ReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput
}

ReplicationRecoveryPlanFailoverRecoveryGroupPtrInput is an input type that accepts ReplicationRecoveryPlanFailoverRecoveryGroupArgs, ReplicationRecoveryPlanFailoverRecoveryGroupPtr and ReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput values. You can construct a concrete instance of `ReplicationRecoveryPlanFailoverRecoveryGroupPtrInput` via:

        ReplicationRecoveryPlanFailoverRecoveryGroupArgs{...}

or:

        nil

type ReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput

type ReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput) Elem

func (ReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput) ElementType

func (ReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput) PostActions

one or more `action` block as defined below. which will be executed after the group recovery.

func (ReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput) PreActions

one or more `action` block as defined below. which will be executed before the group recovery.

func (ReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput

func (ReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupPtrOutputWithContext

func (o ReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupPtrOutputWithContext(ctx context.Context) ReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput

type ReplicationRecoveryPlanInput

type ReplicationRecoveryPlanInput interface {
	pulumi.Input

	ToReplicationRecoveryPlanOutput() ReplicationRecoveryPlanOutput
	ToReplicationRecoveryPlanOutputWithContext(ctx context.Context) ReplicationRecoveryPlanOutput
}

type ReplicationRecoveryPlanMap

type ReplicationRecoveryPlanMap map[string]ReplicationRecoveryPlanInput

func (ReplicationRecoveryPlanMap) ElementType

func (ReplicationRecoveryPlanMap) ElementType() reflect.Type

func (ReplicationRecoveryPlanMap) ToReplicationRecoveryPlanMapOutput

func (i ReplicationRecoveryPlanMap) ToReplicationRecoveryPlanMapOutput() ReplicationRecoveryPlanMapOutput

func (ReplicationRecoveryPlanMap) ToReplicationRecoveryPlanMapOutputWithContext

func (i ReplicationRecoveryPlanMap) ToReplicationRecoveryPlanMapOutputWithContext(ctx context.Context) ReplicationRecoveryPlanMapOutput

type ReplicationRecoveryPlanMapInput

type ReplicationRecoveryPlanMapInput interface {
	pulumi.Input

	ToReplicationRecoveryPlanMapOutput() ReplicationRecoveryPlanMapOutput
	ToReplicationRecoveryPlanMapOutputWithContext(context.Context) ReplicationRecoveryPlanMapOutput
}

ReplicationRecoveryPlanMapInput is an input type that accepts ReplicationRecoveryPlanMap and ReplicationRecoveryPlanMapOutput values. You can construct a concrete instance of `ReplicationRecoveryPlanMapInput` via:

ReplicationRecoveryPlanMap{ "key": ReplicationRecoveryPlanArgs{...} }

type ReplicationRecoveryPlanMapOutput

type ReplicationRecoveryPlanMapOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanMapOutput) ElementType

func (ReplicationRecoveryPlanMapOutput) MapIndex

func (ReplicationRecoveryPlanMapOutput) ToReplicationRecoveryPlanMapOutput

func (o ReplicationRecoveryPlanMapOutput) ToReplicationRecoveryPlanMapOutput() ReplicationRecoveryPlanMapOutput

func (ReplicationRecoveryPlanMapOutput) ToReplicationRecoveryPlanMapOutputWithContext

func (o ReplicationRecoveryPlanMapOutput) ToReplicationRecoveryPlanMapOutputWithContext(ctx context.Context) ReplicationRecoveryPlanMapOutput

type ReplicationRecoveryPlanOutput

type ReplicationRecoveryPlanOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanOutput) AzureToAzureSettings

An `azureToAzureSettings` block as defined below.

func (ReplicationRecoveryPlanOutput) BootRecoveryGroups

One or more `bootRecoveryGroup` blocks as defined below.

> **NOTE:** At least one `bootRecoveryGroup` block will be required in the next major version of the AzureRM Provider.

func (ReplicationRecoveryPlanOutput) ElementType

func (ReplicationRecoveryPlanOutput) FailoverRecoveryGroup

One `failoverRecoveryGroup` block as defined below.

> **NOTE:** `failoverRecoveryGroup` will be required in the next major version of the AzureRM Provider.

func (ReplicationRecoveryPlanOutput) Name

The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.

func (ReplicationRecoveryPlanOutput) RecoveryVaultId

The ID of the vault that should be updated. Changing this forces a new resource to be created.

func (ReplicationRecoveryPlanOutput) ShutdownRecoveryGroup

One `shutdownRecoveryGroup` block as defined below.

> **NOTE:** `shutdownRecoveryGroup` will be required in the next major version of the AzureRM Provider.

func (ReplicationRecoveryPlanOutput) SourceRecoveryFabricId

func (o ReplicationRecoveryPlanOutput) SourceRecoveryFabricId() pulumi.StringOutput

ID of source fabric to be recovered from. Changing this forces a new Replication Plan to be created.

func (ReplicationRecoveryPlanOutput) TargetRecoveryFabricId

func (o ReplicationRecoveryPlanOutput) TargetRecoveryFabricId() pulumi.StringOutput

ID of target fabric to recover. Changing this forces a new Replication Plan to be created.

func (ReplicationRecoveryPlanOutput) ToReplicationRecoveryPlanOutput

func (o ReplicationRecoveryPlanOutput) ToReplicationRecoveryPlanOutput() ReplicationRecoveryPlanOutput

func (ReplicationRecoveryPlanOutput) ToReplicationRecoveryPlanOutputWithContext

func (o ReplicationRecoveryPlanOutput) ToReplicationRecoveryPlanOutputWithContext(ctx context.Context) ReplicationRecoveryPlanOutput

type ReplicationRecoveryPlanShutdownRecoveryGroup

type ReplicationRecoveryPlanShutdownRecoveryGroup struct {
	// one or more `action` block as defined below. which will be executed after the group recovery.
	PostActions []ReplicationRecoveryPlanShutdownRecoveryGroupPostAction `pulumi:"postActions"`
	// one or more `action` block as defined below. which will be executed before the group recovery.
	PreActions []ReplicationRecoveryPlanShutdownRecoveryGroupPreAction `pulumi:"preActions"`
}

type ReplicationRecoveryPlanShutdownRecoveryGroupArgs

type ReplicationRecoveryPlanShutdownRecoveryGroupArgs struct {
	// one or more `action` block as defined below. which will be executed after the group recovery.
	PostActions ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayInput `pulumi:"postActions"`
	// one or more `action` block as defined below. which will be executed before the group recovery.
	PreActions ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayInput `pulumi:"preActions"`
}

func (ReplicationRecoveryPlanShutdownRecoveryGroupArgs) ElementType

func (ReplicationRecoveryPlanShutdownRecoveryGroupArgs) ToReplicationRecoveryPlanShutdownRecoveryGroupOutput

func (i ReplicationRecoveryPlanShutdownRecoveryGroupArgs) ToReplicationRecoveryPlanShutdownRecoveryGroupOutput() ReplicationRecoveryPlanShutdownRecoveryGroupOutput

func (ReplicationRecoveryPlanShutdownRecoveryGroupArgs) ToReplicationRecoveryPlanShutdownRecoveryGroupOutputWithContext

func (i ReplicationRecoveryPlanShutdownRecoveryGroupArgs) ToReplicationRecoveryPlanShutdownRecoveryGroupOutputWithContext(ctx context.Context) ReplicationRecoveryPlanShutdownRecoveryGroupOutput

func (ReplicationRecoveryPlanShutdownRecoveryGroupArgs) ToReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput

func (i ReplicationRecoveryPlanShutdownRecoveryGroupArgs) ToReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput() ReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput

func (ReplicationRecoveryPlanShutdownRecoveryGroupArgs) ToReplicationRecoveryPlanShutdownRecoveryGroupPtrOutputWithContext

func (i ReplicationRecoveryPlanShutdownRecoveryGroupArgs) ToReplicationRecoveryPlanShutdownRecoveryGroupPtrOutputWithContext(ctx context.Context) ReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput

type ReplicationRecoveryPlanShutdownRecoveryGroupInput

type ReplicationRecoveryPlanShutdownRecoveryGroupInput interface {
	pulumi.Input

	ToReplicationRecoveryPlanShutdownRecoveryGroupOutput() ReplicationRecoveryPlanShutdownRecoveryGroupOutput
	ToReplicationRecoveryPlanShutdownRecoveryGroupOutputWithContext(context.Context) ReplicationRecoveryPlanShutdownRecoveryGroupOutput
}

ReplicationRecoveryPlanShutdownRecoveryGroupInput is an input type that accepts ReplicationRecoveryPlanShutdownRecoveryGroupArgs and ReplicationRecoveryPlanShutdownRecoveryGroupOutput values. You can construct a concrete instance of `ReplicationRecoveryPlanShutdownRecoveryGroupInput` via:

ReplicationRecoveryPlanShutdownRecoveryGroupArgs{...}

type ReplicationRecoveryPlanShutdownRecoveryGroupOutput

type ReplicationRecoveryPlanShutdownRecoveryGroupOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanShutdownRecoveryGroupOutput) ElementType

func (ReplicationRecoveryPlanShutdownRecoveryGroupOutput) PostActions

one or more `action` block as defined below. which will be executed after the group recovery.

func (ReplicationRecoveryPlanShutdownRecoveryGroupOutput) PreActions

one or more `action` block as defined below. which will be executed before the group recovery.

func (ReplicationRecoveryPlanShutdownRecoveryGroupOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupOutput

func (o ReplicationRecoveryPlanShutdownRecoveryGroupOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupOutput() ReplicationRecoveryPlanShutdownRecoveryGroupOutput

func (ReplicationRecoveryPlanShutdownRecoveryGroupOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupOutputWithContext

func (o ReplicationRecoveryPlanShutdownRecoveryGroupOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupOutputWithContext(ctx context.Context) ReplicationRecoveryPlanShutdownRecoveryGroupOutput

func (ReplicationRecoveryPlanShutdownRecoveryGroupOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput

func (o ReplicationRecoveryPlanShutdownRecoveryGroupOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput() ReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput

func (ReplicationRecoveryPlanShutdownRecoveryGroupOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupPtrOutputWithContext

func (o ReplicationRecoveryPlanShutdownRecoveryGroupOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupPtrOutputWithContext(ctx context.Context) ReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput

type ReplicationRecoveryPlanShutdownRecoveryGroupPostAction

type ReplicationRecoveryPlanShutdownRecoveryGroupPostAction struct {
	// The fabric location of runbook or script. Possible values are `Primary` and `Recovery`. It must not be specified when `type` is `ManualActionDetails`.
	//
	// > **NOTE:** This is required when `type` is set to `AutomationRunbookActionDetails` or `ScriptActionDetails`.
	FabricLocation *string `pulumi:"fabricLocation"`
	// Directions of fail over. Possible values are `PrimaryToRecovery` and `RecoveryToPrimary`
	FailOverDirections []string `pulumi:"failOverDirections"`
	// Types of fail over. Possible values are `TestFailover`, `PlannedFailover` and `UnplannedFailover`
	FailOverTypes []string `pulumi:"failOverTypes"`
	// Instructions of manual action.
	//
	// > **NOTE:** This property is required when `type` is set to `ManualActionDetails`.
	ManualActionInstruction *string `pulumi:"manualActionInstruction"`
	// The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
	Name string `pulumi:"name"`
	// Id of runbook.
	//
	// > **NOTE:** This property is required when `type` is set to `AutomationRunbookActionDetails`.
	RunbookId *string `pulumi:"runbookId"`
	// Path of action script.
	//
	// > **NOTE:** This property is required when `type` is set to `ScriptActionDetails`.
	ScriptPath *string `pulumi:"scriptPath"`
	// Type of the action detail. Possible values are `AutomationRunbookActionDetails`, `ManualActionDetails` and `ScriptActionDetails`.
	Type string `pulumi:"type"`
}

type ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArgs

type ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArgs struct {
	// The fabric location of runbook or script. Possible values are `Primary` and `Recovery`. It must not be specified when `type` is `ManualActionDetails`.
	//
	// > **NOTE:** This is required when `type` is set to `AutomationRunbookActionDetails` or `ScriptActionDetails`.
	FabricLocation pulumi.StringPtrInput `pulumi:"fabricLocation"`
	// Directions of fail over. Possible values are `PrimaryToRecovery` and `RecoveryToPrimary`
	FailOverDirections pulumi.StringArrayInput `pulumi:"failOverDirections"`
	// Types of fail over. Possible values are `TestFailover`, `PlannedFailover` and `UnplannedFailover`
	FailOverTypes pulumi.StringArrayInput `pulumi:"failOverTypes"`
	// Instructions of manual action.
	//
	// > **NOTE:** This property is required when `type` is set to `ManualActionDetails`.
	ManualActionInstruction pulumi.StringPtrInput `pulumi:"manualActionInstruction"`
	// The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
	Name pulumi.StringInput `pulumi:"name"`
	// Id of runbook.
	//
	// > **NOTE:** This property is required when `type` is set to `AutomationRunbookActionDetails`.
	RunbookId pulumi.StringPtrInput `pulumi:"runbookId"`
	// Path of action script.
	//
	// > **NOTE:** This property is required when `type` is set to `ScriptActionDetails`.
	ScriptPath pulumi.StringPtrInput `pulumi:"scriptPath"`
	// Type of the action detail. Possible values are `AutomationRunbookActionDetails`, `ManualActionDetails` and `ScriptActionDetails`.
	Type pulumi.StringInput `pulumi:"type"`
}

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArgs) ElementType

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArgs) ToReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutput

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArgs) ToReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutputWithContext

func (i ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArgs) ToReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutputWithContext(ctx context.Context) ReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutput

type ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArray

type ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArray []ReplicationRecoveryPlanShutdownRecoveryGroupPostActionInput

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArray) ElementType

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArray) ToReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayOutput

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArray) ToReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayOutputWithContext

func (i ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArray) ToReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayOutputWithContext(ctx context.Context) ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayOutput

type ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayInput

type ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayInput interface {
	pulumi.Input

	ToReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayOutput() ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayOutput
	ToReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayOutputWithContext(context.Context) ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayOutput
}

ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayInput is an input type that accepts ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArray and ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayOutput values. You can construct a concrete instance of `ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayInput` via:

ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArray{ ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArgs{...} }

type ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayOutput

type ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayOutput) ElementType

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayOutput) Index

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayOutput

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayOutputWithContext

func (o ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayOutputWithContext(ctx context.Context) ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayOutput

type ReplicationRecoveryPlanShutdownRecoveryGroupPostActionInput

type ReplicationRecoveryPlanShutdownRecoveryGroupPostActionInput interface {
	pulumi.Input

	ToReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutput() ReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutput
	ToReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutputWithContext(context.Context) ReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutput
}

ReplicationRecoveryPlanShutdownRecoveryGroupPostActionInput is an input type that accepts ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArgs and ReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutput values. You can construct a concrete instance of `ReplicationRecoveryPlanShutdownRecoveryGroupPostActionInput` via:

ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArgs{...}

type ReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutput

type ReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutput) ElementType

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutput) FabricLocation

The fabric location of runbook or script. Possible values are `Primary` and `Recovery`. It must not be specified when `type` is `ManualActionDetails`.

> **NOTE:** This is required when `type` is set to `AutomationRunbookActionDetails` or `ScriptActionDetails`.

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutput) FailOverDirections

Directions of fail over. Possible values are `PrimaryToRecovery` and `RecoveryToPrimary`

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutput) FailOverTypes

Types of fail over. Possible values are `TestFailover`, `PlannedFailover` and `UnplannedFailover`

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutput) ManualActionInstruction

Instructions of manual action.

> **NOTE:** This property is required when `type` is set to `ManualActionDetails`.

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutput) Name

The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutput) RunbookId

Id of runbook.

> **NOTE:** This property is required when `type` is set to `AutomationRunbookActionDetails`.

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutput) ScriptPath

Path of action script.

> **NOTE:** This property is required when `type` is set to `ScriptActionDetails`.

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutput

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutputWithContext

func (o ReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutputWithContext(ctx context.Context) ReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutput

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutput) Type

Type of the action detail. Possible values are `AutomationRunbookActionDetails`, `ManualActionDetails` and `ScriptActionDetails`.

type ReplicationRecoveryPlanShutdownRecoveryGroupPreAction

type ReplicationRecoveryPlanShutdownRecoveryGroupPreAction struct {
	// The fabric location of runbook or script. Possible values are `Primary` and `Recovery`. It must not be specified when `type` is `ManualActionDetails`.
	//
	// > **NOTE:** This is required when `type` is set to `AutomationRunbookActionDetails` or `ScriptActionDetails`.
	FabricLocation *string `pulumi:"fabricLocation"`
	// Directions of fail over. Possible values are `PrimaryToRecovery` and `RecoveryToPrimary`
	FailOverDirections []string `pulumi:"failOverDirections"`
	// Types of fail over. Possible values are `TestFailover`, `PlannedFailover` and `UnplannedFailover`
	FailOverTypes []string `pulumi:"failOverTypes"`
	// Instructions of manual action.
	//
	// > **NOTE:** This property is required when `type` is set to `ManualActionDetails`.
	ManualActionInstruction *string `pulumi:"manualActionInstruction"`
	// The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
	Name string `pulumi:"name"`
	// Id of runbook.
	//
	// > **NOTE:** This property is required when `type` is set to `AutomationRunbookActionDetails`.
	RunbookId *string `pulumi:"runbookId"`
	// Path of action script.
	//
	// > **NOTE:** This property is required when `type` is set to `ScriptActionDetails`.
	ScriptPath *string `pulumi:"scriptPath"`
	// Type of the action detail. Possible values are `AutomationRunbookActionDetails`, `ManualActionDetails` and `ScriptActionDetails`.
	Type string `pulumi:"type"`
}

type ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArgs

type ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArgs struct {
	// The fabric location of runbook or script. Possible values are `Primary` and `Recovery`. It must not be specified when `type` is `ManualActionDetails`.
	//
	// > **NOTE:** This is required when `type` is set to `AutomationRunbookActionDetails` or `ScriptActionDetails`.
	FabricLocation pulumi.StringPtrInput `pulumi:"fabricLocation"`
	// Directions of fail over. Possible values are `PrimaryToRecovery` and `RecoveryToPrimary`
	FailOverDirections pulumi.StringArrayInput `pulumi:"failOverDirections"`
	// Types of fail over. Possible values are `TestFailover`, `PlannedFailover` and `UnplannedFailover`
	FailOverTypes pulumi.StringArrayInput `pulumi:"failOverTypes"`
	// Instructions of manual action.
	//
	// > **NOTE:** This property is required when `type` is set to `ManualActionDetails`.
	ManualActionInstruction pulumi.StringPtrInput `pulumi:"manualActionInstruction"`
	// The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
	Name pulumi.StringInput `pulumi:"name"`
	// Id of runbook.
	//
	// > **NOTE:** This property is required when `type` is set to `AutomationRunbookActionDetails`.
	RunbookId pulumi.StringPtrInput `pulumi:"runbookId"`
	// Path of action script.
	//
	// > **NOTE:** This property is required when `type` is set to `ScriptActionDetails`.
	ScriptPath pulumi.StringPtrInput `pulumi:"scriptPath"`
	// Type of the action detail. Possible values are `AutomationRunbookActionDetails`, `ManualActionDetails` and `ScriptActionDetails`.
	Type pulumi.StringInput `pulumi:"type"`
}

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArgs) ElementType

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArgs) ToReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutput

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArgs) ToReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutputWithContext

func (i ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArgs) ToReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutputWithContext(ctx context.Context) ReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutput

type ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArray

type ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArray []ReplicationRecoveryPlanShutdownRecoveryGroupPreActionInput

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArray) ElementType

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArray) ToReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayOutput

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArray) ToReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayOutputWithContext

func (i ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArray) ToReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayOutputWithContext(ctx context.Context) ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayOutput

type ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayInput

type ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayInput interface {
	pulumi.Input

	ToReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayOutput() ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayOutput
	ToReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayOutputWithContext(context.Context) ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayOutput
}

ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayInput is an input type that accepts ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArray and ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayOutput values. You can construct a concrete instance of `ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayInput` via:

ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArray{ ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArgs{...} }

type ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayOutput

type ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayOutput) ElementType

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayOutput) Index

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayOutput

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayOutputWithContext

func (o ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayOutputWithContext(ctx context.Context) ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayOutput

type ReplicationRecoveryPlanShutdownRecoveryGroupPreActionInput

type ReplicationRecoveryPlanShutdownRecoveryGroupPreActionInput interface {
	pulumi.Input

	ToReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutput() ReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutput
	ToReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutputWithContext(context.Context) ReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutput
}

ReplicationRecoveryPlanShutdownRecoveryGroupPreActionInput is an input type that accepts ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArgs and ReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutput values. You can construct a concrete instance of `ReplicationRecoveryPlanShutdownRecoveryGroupPreActionInput` via:

ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArgs{...}

type ReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutput

type ReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutput) ElementType

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutput) FabricLocation

The fabric location of runbook or script. Possible values are `Primary` and `Recovery`. It must not be specified when `type` is `ManualActionDetails`.

> **NOTE:** This is required when `type` is set to `AutomationRunbookActionDetails` or `ScriptActionDetails`.

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutput) FailOverDirections

Directions of fail over. Possible values are `PrimaryToRecovery` and `RecoveryToPrimary`

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutput) FailOverTypes

Types of fail over. Possible values are `TestFailover`, `PlannedFailover` and `UnplannedFailover`

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutput) ManualActionInstruction

Instructions of manual action.

> **NOTE:** This property is required when `type` is set to `ManualActionDetails`.

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutput) Name

The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutput) RunbookId

Id of runbook.

> **NOTE:** This property is required when `type` is set to `AutomationRunbookActionDetails`.

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutput) ScriptPath

Path of action script.

> **NOTE:** This property is required when `type` is set to `ScriptActionDetails`.

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutput

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutputWithContext

func (o ReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutputWithContext(ctx context.Context) ReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutput

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutput) Type

Type of the action detail. Possible values are `AutomationRunbookActionDetails`, `ManualActionDetails` and `ScriptActionDetails`.

type ReplicationRecoveryPlanShutdownRecoveryGroupPtrInput

type ReplicationRecoveryPlanShutdownRecoveryGroupPtrInput interface {
	pulumi.Input

	ToReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput() ReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput
	ToReplicationRecoveryPlanShutdownRecoveryGroupPtrOutputWithContext(context.Context) ReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput
}

ReplicationRecoveryPlanShutdownRecoveryGroupPtrInput is an input type that accepts ReplicationRecoveryPlanShutdownRecoveryGroupArgs, ReplicationRecoveryPlanShutdownRecoveryGroupPtr and ReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput values. You can construct a concrete instance of `ReplicationRecoveryPlanShutdownRecoveryGroupPtrInput` via:

        ReplicationRecoveryPlanShutdownRecoveryGroupArgs{...}

or:

        nil

type ReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput

type ReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput) Elem

func (ReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput) ElementType

func (ReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput) PostActions

one or more `action` block as defined below. which will be executed after the group recovery.

func (ReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput) PreActions

one or more `action` block as defined below. which will be executed before the group recovery.

func (ReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput

func (ReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupPtrOutputWithContext

func (o ReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupPtrOutputWithContext(ctx context.Context) ReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput

type ReplicationRecoveryPlanState

type ReplicationRecoveryPlanState struct {
	// An `azureToAzureSettings` block as defined below.
	AzureToAzureSettings ReplicationRecoveryPlanAzureToAzureSettingsPtrInput
	// One or more `bootRecoveryGroup` blocks as defined below.
	//
	// > **NOTE:** At least one `bootRecoveryGroup` block will be required in the next major version of the AzureRM Provider.
	BootRecoveryGroups ReplicationRecoveryPlanBootRecoveryGroupArrayInput
	// One `failoverRecoveryGroup` block as defined below.
	//
	// > **NOTE:** `failoverRecoveryGroup` will be required in the next major version of the AzureRM Provider.
	FailoverRecoveryGroup ReplicationRecoveryPlanFailoverRecoveryGroupPtrInput
	// The name of the Replication Plan. The name can contain only letters, numbers, and hyphens. It should start with a letter and end with a letter or a number. Can be a maximum of 63 characters. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The ID of the vault that should be updated. Changing this forces a new resource to be created.
	RecoveryVaultId pulumi.StringPtrInput
	// One `shutdownRecoveryGroup` block as defined below.
	//
	// > **NOTE:** `shutdownRecoveryGroup` will be required in the next major version of the AzureRM Provider.
	ShutdownRecoveryGroup ReplicationRecoveryPlanShutdownRecoveryGroupPtrInput
	// ID of source fabric to be recovered from. Changing this forces a new Replication Plan to be created.
	SourceRecoveryFabricId pulumi.StringPtrInput
	// ID of target fabric to recover. Changing this forces a new Replication Plan to be created.
	TargetRecoveryFabricId pulumi.StringPtrInput
}

func (ReplicationRecoveryPlanState) ElementType

type VMWareReplicationPolicy

type VMWareReplicationPolicy struct {
	pulumi.CustomResourceState

	// Specifies the frequency at which to create application consistent recovery points. Must between `0` to `720`.
	ApplicationConsistentSnapshotFrequencyInMinutes pulumi.IntOutput `pulumi:"applicationConsistentSnapshotFrequencyInMinutes"`
	// The name which should be used for this Classic Replication Policy. Changing this forces a new Replication Policy to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies the period up to which the recovery points will be retained. Must between `0` to `21600`.
	RecoveryPointRetentionInMinutes pulumi.IntOutput `pulumi:"recoveryPointRetentionInMinutes"`
	// ID of the Recovery Services Vault. Changing this forces a new Replication Policy to be created.
	RecoveryVaultId pulumi.StringOutput `pulumi:"recoveryVaultId"`
}

Manages a VMWare Replication Policy.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-rg"),
			Location: pulumi.String("eastus"),
		})
		if err != nil {
			return err
		}
		exampleVault, err := recoveryservices.NewVault(ctx, "example", &recoveryservices.VaultArgs{
			Name:                            pulumi.String("example-vault"),
			Location:                        example.Location,
			ResourceGroupName:               example.Name,
			Sku:                             pulumi.String("Standard"),
			ClassicVmwareReplicationEnabled: pulumi.Bool(true),
			SoftDeleteEnabled:               pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewVMWareReplicationPolicy(ctx, "example", &siterecovery.VMWareReplicationPolicyArgs{
			Name:                            pulumi.String("example-policy"),
			RecoveryVaultId:                 exampleVault.ID(),
			RecoveryPointRetentionInMinutes: pulumi.Int(1440),
			ApplicationConsistentSnapshotFrequencyInMinutes: pulumi.Int(240),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VMWare Replication Policy can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:siterecovery/vMWareReplicationPolicy:VMWareReplicationPolicy example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/vault1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/policy1 ```

func GetVMWareReplicationPolicy

func GetVMWareReplicationPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VMWareReplicationPolicyState, opts ...pulumi.ResourceOption) (*VMWareReplicationPolicy, error)

GetVMWareReplicationPolicy gets an existing VMWareReplicationPolicy 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 NewVMWareReplicationPolicy

func NewVMWareReplicationPolicy(ctx *pulumi.Context,
	name string, args *VMWareReplicationPolicyArgs, opts ...pulumi.ResourceOption) (*VMWareReplicationPolicy, error)

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

func (*VMWareReplicationPolicy) ElementType

func (*VMWareReplicationPolicy) ElementType() reflect.Type

func (*VMWareReplicationPolicy) ToVMWareReplicationPolicyOutput

func (i *VMWareReplicationPolicy) ToVMWareReplicationPolicyOutput() VMWareReplicationPolicyOutput

func (*VMWareReplicationPolicy) ToVMWareReplicationPolicyOutputWithContext

func (i *VMWareReplicationPolicy) ToVMWareReplicationPolicyOutputWithContext(ctx context.Context) VMWareReplicationPolicyOutput

type VMWareReplicationPolicyArgs

type VMWareReplicationPolicyArgs struct {
	// Specifies the frequency at which to create application consistent recovery points. Must between `0` to `720`.
	ApplicationConsistentSnapshotFrequencyInMinutes pulumi.IntInput
	// The name which should be used for this Classic Replication Policy. Changing this forces a new Replication Policy to be created.
	Name pulumi.StringPtrInput
	// Specifies the period up to which the recovery points will be retained. Must between `0` to `21600`.
	RecoveryPointRetentionInMinutes pulumi.IntInput
	// ID of the Recovery Services Vault. Changing this forces a new Replication Policy to be created.
	RecoveryVaultId pulumi.StringInput
}

The set of arguments for constructing a VMWareReplicationPolicy resource.

func (VMWareReplicationPolicyArgs) ElementType

type VMWareReplicationPolicyArray

type VMWareReplicationPolicyArray []VMWareReplicationPolicyInput

func (VMWareReplicationPolicyArray) ElementType

func (VMWareReplicationPolicyArray) ToVMWareReplicationPolicyArrayOutput

func (i VMWareReplicationPolicyArray) ToVMWareReplicationPolicyArrayOutput() VMWareReplicationPolicyArrayOutput

func (VMWareReplicationPolicyArray) ToVMWareReplicationPolicyArrayOutputWithContext

func (i VMWareReplicationPolicyArray) ToVMWareReplicationPolicyArrayOutputWithContext(ctx context.Context) VMWareReplicationPolicyArrayOutput

type VMWareReplicationPolicyArrayInput

type VMWareReplicationPolicyArrayInput interface {
	pulumi.Input

	ToVMWareReplicationPolicyArrayOutput() VMWareReplicationPolicyArrayOutput
	ToVMWareReplicationPolicyArrayOutputWithContext(context.Context) VMWareReplicationPolicyArrayOutput
}

VMWareReplicationPolicyArrayInput is an input type that accepts VMWareReplicationPolicyArray and VMWareReplicationPolicyArrayOutput values. You can construct a concrete instance of `VMWareReplicationPolicyArrayInput` via:

VMWareReplicationPolicyArray{ VMWareReplicationPolicyArgs{...} }

type VMWareReplicationPolicyArrayOutput

type VMWareReplicationPolicyArrayOutput struct{ *pulumi.OutputState }

func (VMWareReplicationPolicyArrayOutput) ElementType

func (VMWareReplicationPolicyArrayOutput) Index

func (VMWareReplicationPolicyArrayOutput) ToVMWareReplicationPolicyArrayOutput

func (o VMWareReplicationPolicyArrayOutput) ToVMWareReplicationPolicyArrayOutput() VMWareReplicationPolicyArrayOutput

func (VMWareReplicationPolicyArrayOutput) ToVMWareReplicationPolicyArrayOutputWithContext

func (o VMWareReplicationPolicyArrayOutput) ToVMWareReplicationPolicyArrayOutputWithContext(ctx context.Context) VMWareReplicationPolicyArrayOutput

type VMWareReplicationPolicyInput

type VMWareReplicationPolicyInput interface {
	pulumi.Input

	ToVMWareReplicationPolicyOutput() VMWareReplicationPolicyOutput
	ToVMWareReplicationPolicyOutputWithContext(ctx context.Context) VMWareReplicationPolicyOutput
}

type VMWareReplicationPolicyMap

type VMWareReplicationPolicyMap map[string]VMWareReplicationPolicyInput

func (VMWareReplicationPolicyMap) ElementType

func (VMWareReplicationPolicyMap) ElementType() reflect.Type

func (VMWareReplicationPolicyMap) ToVMWareReplicationPolicyMapOutput

func (i VMWareReplicationPolicyMap) ToVMWareReplicationPolicyMapOutput() VMWareReplicationPolicyMapOutput

func (VMWareReplicationPolicyMap) ToVMWareReplicationPolicyMapOutputWithContext

func (i VMWareReplicationPolicyMap) ToVMWareReplicationPolicyMapOutputWithContext(ctx context.Context) VMWareReplicationPolicyMapOutput

type VMWareReplicationPolicyMapInput

type VMWareReplicationPolicyMapInput interface {
	pulumi.Input

	ToVMWareReplicationPolicyMapOutput() VMWareReplicationPolicyMapOutput
	ToVMWareReplicationPolicyMapOutputWithContext(context.Context) VMWareReplicationPolicyMapOutput
}

VMWareReplicationPolicyMapInput is an input type that accepts VMWareReplicationPolicyMap and VMWareReplicationPolicyMapOutput values. You can construct a concrete instance of `VMWareReplicationPolicyMapInput` via:

VMWareReplicationPolicyMap{ "key": VMWareReplicationPolicyArgs{...} }

type VMWareReplicationPolicyMapOutput

type VMWareReplicationPolicyMapOutput struct{ *pulumi.OutputState }

func (VMWareReplicationPolicyMapOutput) ElementType

func (VMWareReplicationPolicyMapOutput) MapIndex

func (VMWareReplicationPolicyMapOutput) ToVMWareReplicationPolicyMapOutput

func (o VMWareReplicationPolicyMapOutput) ToVMWareReplicationPolicyMapOutput() VMWareReplicationPolicyMapOutput

func (VMWareReplicationPolicyMapOutput) ToVMWareReplicationPolicyMapOutputWithContext

func (o VMWareReplicationPolicyMapOutput) ToVMWareReplicationPolicyMapOutputWithContext(ctx context.Context) VMWareReplicationPolicyMapOutput

type VMWareReplicationPolicyOutput

type VMWareReplicationPolicyOutput struct{ *pulumi.OutputState }

func (VMWareReplicationPolicyOutput) ApplicationConsistentSnapshotFrequencyInMinutes

func (o VMWareReplicationPolicyOutput) ApplicationConsistentSnapshotFrequencyInMinutes() pulumi.IntOutput

Specifies the frequency at which to create application consistent recovery points. Must between `0` to `720`.

func (VMWareReplicationPolicyOutput) ElementType

func (VMWareReplicationPolicyOutput) Name

The name which should be used for this Classic Replication Policy. Changing this forces a new Replication Policy to be created.

func (VMWareReplicationPolicyOutput) RecoveryPointRetentionInMinutes

func (o VMWareReplicationPolicyOutput) RecoveryPointRetentionInMinutes() pulumi.IntOutput

Specifies the period up to which the recovery points will be retained. Must between `0` to `21600`.

func (VMWareReplicationPolicyOutput) RecoveryVaultId

ID of the Recovery Services Vault. Changing this forces a new Replication Policy to be created.

func (VMWareReplicationPolicyOutput) ToVMWareReplicationPolicyOutput

func (o VMWareReplicationPolicyOutput) ToVMWareReplicationPolicyOutput() VMWareReplicationPolicyOutput

func (VMWareReplicationPolicyOutput) ToVMWareReplicationPolicyOutputWithContext

func (o VMWareReplicationPolicyOutput) ToVMWareReplicationPolicyOutputWithContext(ctx context.Context) VMWareReplicationPolicyOutput

type VMWareReplicationPolicyState

type VMWareReplicationPolicyState struct {
	// Specifies the frequency at which to create application consistent recovery points. Must between `0` to `720`.
	ApplicationConsistentSnapshotFrequencyInMinutes pulumi.IntPtrInput
	// The name which should be used for this Classic Replication Policy. Changing this forces a new Replication Policy to be created.
	Name pulumi.StringPtrInput
	// Specifies the period up to which the recovery points will be retained. Must between `0` to `21600`.
	RecoveryPointRetentionInMinutes pulumi.IntPtrInput
	// ID of the Recovery Services Vault. Changing this forces a new Replication Policy to be created.
	RecoveryVaultId pulumi.StringPtrInput
}

func (VMWareReplicationPolicyState) ElementType

type VmwareReplicatedVm

type VmwareReplicatedVm struct {
	pulumi.CustomResourceState

	// The name of VMWare appliance which handles the replication. Changing this forces a new resource to be created.
	ApplianceName pulumi.StringOutput `pulumi:"applianceName"`
	// The ID of the stroage account that should be used for logging during replication.
	//
	// > **Note:** Only standard types of storage accounts are allowed.
	//
	// > **Note:** Only one of `defaultLogStorageAccountId` or `managedDisk` must be specified.
	//
	// > **Note:** Changing `defaultLogStorageAccountId` forces a new resource to be created. But removing it does not.
	//
	// > **Note:** When `defaultLogStorageAccountId` co-exist with `managedDisk`, the value of `defaultLogStorageAccountId` must be as same as `logStorageAccountId` of every `managedDisk` or it forces a new resource to be created.
	DefaultLogStorageAccountId pulumi.StringPtrOutput `pulumi:"defaultLogStorageAccountId"`
	// The type of storage account that should be used for recovery disks when a failover is done. Possible values are `Premium_LRS`, `Standard_LRS` and `StandardSSD_LRS`.
	//
	// > **Note:** Only one of `defaultRecoveryDiskType` or `managedDisk` must be specified.
	//
	// > **Note:** Changing `defaultRecoveryDiskType` forces a new resource to be created. But removing it does not.
	//
	// > **Note:** When `defaultRecoveryDiskType` co-exist with `managedDisk`, the value of `defaultRecoveryDiskType` must be as same as `targetDiskType` of every `managedDisk` or it forces a new resource to be created.
	DefaultRecoveryDiskType pulumi.StringPtrOutput `pulumi:"defaultRecoveryDiskType"`
	// The ID of the default Disk Encryption Set that should be used for the disks when a failover is done.
	//
	// > **Note:** Changing `defaultTargetDiskEncryptionSetId` forces a new resource to be created. But removing it does not.
	//
	// > **Note:** When `defaultTargetDiskEncryptionSetId` co-exist with `managedDisk`, the value of `defaultTargetDiskEncryptionSetId` must be as same as `targetDiskEncryptionSetId` of every `managedDisk` or it forces a new resource to be created.
	DefaultTargetDiskEncryptionSetId pulumi.StringPtrOutput `pulumi:"defaultTargetDiskEncryptionSetId"`
	// The license type of the VM. Possible values are `NoLicenseType`, `NotSpecified` and `WindowsServer`. Defaults to `NotSpecified`.
	LicenseType pulumi.StringPtrOutput `pulumi:"licenseType"`
	// One or more `managedDisk` block as defined below. It's available only if mobility service is already installed on the source VM.
	//
	// > **Note:** A replicated VM could be created without `managedDisk` block, once the block has been specified, changing it expect removing it forces a new resource to be created.
	ManagedDisks VmwareReplicatedVmManagedDiskArrayOutput `pulumi:"managedDisks"`
	// Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
	MultiVmGroupName pulumi.StringPtrOutput `pulumi:"multiVmGroupName"`
	// The name of the replicated VM. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// One or more `networkInterface` block as defined below.
	NetworkInterfaces VmwareReplicatedVmNetworkInterfaceArrayOutput `pulumi:"networkInterfaces"`
	// The name of the credential to access the source VM. Changing this forces a new resource to be created. More information about the credentials could be found [here](https://learn.microsoft.com/en-us/azure/site-recovery/deploy-vmware-azure-replication-appliance-modernized).
	PhysicalServerCredentialName pulumi.StringOutput `pulumi:"physicalServerCredentialName"`
	// The ID of the policy to use for this replicated VM.
	RecoveryReplicationPolicyId pulumi.StringOutput `pulumi:"recoveryReplicationPolicyId"`
	// The ID of the Recovery Services Vault where the replicated VM is created.
	RecoveryVaultId pulumi.StringOutput `pulumi:"recoveryVaultId"`
	// The name of the source VM in VMWare. Changing this forces a new resource to be created.
	SourceVmName pulumi.StringOutput `pulumi:"sourceVmName"`
	// The ID of availability set that the new VM should belong to when a failover is done.
	TargetAvailabilitySetId pulumi.StringPtrOutput `pulumi:"targetAvailabilitySetId"`
	// The ID of the storage account that should be used for boot diagnostics when a failover is done.
	TargetBootDiagnosticsStorageAccountId pulumi.StringPtrOutput `pulumi:"targetBootDiagnosticsStorageAccountId"`
	// The ID of network to use when a failover is done.
	//
	// > **Note:** `targetNetworkId` is required when `networkInterface` is specified.
	TargetNetworkId pulumi.StringPtrOutput `pulumi:"targetNetworkId"`
	// The ID of Proximity Placement Group the new VM should belong to when a failover is done.
	//
	// > **Note:** Only one of `targetAvailabilitySetId` or `targetZone` can be specified.
	TargetProximityPlacementGroupId pulumi.StringPtrOutput `pulumi:"targetProximityPlacementGroupId"`
	// The ID of resource group where the VM should be created when a failover is done.
	TargetResourceGroupId pulumi.StringOutput `pulumi:"targetResourceGroupId"`
	// Name of the VM that should be created when a failover is done. Changing this forces a new resource to be created.
	TargetVmName pulumi.StringOutput `pulumi:"targetVmName"`
	// Size of the VM that should be created when a failover is done, such as `Standard_F2`. If it's not specified, it will automatically be set by detecting the source VM size.
	TargetVmSize pulumi.StringPtrOutput `pulumi:"targetVmSize"`
	// Specifies the Availability Zone where the Failover VM should exist.
	TargetZone pulumi.StringPtrOutput `pulumi:"targetZone"`
	// The ID of network to use when a test failover is done.
	TestNetworkId pulumi.StringPtrOutput `pulumi:"testNetworkId"`
}

Manages a VMWare replicated VM using Azure Site Recovery (VMWare to Azure only). A replicated VM keeps a copiously updated image of the VM in Azure in order to be able to start the VM in Azure in case of a disaster.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-rg"),
			Location: pulumi.String("West US"),
		})
		if err != nil {
			return err
		}
		exampleVault, err := recoveryservices.NewVault(ctx, "example", &recoveryservices.VaultArgs{
			Name:              pulumi.String("example-recovery-vault"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		exampleVMWareReplicationPolicy, err := siterecovery.NewVMWareReplicationPolicy(ctx, "example", &siterecovery.VMWareReplicationPolicyArgs{
			RecoveryVaultId:                 exampleVault.ID(),
			Name:                            pulumi.String("example-policy"),
			RecoveryPointRetentionInMinutes: pulumi.Int(1440),
			ApplicationConsistentSnapshotFrequencyInMinutes: pulumi.Int(240),
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewVmwareReplicationPolicyAssociation(ctx, "test", &siterecovery.VmwareReplicationPolicyAssociationArgs{
			Name:            pulumi.String("example-association"),
			RecoveryVaultId: exampleVault.ID(),
			PolicyId:        exampleVMWareReplicationPolicy.ID(),
		})
		if err != nil {
			return err
		}
		exampleAccount, err := storage.NewAccount(ctx, "example", &storage.AccountArgs{
			Name:                   pulumi.String("examplestorageacc"),
			ResourceGroupName:      example.Name,
			Location:               example.Location,
			AccountTier:            pulumi.String("Standard"),
			AccountKind:            pulumi.String("StorageV2"),
			AccountReplicationType: pulumi.String("LRS"),
		})
		if err != nil {
			return err
		}
		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "example", &network.VirtualNetworkArgs{
			Name:              pulumi.String("example-net"),
			ResourceGroupName: example.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("192.168.2.0/24"),
			},
			Location: example.Location,
		})
		if err != nil {
			return err
		}
		exampleSubnet, err := network.NewSubnet(ctx, "example", &network.SubnetArgs{
			Name:               pulumi.String("example-subnet"),
			ResourceGroupName:  example.Name,
			VirtualNetworkName: exampleVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("192.168.2.0/24"),
			},
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewVmwareReplicatedVm(ctx, "example", &siterecovery.VmwareReplicatedVmArgs{
			Name:                                  pulumi.String("example-vmware-vm"),
			RecoveryVaultId:                       exampleVault.ID(),
			SourceVmName:                          pulumi.String("example-vm"),
			ApplianceName:                         pulumi.String("example-appliance"),
			RecoveryReplicationPolicyId:           pulumi.Any(exampleAzurermSiteRecoveryVmwareReplicationPolicyAssociation.PolicyId),
			PhysicalServerCredentialName:          pulumi.String("example-creds"),
			LicenseType:                           pulumi.String("NotSpecified"),
			TargetBootDiagnosticsStorageAccountId: exampleAccount.ID(),
			TargetVmName:                          pulumi.String("example_replicated_vm"),
			TargetResourceGroupId:                 example.ID(),
			DefaultLogStorageAccountId:            exampleAccount.ID(),
			DefaultRecoveryDiskType:               pulumi.String("Standard_LRS"),
			TargetNetworkId:                       exampleVirtualNetwork.ID(),
			NetworkInterfaces: siterecovery.VmwareReplicatedVmNetworkInterfaceArray{
				&siterecovery.VmwareReplicatedVmNetworkInterfaceArgs{
					SourceMacAddress: pulumi.String("00:00:00:00:00:00"),
					TargetSubnetName: exampleSubnet.Name,
					IsPrimary:        pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh $ pulumi import azure:siterecovery/vmwareReplicatedVm:VmwareReplicatedVm 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 GetVmwareReplicatedVm

func GetVmwareReplicatedVm(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VmwareReplicatedVmState, opts ...pulumi.ResourceOption) (*VmwareReplicatedVm, error)

GetVmwareReplicatedVm gets an existing VmwareReplicatedVm 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 NewVmwareReplicatedVm

func NewVmwareReplicatedVm(ctx *pulumi.Context,
	name string, args *VmwareReplicatedVmArgs, opts ...pulumi.ResourceOption) (*VmwareReplicatedVm, error)

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

func (*VmwareReplicatedVm) ElementType

func (*VmwareReplicatedVm) ElementType() reflect.Type

func (*VmwareReplicatedVm) ToVmwareReplicatedVmOutput

func (i *VmwareReplicatedVm) ToVmwareReplicatedVmOutput() VmwareReplicatedVmOutput

func (*VmwareReplicatedVm) ToVmwareReplicatedVmOutputWithContext

func (i *VmwareReplicatedVm) ToVmwareReplicatedVmOutputWithContext(ctx context.Context) VmwareReplicatedVmOutput

type VmwareReplicatedVmArgs

type VmwareReplicatedVmArgs struct {
	// The name of VMWare appliance which handles the replication. Changing this forces a new resource to be created.
	ApplianceName pulumi.StringInput
	// The ID of the stroage account that should be used for logging during replication.
	//
	// > **Note:** Only standard types of storage accounts are allowed.
	//
	// > **Note:** Only one of `defaultLogStorageAccountId` or `managedDisk` must be specified.
	//
	// > **Note:** Changing `defaultLogStorageAccountId` forces a new resource to be created. But removing it does not.
	//
	// > **Note:** When `defaultLogStorageAccountId` co-exist with `managedDisk`, the value of `defaultLogStorageAccountId` must be as same as `logStorageAccountId` of every `managedDisk` or it forces a new resource to be created.
	DefaultLogStorageAccountId pulumi.StringPtrInput
	// The type of storage account that should be used for recovery disks when a failover is done. Possible values are `Premium_LRS`, `Standard_LRS` and `StandardSSD_LRS`.
	//
	// > **Note:** Only one of `defaultRecoveryDiskType` or `managedDisk` must be specified.
	//
	// > **Note:** Changing `defaultRecoveryDiskType` forces a new resource to be created. But removing it does not.
	//
	// > **Note:** When `defaultRecoveryDiskType` co-exist with `managedDisk`, the value of `defaultRecoveryDiskType` must be as same as `targetDiskType` of every `managedDisk` or it forces a new resource to be created.
	DefaultRecoveryDiskType pulumi.StringPtrInput
	// The ID of the default Disk Encryption Set that should be used for the disks when a failover is done.
	//
	// > **Note:** Changing `defaultTargetDiskEncryptionSetId` forces a new resource to be created. But removing it does not.
	//
	// > **Note:** When `defaultTargetDiskEncryptionSetId` co-exist with `managedDisk`, the value of `defaultTargetDiskEncryptionSetId` must be as same as `targetDiskEncryptionSetId` of every `managedDisk` or it forces a new resource to be created.
	DefaultTargetDiskEncryptionSetId pulumi.StringPtrInput
	// The license type of the VM. Possible values are `NoLicenseType`, `NotSpecified` and `WindowsServer`. Defaults to `NotSpecified`.
	LicenseType pulumi.StringPtrInput
	// One or more `managedDisk` block as defined below. It's available only if mobility service is already installed on the source VM.
	//
	// > **Note:** A replicated VM could be created without `managedDisk` block, once the block has been specified, changing it expect removing it forces a new resource to be created.
	ManagedDisks VmwareReplicatedVmManagedDiskArrayInput
	// Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
	MultiVmGroupName pulumi.StringPtrInput
	// The name of the replicated VM. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// One or more `networkInterface` block as defined below.
	NetworkInterfaces VmwareReplicatedVmNetworkInterfaceArrayInput
	// The name of the credential to access the source VM. Changing this forces a new resource to be created. More information about the credentials could be found [here](https://learn.microsoft.com/en-us/azure/site-recovery/deploy-vmware-azure-replication-appliance-modernized).
	PhysicalServerCredentialName pulumi.StringInput
	// The ID of the policy to use for this replicated VM.
	RecoveryReplicationPolicyId pulumi.StringInput
	// The ID of the Recovery Services Vault where the replicated VM is created.
	RecoveryVaultId pulumi.StringInput
	// The name of the source VM in VMWare. Changing this forces a new resource to be created.
	SourceVmName pulumi.StringInput
	// The ID of availability set that the new VM should belong to when a failover is done.
	TargetAvailabilitySetId pulumi.StringPtrInput
	// The ID of the storage account that should be used for boot diagnostics when a failover is done.
	TargetBootDiagnosticsStorageAccountId pulumi.StringPtrInput
	// The ID of network to use when a failover is done.
	//
	// > **Note:** `targetNetworkId` is required when `networkInterface` is specified.
	TargetNetworkId pulumi.StringPtrInput
	// The ID of Proximity Placement Group the new VM should belong to when a failover is done.
	//
	// > **Note:** Only one of `targetAvailabilitySetId` or `targetZone` can be specified.
	TargetProximityPlacementGroupId pulumi.StringPtrInput
	// The ID of resource group where the VM should be created when a failover is done.
	TargetResourceGroupId pulumi.StringInput
	// Name of the VM that should be created when a failover is done. Changing this forces a new resource to be created.
	TargetVmName pulumi.StringInput
	// Size of the VM that should be created when a failover is done, such as `Standard_F2`. If it's not specified, it will automatically be set by detecting the source VM size.
	TargetVmSize pulumi.StringPtrInput
	// Specifies the Availability Zone where the Failover VM should exist.
	TargetZone pulumi.StringPtrInput
	// The ID of network to use when a test failover is done.
	TestNetworkId pulumi.StringPtrInput
}

The set of arguments for constructing a VmwareReplicatedVm resource.

func (VmwareReplicatedVmArgs) ElementType

func (VmwareReplicatedVmArgs) ElementType() reflect.Type

type VmwareReplicatedVmArray

type VmwareReplicatedVmArray []VmwareReplicatedVmInput

func (VmwareReplicatedVmArray) ElementType

func (VmwareReplicatedVmArray) ElementType() reflect.Type

func (VmwareReplicatedVmArray) ToVmwareReplicatedVmArrayOutput

func (i VmwareReplicatedVmArray) ToVmwareReplicatedVmArrayOutput() VmwareReplicatedVmArrayOutput

func (VmwareReplicatedVmArray) ToVmwareReplicatedVmArrayOutputWithContext

func (i VmwareReplicatedVmArray) ToVmwareReplicatedVmArrayOutputWithContext(ctx context.Context) VmwareReplicatedVmArrayOutput

type VmwareReplicatedVmArrayInput

type VmwareReplicatedVmArrayInput interface {
	pulumi.Input

	ToVmwareReplicatedVmArrayOutput() VmwareReplicatedVmArrayOutput
	ToVmwareReplicatedVmArrayOutputWithContext(context.Context) VmwareReplicatedVmArrayOutput
}

VmwareReplicatedVmArrayInput is an input type that accepts VmwareReplicatedVmArray and VmwareReplicatedVmArrayOutput values. You can construct a concrete instance of `VmwareReplicatedVmArrayInput` via:

VmwareReplicatedVmArray{ VmwareReplicatedVmArgs{...} }

type VmwareReplicatedVmArrayOutput

type VmwareReplicatedVmArrayOutput struct{ *pulumi.OutputState }

func (VmwareReplicatedVmArrayOutput) ElementType

func (VmwareReplicatedVmArrayOutput) Index

func (VmwareReplicatedVmArrayOutput) ToVmwareReplicatedVmArrayOutput

func (o VmwareReplicatedVmArrayOutput) ToVmwareReplicatedVmArrayOutput() VmwareReplicatedVmArrayOutput

func (VmwareReplicatedVmArrayOutput) ToVmwareReplicatedVmArrayOutputWithContext

func (o VmwareReplicatedVmArrayOutput) ToVmwareReplicatedVmArrayOutputWithContext(ctx context.Context) VmwareReplicatedVmArrayOutput

type VmwareReplicatedVmInput

type VmwareReplicatedVmInput interface {
	pulumi.Input

	ToVmwareReplicatedVmOutput() VmwareReplicatedVmOutput
	ToVmwareReplicatedVmOutputWithContext(ctx context.Context) VmwareReplicatedVmOutput
}

type VmwareReplicatedVmManagedDisk

type VmwareReplicatedVmManagedDisk struct {
	// The ID of the disk to be replicated.
	DiskId string `pulumi:"diskId"`
	// The ID of the storage account that should be used for logging during replication.
	LogStorageAccountId *string `pulumi:"logStorageAccountId"`
	// The ID of the Disk Encryption Set that should be used for the disks when a failover is done.
	TargetDiskEncryptionSetId *string `pulumi:"targetDiskEncryptionSetId"`
	// The disk type of the disk to be created when a failover is done. Possible values are `Premium_LRS`, `Standard_LRS` and `StandardSSD_LRS`.
	TargetDiskType string `pulumi:"targetDiskType"`
}

type VmwareReplicatedVmManagedDiskArgs

type VmwareReplicatedVmManagedDiskArgs struct {
	// The ID of the disk to be replicated.
	DiskId pulumi.StringInput `pulumi:"diskId"`
	// The ID of the storage account that should be used for logging during replication.
	LogStorageAccountId pulumi.StringPtrInput `pulumi:"logStorageAccountId"`
	// The ID of the Disk Encryption Set that should be used for the disks when a failover is done.
	TargetDiskEncryptionSetId pulumi.StringPtrInput `pulumi:"targetDiskEncryptionSetId"`
	// The disk type of the disk to be created when a failover is done. Possible values are `Premium_LRS`, `Standard_LRS` and `StandardSSD_LRS`.
	TargetDiskType pulumi.StringInput `pulumi:"targetDiskType"`
}

func (VmwareReplicatedVmManagedDiskArgs) ElementType

func (VmwareReplicatedVmManagedDiskArgs) ToVmwareReplicatedVmManagedDiskOutput

func (i VmwareReplicatedVmManagedDiskArgs) ToVmwareReplicatedVmManagedDiskOutput() VmwareReplicatedVmManagedDiskOutput

func (VmwareReplicatedVmManagedDiskArgs) ToVmwareReplicatedVmManagedDiskOutputWithContext

func (i VmwareReplicatedVmManagedDiskArgs) ToVmwareReplicatedVmManagedDiskOutputWithContext(ctx context.Context) VmwareReplicatedVmManagedDiskOutput

type VmwareReplicatedVmManagedDiskArray

type VmwareReplicatedVmManagedDiskArray []VmwareReplicatedVmManagedDiskInput

func (VmwareReplicatedVmManagedDiskArray) ElementType

func (VmwareReplicatedVmManagedDiskArray) ToVmwareReplicatedVmManagedDiskArrayOutput

func (i VmwareReplicatedVmManagedDiskArray) ToVmwareReplicatedVmManagedDiskArrayOutput() VmwareReplicatedVmManagedDiskArrayOutput

func (VmwareReplicatedVmManagedDiskArray) ToVmwareReplicatedVmManagedDiskArrayOutputWithContext

func (i VmwareReplicatedVmManagedDiskArray) ToVmwareReplicatedVmManagedDiskArrayOutputWithContext(ctx context.Context) VmwareReplicatedVmManagedDiskArrayOutput

type VmwareReplicatedVmManagedDiskArrayInput

type VmwareReplicatedVmManagedDiskArrayInput interface {
	pulumi.Input

	ToVmwareReplicatedVmManagedDiskArrayOutput() VmwareReplicatedVmManagedDiskArrayOutput
	ToVmwareReplicatedVmManagedDiskArrayOutputWithContext(context.Context) VmwareReplicatedVmManagedDiskArrayOutput
}

VmwareReplicatedVmManagedDiskArrayInput is an input type that accepts VmwareReplicatedVmManagedDiskArray and VmwareReplicatedVmManagedDiskArrayOutput values. You can construct a concrete instance of `VmwareReplicatedVmManagedDiskArrayInput` via:

VmwareReplicatedVmManagedDiskArray{ VmwareReplicatedVmManagedDiskArgs{...} }

type VmwareReplicatedVmManagedDiskArrayOutput

type VmwareReplicatedVmManagedDiskArrayOutput struct{ *pulumi.OutputState }

func (VmwareReplicatedVmManagedDiskArrayOutput) ElementType

func (VmwareReplicatedVmManagedDiskArrayOutput) Index

func (VmwareReplicatedVmManagedDiskArrayOutput) ToVmwareReplicatedVmManagedDiskArrayOutput

func (o VmwareReplicatedVmManagedDiskArrayOutput) ToVmwareReplicatedVmManagedDiskArrayOutput() VmwareReplicatedVmManagedDiskArrayOutput

func (VmwareReplicatedVmManagedDiskArrayOutput) ToVmwareReplicatedVmManagedDiskArrayOutputWithContext

func (o VmwareReplicatedVmManagedDiskArrayOutput) ToVmwareReplicatedVmManagedDiskArrayOutputWithContext(ctx context.Context) VmwareReplicatedVmManagedDiskArrayOutput

type VmwareReplicatedVmManagedDiskInput

type VmwareReplicatedVmManagedDiskInput interface {
	pulumi.Input

	ToVmwareReplicatedVmManagedDiskOutput() VmwareReplicatedVmManagedDiskOutput
	ToVmwareReplicatedVmManagedDiskOutputWithContext(context.Context) VmwareReplicatedVmManagedDiskOutput
}

VmwareReplicatedVmManagedDiskInput is an input type that accepts VmwareReplicatedVmManagedDiskArgs and VmwareReplicatedVmManagedDiskOutput values. You can construct a concrete instance of `VmwareReplicatedVmManagedDiskInput` via:

VmwareReplicatedVmManagedDiskArgs{...}

type VmwareReplicatedVmManagedDiskOutput

type VmwareReplicatedVmManagedDiskOutput struct{ *pulumi.OutputState }

func (VmwareReplicatedVmManagedDiskOutput) DiskId

The ID of the disk to be replicated.

func (VmwareReplicatedVmManagedDiskOutput) ElementType

func (VmwareReplicatedVmManagedDiskOutput) LogStorageAccountId

The ID of the storage account that should be used for logging during replication.

func (VmwareReplicatedVmManagedDiskOutput) TargetDiskEncryptionSetId

func (o VmwareReplicatedVmManagedDiskOutput) TargetDiskEncryptionSetId() pulumi.StringPtrOutput

The ID of the Disk Encryption Set that should be used for the disks when a failover is done.

func (VmwareReplicatedVmManagedDiskOutput) TargetDiskType

The disk type of the disk to be created when a failover is done. Possible values are `Premium_LRS`, `Standard_LRS` and `StandardSSD_LRS`.

func (VmwareReplicatedVmManagedDiskOutput) ToVmwareReplicatedVmManagedDiskOutput

func (o VmwareReplicatedVmManagedDiskOutput) ToVmwareReplicatedVmManagedDiskOutput() VmwareReplicatedVmManagedDiskOutput

func (VmwareReplicatedVmManagedDiskOutput) ToVmwareReplicatedVmManagedDiskOutputWithContext

func (o VmwareReplicatedVmManagedDiskOutput) ToVmwareReplicatedVmManagedDiskOutputWithContext(ctx context.Context) VmwareReplicatedVmManagedDiskOutput

type VmwareReplicatedVmMap

type VmwareReplicatedVmMap map[string]VmwareReplicatedVmInput

func (VmwareReplicatedVmMap) ElementType

func (VmwareReplicatedVmMap) ElementType() reflect.Type

func (VmwareReplicatedVmMap) ToVmwareReplicatedVmMapOutput

func (i VmwareReplicatedVmMap) ToVmwareReplicatedVmMapOutput() VmwareReplicatedVmMapOutput

func (VmwareReplicatedVmMap) ToVmwareReplicatedVmMapOutputWithContext

func (i VmwareReplicatedVmMap) ToVmwareReplicatedVmMapOutputWithContext(ctx context.Context) VmwareReplicatedVmMapOutput

type VmwareReplicatedVmMapInput

type VmwareReplicatedVmMapInput interface {
	pulumi.Input

	ToVmwareReplicatedVmMapOutput() VmwareReplicatedVmMapOutput
	ToVmwareReplicatedVmMapOutputWithContext(context.Context) VmwareReplicatedVmMapOutput
}

VmwareReplicatedVmMapInput is an input type that accepts VmwareReplicatedVmMap and VmwareReplicatedVmMapOutput values. You can construct a concrete instance of `VmwareReplicatedVmMapInput` via:

VmwareReplicatedVmMap{ "key": VmwareReplicatedVmArgs{...} }

type VmwareReplicatedVmMapOutput

type VmwareReplicatedVmMapOutput struct{ *pulumi.OutputState }

func (VmwareReplicatedVmMapOutput) ElementType

func (VmwareReplicatedVmMapOutput) MapIndex

func (VmwareReplicatedVmMapOutput) ToVmwareReplicatedVmMapOutput

func (o VmwareReplicatedVmMapOutput) ToVmwareReplicatedVmMapOutput() VmwareReplicatedVmMapOutput

func (VmwareReplicatedVmMapOutput) ToVmwareReplicatedVmMapOutputWithContext

func (o VmwareReplicatedVmMapOutput) ToVmwareReplicatedVmMapOutputWithContext(ctx context.Context) VmwareReplicatedVmMapOutput

type VmwareReplicatedVmNetworkInterface

type VmwareReplicatedVmNetworkInterface struct {
	// Whether this `networkInterface` is primary for the replicated VM.
	IsPrimary bool `pulumi:"isPrimary"`
	// Mac address of the network interface of source VM.
	SourceMacAddress string `pulumi:"sourceMacAddress"`
	// Static IP to assign when a failover is done.
	TargetStaticIp *string `pulumi:"targetStaticIp"`
	// Name of the subnet to use when a failover is done.
	TargetSubnetName *string `pulumi:"targetSubnetName"`
	// Name of the subnet to use when a test failover is done.
	TestSubnetName *string `pulumi:"testSubnetName"`
}

type VmwareReplicatedVmNetworkInterfaceArgs

type VmwareReplicatedVmNetworkInterfaceArgs struct {
	// Whether this `networkInterface` is primary for the replicated VM.
	IsPrimary pulumi.BoolInput `pulumi:"isPrimary"`
	// Mac address of the network interface of source VM.
	SourceMacAddress pulumi.StringInput `pulumi:"sourceMacAddress"`
	// Static IP to assign when a failover is done.
	TargetStaticIp pulumi.StringPtrInput `pulumi:"targetStaticIp"`
	// Name of the subnet to use when a failover is done.
	TargetSubnetName pulumi.StringPtrInput `pulumi:"targetSubnetName"`
	// Name of the subnet to use when a test failover is done.
	TestSubnetName pulumi.StringPtrInput `pulumi:"testSubnetName"`
}

func (VmwareReplicatedVmNetworkInterfaceArgs) ElementType

func (VmwareReplicatedVmNetworkInterfaceArgs) ToVmwareReplicatedVmNetworkInterfaceOutput

func (i VmwareReplicatedVmNetworkInterfaceArgs) ToVmwareReplicatedVmNetworkInterfaceOutput() VmwareReplicatedVmNetworkInterfaceOutput

func (VmwareReplicatedVmNetworkInterfaceArgs) ToVmwareReplicatedVmNetworkInterfaceOutputWithContext

func (i VmwareReplicatedVmNetworkInterfaceArgs) ToVmwareReplicatedVmNetworkInterfaceOutputWithContext(ctx context.Context) VmwareReplicatedVmNetworkInterfaceOutput

type VmwareReplicatedVmNetworkInterfaceArray

type VmwareReplicatedVmNetworkInterfaceArray []VmwareReplicatedVmNetworkInterfaceInput

func (VmwareReplicatedVmNetworkInterfaceArray) ElementType

func (VmwareReplicatedVmNetworkInterfaceArray) ToVmwareReplicatedVmNetworkInterfaceArrayOutput

func (i VmwareReplicatedVmNetworkInterfaceArray) ToVmwareReplicatedVmNetworkInterfaceArrayOutput() VmwareReplicatedVmNetworkInterfaceArrayOutput

func (VmwareReplicatedVmNetworkInterfaceArray) ToVmwareReplicatedVmNetworkInterfaceArrayOutputWithContext

func (i VmwareReplicatedVmNetworkInterfaceArray) ToVmwareReplicatedVmNetworkInterfaceArrayOutputWithContext(ctx context.Context) VmwareReplicatedVmNetworkInterfaceArrayOutput

type VmwareReplicatedVmNetworkInterfaceArrayInput

type VmwareReplicatedVmNetworkInterfaceArrayInput interface {
	pulumi.Input

	ToVmwareReplicatedVmNetworkInterfaceArrayOutput() VmwareReplicatedVmNetworkInterfaceArrayOutput
	ToVmwareReplicatedVmNetworkInterfaceArrayOutputWithContext(context.Context) VmwareReplicatedVmNetworkInterfaceArrayOutput
}

VmwareReplicatedVmNetworkInterfaceArrayInput is an input type that accepts VmwareReplicatedVmNetworkInterfaceArray and VmwareReplicatedVmNetworkInterfaceArrayOutput values. You can construct a concrete instance of `VmwareReplicatedVmNetworkInterfaceArrayInput` via:

VmwareReplicatedVmNetworkInterfaceArray{ VmwareReplicatedVmNetworkInterfaceArgs{...} }

type VmwareReplicatedVmNetworkInterfaceArrayOutput

type VmwareReplicatedVmNetworkInterfaceArrayOutput struct{ *pulumi.OutputState }

func (VmwareReplicatedVmNetworkInterfaceArrayOutput) ElementType

func (VmwareReplicatedVmNetworkInterfaceArrayOutput) Index

func (VmwareReplicatedVmNetworkInterfaceArrayOutput) ToVmwareReplicatedVmNetworkInterfaceArrayOutput

func (o VmwareReplicatedVmNetworkInterfaceArrayOutput) ToVmwareReplicatedVmNetworkInterfaceArrayOutput() VmwareReplicatedVmNetworkInterfaceArrayOutput

func (VmwareReplicatedVmNetworkInterfaceArrayOutput) ToVmwareReplicatedVmNetworkInterfaceArrayOutputWithContext

func (o VmwareReplicatedVmNetworkInterfaceArrayOutput) ToVmwareReplicatedVmNetworkInterfaceArrayOutputWithContext(ctx context.Context) VmwareReplicatedVmNetworkInterfaceArrayOutput

type VmwareReplicatedVmNetworkInterfaceInput

type VmwareReplicatedVmNetworkInterfaceInput interface {
	pulumi.Input

	ToVmwareReplicatedVmNetworkInterfaceOutput() VmwareReplicatedVmNetworkInterfaceOutput
	ToVmwareReplicatedVmNetworkInterfaceOutputWithContext(context.Context) VmwareReplicatedVmNetworkInterfaceOutput
}

VmwareReplicatedVmNetworkInterfaceInput is an input type that accepts VmwareReplicatedVmNetworkInterfaceArgs and VmwareReplicatedVmNetworkInterfaceOutput values. You can construct a concrete instance of `VmwareReplicatedVmNetworkInterfaceInput` via:

VmwareReplicatedVmNetworkInterfaceArgs{...}

type VmwareReplicatedVmNetworkInterfaceOutput

type VmwareReplicatedVmNetworkInterfaceOutput struct{ *pulumi.OutputState }

func (VmwareReplicatedVmNetworkInterfaceOutput) ElementType

func (VmwareReplicatedVmNetworkInterfaceOutput) IsPrimary

Whether this `networkInterface` is primary for the replicated VM.

func (VmwareReplicatedVmNetworkInterfaceOutput) SourceMacAddress

Mac address of the network interface of source VM.

func (VmwareReplicatedVmNetworkInterfaceOutput) TargetStaticIp

Static IP to assign when a failover is done.

func (VmwareReplicatedVmNetworkInterfaceOutput) TargetSubnetName

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

func (VmwareReplicatedVmNetworkInterfaceOutput) TestSubnetName

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

func (VmwareReplicatedVmNetworkInterfaceOutput) ToVmwareReplicatedVmNetworkInterfaceOutput

func (o VmwareReplicatedVmNetworkInterfaceOutput) ToVmwareReplicatedVmNetworkInterfaceOutput() VmwareReplicatedVmNetworkInterfaceOutput

func (VmwareReplicatedVmNetworkInterfaceOutput) ToVmwareReplicatedVmNetworkInterfaceOutputWithContext

func (o VmwareReplicatedVmNetworkInterfaceOutput) ToVmwareReplicatedVmNetworkInterfaceOutputWithContext(ctx context.Context) VmwareReplicatedVmNetworkInterfaceOutput

type VmwareReplicatedVmOutput

type VmwareReplicatedVmOutput struct{ *pulumi.OutputState }

func (VmwareReplicatedVmOutput) ApplianceName

func (o VmwareReplicatedVmOutput) ApplianceName() pulumi.StringOutput

The name of VMWare appliance which handles the replication. Changing this forces a new resource to be created.

func (VmwareReplicatedVmOutput) DefaultLogStorageAccountId

func (o VmwareReplicatedVmOutput) DefaultLogStorageAccountId() pulumi.StringPtrOutput

The ID of the stroage account that should be used for logging during replication.

> **Note:** Only standard types of storage accounts are allowed.

> **Note:** Only one of `defaultLogStorageAccountId` or `managedDisk` must be specified.

> **Note:** Changing `defaultLogStorageAccountId` forces a new resource to be created. But removing it does not.

> **Note:** When `defaultLogStorageAccountId` co-exist with `managedDisk`, the value of `defaultLogStorageAccountId` must be as same as `logStorageAccountId` of every `managedDisk` or it forces a new resource to be created.

func (VmwareReplicatedVmOutput) DefaultRecoveryDiskType

func (o VmwareReplicatedVmOutput) DefaultRecoveryDiskType() pulumi.StringPtrOutput

The type of storage account that should be used for recovery disks when a failover is done. Possible values are `Premium_LRS`, `Standard_LRS` and `StandardSSD_LRS`.

> **Note:** Only one of `defaultRecoveryDiskType` or `managedDisk` must be specified.

> **Note:** Changing `defaultRecoveryDiskType` forces a new resource to be created. But removing it does not.

> **Note:** When `defaultRecoveryDiskType` co-exist with `managedDisk`, the value of `defaultRecoveryDiskType` must be as same as `targetDiskType` of every `managedDisk` or it forces a new resource to be created.

func (VmwareReplicatedVmOutput) DefaultTargetDiskEncryptionSetId

func (o VmwareReplicatedVmOutput) DefaultTargetDiskEncryptionSetId() pulumi.StringPtrOutput

The ID of the default Disk Encryption Set that should be used for the disks when a failover is done.

> **Note:** Changing `defaultTargetDiskEncryptionSetId` forces a new resource to be created. But removing it does not.

> **Note:** When `defaultTargetDiskEncryptionSetId` co-exist with `managedDisk`, the value of `defaultTargetDiskEncryptionSetId` must be as same as `targetDiskEncryptionSetId` of every `managedDisk` or it forces a new resource to be created.

func (VmwareReplicatedVmOutput) ElementType

func (VmwareReplicatedVmOutput) ElementType() reflect.Type

func (VmwareReplicatedVmOutput) LicenseType

The license type of the VM. Possible values are `NoLicenseType`, `NotSpecified` and `WindowsServer`. Defaults to `NotSpecified`.

func (VmwareReplicatedVmOutput) ManagedDisks

One or more `managedDisk` block as defined below. It's available only if mobility service is already installed on the source VM.

> **Note:** A replicated VM could be created without `managedDisk` block, once the block has been specified, changing it expect removing it forces a new resource to be created.

func (VmwareReplicatedVmOutput) MultiVmGroupName

func (o VmwareReplicatedVmOutput) MultiVmGroupName() pulumi.StringPtrOutput

Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.

func (VmwareReplicatedVmOutput) Name

The name of the replicated VM. Changing this forces a new resource to be created.

func (VmwareReplicatedVmOutput) NetworkInterfaces

One or more `networkInterface` block as defined below.

func (VmwareReplicatedVmOutput) PhysicalServerCredentialName

func (o VmwareReplicatedVmOutput) PhysicalServerCredentialName() pulumi.StringOutput

The name of the credential to access the source VM. Changing this forces a new resource to be created. More information about the credentials could be found [here](https://learn.microsoft.com/en-us/azure/site-recovery/deploy-vmware-azure-replication-appliance-modernized).

func (VmwareReplicatedVmOutput) RecoveryReplicationPolicyId

func (o VmwareReplicatedVmOutput) RecoveryReplicationPolicyId() pulumi.StringOutput

The ID of the policy to use for this replicated VM.

func (VmwareReplicatedVmOutput) RecoveryVaultId

func (o VmwareReplicatedVmOutput) RecoveryVaultId() pulumi.StringOutput

The ID of the Recovery Services Vault where the replicated VM is created.

func (VmwareReplicatedVmOutput) SourceVmName

func (o VmwareReplicatedVmOutput) SourceVmName() pulumi.StringOutput

The name of the source VM in VMWare. Changing this forces a new resource to be created.

func (VmwareReplicatedVmOutput) TargetAvailabilitySetId

func (o VmwareReplicatedVmOutput) TargetAvailabilitySetId() pulumi.StringPtrOutput

The ID of availability set that the new VM should belong to when a failover is done.

func (VmwareReplicatedVmOutput) TargetBootDiagnosticsStorageAccountId

func (o VmwareReplicatedVmOutput) TargetBootDiagnosticsStorageAccountId() pulumi.StringPtrOutput

The ID of the storage account that should be used for boot diagnostics when a failover is done.

func (VmwareReplicatedVmOutput) TargetNetworkId

func (o VmwareReplicatedVmOutput) TargetNetworkId() pulumi.StringPtrOutput

The ID of network to use when a failover is done.

> **Note:** `targetNetworkId` is required when `networkInterface` is specified.

func (VmwareReplicatedVmOutput) TargetProximityPlacementGroupId

func (o VmwareReplicatedVmOutput) TargetProximityPlacementGroupId() pulumi.StringPtrOutput

The ID of Proximity Placement Group the new VM should belong to when a failover is done.

> **Note:** Only one of `targetAvailabilitySetId` or `targetZone` can be specified.

func (VmwareReplicatedVmOutput) TargetResourceGroupId

func (o VmwareReplicatedVmOutput) TargetResourceGroupId() pulumi.StringOutput

The ID of resource group where the VM should be created when a failover is done.

func (VmwareReplicatedVmOutput) TargetVmName

func (o VmwareReplicatedVmOutput) TargetVmName() pulumi.StringOutput

Name of the VM that should be created when a failover is done. Changing this forces a new resource to be created.

func (VmwareReplicatedVmOutput) TargetVmSize

Size of the VM that should be created when a failover is done, such as `Standard_F2`. If it's not specified, it will automatically be set by detecting the source VM size.

func (VmwareReplicatedVmOutput) TargetZone

Specifies the Availability Zone where the Failover VM should exist.

func (VmwareReplicatedVmOutput) TestNetworkId

The ID of network to use when a test failover is done.

func (VmwareReplicatedVmOutput) ToVmwareReplicatedVmOutput

func (o VmwareReplicatedVmOutput) ToVmwareReplicatedVmOutput() VmwareReplicatedVmOutput

func (VmwareReplicatedVmOutput) ToVmwareReplicatedVmOutputWithContext

func (o VmwareReplicatedVmOutput) ToVmwareReplicatedVmOutputWithContext(ctx context.Context) VmwareReplicatedVmOutput

type VmwareReplicatedVmState

type VmwareReplicatedVmState struct {
	// The name of VMWare appliance which handles the replication. Changing this forces a new resource to be created.
	ApplianceName pulumi.StringPtrInput
	// The ID of the stroage account that should be used for logging during replication.
	//
	// > **Note:** Only standard types of storage accounts are allowed.
	//
	// > **Note:** Only one of `defaultLogStorageAccountId` or `managedDisk` must be specified.
	//
	// > **Note:** Changing `defaultLogStorageAccountId` forces a new resource to be created. But removing it does not.
	//
	// > **Note:** When `defaultLogStorageAccountId` co-exist with `managedDisk`, the value of `defaultLogStorageAccountId` must be as same as `logStorageAccountId` of every `managedDisk` or it forces a new resource to be created.
	DefaultLogStorageAccountId pulumi.StringPtrInput
	// The type of storage account that should be used for recovery disks when a failover is done. Possible values are `Premium_LRS`, `Standard_LRS` and `StandardSSD_LRS`.
	//
	// > **Note:** Only one of `defaultRecoveryDiskType` or `managedDisk` must be specified.
	//
	// > **Note:** Changing `defaultRecoveryDiskType` forces a new resource to be created. But removing it does not.
	//
	// > **Note:** When `defaultRecoveryDiskType` co-exist with `managedDisk`, the value of `defaultRecoveryDiskType` must be as same as `targetDiskType` of every `managedDisk` or it forces a new resource to be created.
	DefaultRecoveryDiskType pulumi.StringPtrInput
	// The ID of the default Disk Encryption Set that should be used for the disks when a failover is done.
	//
	// > **Note:** Changing `defaultTargetDiskEncryptionSetId` forces a new resource to be created. But removing it does not.
	//
	// > **Note:** When `defaultTargetDiskEncryptionSetId` co-exist with `managedDisk`, the value of `defaultTargetDiskEncryptionSetId` must be as same as `targetDiskEncryptionSetId` of every `managedDisk` or it forces a new resource to be created.
	DefaultTargetDiskEncryptionSetId pulumi.StringPtrInput
	// The license type of the VM. Possible values are `NoLicenseType`, `NotSpecified` and `WindowsServer`. Defaults to `NotSpecified`.
	LicenseType pulumi.StringPtrInput
	// One or more `managedDisk` block as defined below. It's available only if mobility service is already installed on the source VM.
	//
	// > **Note:** A replicated VM could be created without `managedDisk` block, once the block has been specified, changing it expect removing it forces a new resource to be created.
	ManagedDisks VmwareReplicatedVmManagedDiskArrayInput
	// Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over.
	MultiVmGroupName pulumi.StringPtrInput
	// The name of the replicated VM. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// One or more `networkInterface` block as defined below.
	NetworkInterfaces VmwareReplicatedVmNetworkInterfaceArrayInput
	// The name of the credential to access the source VM. Changing this forces a new resource to be created. More information about the credentials could be found [here](https://learn.microsoft.com/en-us/azure/site-recovery/deploy-vmware-azure-replication-appliance-modernized).
	PhysicalServerCredentialName pulumi.StringPtrInput
	// The ID of the policy to use for this replicated VM.
	RecoveryReplicationPolicyId pulumi.StringPtrInput
	// The ID of the Recovery Services Vault where the replicated VM is created.
	RecoveryVaultId pulumi.StringPtrInput
	// The name of the source VM in VMWare. Changing this forces a new resource to be created.
	SourceVmName pulumi.StringPtrInput
	// The ID of availability set that the new VM should belong to when a failover is done.
	TargetAvailabilitySetId pulumi.StringPtrInput
	// The ID of the storage account that should be used for boot diagnostics when a failover is done.
	TargetBootDiagnosticsStorageAccountId pulumi.StringPtrInput
	// The ID of network to use when a failover is done.
	//
	// > **Note:** `targetNetworkId` is required when `networkInterface` is specified.
	TargetNetworkId pulumi.StringPtrInput
	// The ID of Proximity Placement Group the new VM should belong to when a failover is done.
	//
	// > **Note:** Only one of `targetAvailabilitySetId` or `targetZone` can be specified.
	TargetProximityPlacementGroupId pulumi.StringPtrInput
	// The ID of resource group where the VM should be created when a failover is done.
	TargetResourceGroupId pulumi.StringPtrInput
	// Name of the VM that should be created when a failover is done. Changing this forces a new resource to be created.
	TargetVmName pulumi.StringPtrInput
	// Size of the VM that should be created when a failover is done, such as `Standard_F2`. If it's not specified, it will automatically be set by detecting the source VM size.
	TargetVmSize pulumi.StringPtrInput
	// Specifies the Availability Zone where the Failover VM should exist.
	TargetZone pulumi.StringPtrInput
	// The ID of network to use when a test failover is done.
	TestNetworkId pulumi.StringPtrInput
}

func (VmwareReplicatedVmState) ElementType

func (VmwareReplicatedVmState) ElementType() reflect.Type

type VmwareReplicationPolicyAssociation

type VmwareReplicationPolicyAssociation struct {
	pulumi.CustomResourceState

	// The name of the replication policy association. Changing this forces a new association to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the VMWare replication policy which to be associated. Changing this forces a new association to be created.
	PolicyId pulumi.StringOutput `pulumi:"policyId"`
	// The ID of the Recovery Service Vault to which the policy should be associated.
	// Changing this forces a new association to be created.
	RecoveryVaultId pulumi.StringOutput `pulumi:"recoveryVaultId"`
}

Manages an Azure Site Recovery replication policy for VMWare within a Recovery Vault.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-rg"),
			Location: pulumi.String("East US"),
		})
		if err != nil {
			return err
		}
		exampleVault, err := recoveryservices.NewVault(ctx, "example", &recoveryservices.VaultArgs{
			Name:              pulumi.String("example-recovery-vault"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		exampleVMWareReplicationPolicy, err := siterecovery.NewVMWareReplicationPolicy(ctx, "example", &siterecovery.VMWareReplicationPolicyArgs{
			Name:                            pulumi.String("example-policy"),
			RecoveryVaultId:                 exampleVault.ID(),
			RecoveryPointRetentionInMinutes: pulumi.Int(1440),
			ApplicationConsistentSnapshotFrequencyInMinutes: pulumi.Int(240),
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewVmwareReplicationPolicyAssociation(ctx, "example", &siterecovery.VmwareReplicationPolicyAssociationArgs{
			Name:            pulumi.String("example-association"),
			RecoveryVaultId: exampleVault.ID(),
			PolicyId:        exampleVMWareReplicationPolicy.ID(),
		})
		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/vmwareReplicationPolicyAssociation:VmwareReplicationPolicyAssociation mypolicy /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.RecoveryServices/vaults/recovery-vault-name/replicationFabrics/site-name/replicationProtectionContainers/container-name/replicationProtectionContainerMappings/mapping-name ```

func GetVmwareReplicationPolicyAssociation

func GetVmwareReplicationPolicyAssociation(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VmwareReplicationPolicyAssociationState, opts ...pulumi.ResourceOption) (*VmwareReplicationPolicyAssociation, error)

GetVmwareReplicationPolicyAssociation gets an existing VmwareReplicationPolicyAssociation 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 NewVmwareReplicationPolicyAssociation

func NewVmwareReplicationPolicyAssociation(ctx *pulumi.Context,
	name string, args *VmwareReplicationPolicyAssociationArgs, opts ...pulumi.ResourceOption) (*VmwareReplicationPolicyAssociation, error)

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

func (*VmwareReplicationPolicyAssociation) ElementType

func (*VmwareReplicationPolicyAssociation) ToVmwareReplicationPolicyAssociationOutput

func (i *VmwareReplicationPolicyAssociation) ToVmwareReplicationPolicyAssociationOutput() VmwareReplicationPolicyAssociationOutput

func (*VmwareReplicationPolicyAssociation) ToVmwareReplicationPolicyAssociationOutputWithContext

func (i *VmwareReplicationPolicyAssociation) ToVmwareReplicationPolicyAssociationOutputWithContext(ctx context.Context) VmwareReplicationPolicyAssociationOutput

type VmwareReplicationPolicyAssociationArgs

type VmwareReplicationPolicyAssociationArgs struct {
	// The name of the replication policy association. Changing this forces a new association to be created.
	Name pulumi.StringPtrInput
	// The ID of the VMWare replication policy which to be associated. Changing this forces a new association to be created.
	PolicyId pulumi.StringInput
	// The ID of the Recovery Service Vault to which the policy should be associated.
	// Changing this forces a new association to be created.
	RecoveryVaultId pulumi.StringInput
}

The set of arguments for constructing a VmwareReplicationPolicyAssociation resource.

func (VmwareReplicationPolicyAssociationArgs) ElementType

type VmwareReplicationPolicyAssociationArray

type VmwareReplicationPolicyAssociationArray []VmwareReplicationPolicyAssociationInput

func (VmwareReplicationPolicyAssociationArray) ElementType

func (VmwareReplicationPolicyAssociationArray) ToVmwareReplicationPolicyAssociationArrayOutput

func (i VmwareReplicationPolicyAssociationArray) ToVmwareReplicationPolicyAssociationArrayOutput() VmwareReplicationPolicyAssociationArrayOutput

func (VmwareReplicationPolicyAssociationArray) ToVmwareReplicationPolicyAssociationArrayOutputWithContext

func (i VmwareReplicationPolicyAssociationArray) ToVmwareReplicationPolicyAssociationArrayOutputWithContext(ctx context.Context) VmwareReplicationPolicyAssociationArrayOutput

type VmwareReplicationPolicyAssociationArrayInput

type VmwareReplicationPolicyAssociationArrayInput interface {
	pulumi.Input

	ToVmwareReplicationPolicyAssociationArrayOutput() VmwareReplicationPolicyAssociationArrayOutput
	ToVmwareReplicationPolicyAssociationArrayOutputWithContext(context.Context) VmwareReplicationPolicyAssociationArrayOutput
}

VmwareReplicationPolicyAssociationArrayInput is an input type that accepts VmwareReplicationPolicyAssociationArray and VmwareReplicationPolicyAssociationArrayOutput values. You can construct a concrete instance of `VmwareReplicationPolicyAssociationArrayInput` via:

VmwareReplicationPolicyAssociationArray{ VmwareReplicationPolicyAssociationArgs{...} }

type VmwareReplicationPolicyAssociationArrayOutput

type VmwareReplicationPolicyAssociationArrayOutput struct{ *pulumi.OutputState }

func (VmwareReplicationPolicyAssociationArrayOutput) ElementType

func (VmwareReplicationPolicyAssociationArrayOutput) Index

func (VmwareReplicationPolicyAssociationArrayOutput) ToVmwareReplicationPolicyAssociationArrayOutput

func (o VmwareReplicationPolicyAssociationArrayOutput) ToVmwareReplicationPolicyAssociationArrayOutput() VmwareReplicationPolicyAssociationArrayOutput

func (VmwareReplicationPolicyAssociationArrayOutput) ToVmwareReplicationPolicyAssociationArrayOutputWithContext

func (o VmwareReplicationPolicyAssociationArrayOutput) ToVmwareReplicationPolicyAssociationArrayOutputWithContext(ctx context.Context) VmwareReplicationPolicyAssociationArrayOutput

type VmwareReplicationPolicyAssociationInput

type VmwareReplicationPolicyAssociationInput interface {
	pulumi.Input

	ToVmwareReplicationPolicyAssociationOutput() VmwareReplicationPolicyAssociationOutput
	ToVmwareReplicationPolicyAssociationOutputWithContext(ctx context.Context) VmwareReplicationPolicyAssociationOutput
}

type VmwareReplicationPolicyAssociationMap

type VmwareReplicationPolicyAssociationMap map[string]VmwareReplicationPolicyAssociationInput

func (VmwareReplicationPolicyAssociationMap) ElementType

func (VmwareReplicationPolicyAssociationMap) ToVmwareReplicationPolicyAssociationMapOutput

func (i VmwareReplicationPolicyAssociationMap) ToVmwareReplicationPolicyAssociationMapOutput() VmwareReplicationPolicyAssociationMapOutput

func (VmwareReplicationPolicyAssociationMap) ToVmwareReplicationPolicyAssociationMapOutputWithContext

func (i VmwareReplicationPolicyAssociationMap) ToVmwareReplicationPolicyAssociationMapOutputWithContext(ctx context.Context) VmwareReplicationPolicyAssociationMapOutput

type VmwareReplicationPolicyAssociationMapInput

type VmwareReplicationPolicyAssociationMapInput interface {
	pulumi.Input

	ToVmwareReplicationPolicyAssociationMapOutput() VmwareReplicationPolicyAssociationMapOutput
	ToVmwareReplicationPolicyAssociationMapOutputWithContext(context.Context) VmwareReplicationPolicyAssociationMapOutput
}

VmwareReplicationPolicyAssociationMapInput is an input type that accepts VmwareReplicationPolicyAssociationMap and VmwareReplicationPolicyAssociationMapOutput values. You can construct a concrete instance of `VmwareReplicationPolicyAssociationMapInput` via:

VmwareReplicationPolicyAssociationMap{ "key": VmwareReplicationPolicyAssociationArgs{...} }

type VmwareReplicationPolicyAssociationMapOutput

type VmwareReplicationPolicyAssociationMapOutput struct{ *pulumi.OutputState }

func (VmwareReplicationPolicyAssociationMapOutput) ElementType

func (VmwareReplicationPolicyAssociationMapOutput) MapIndex

func (VmwareReplicationPolicyAssociationMapOutput) ToVmwareReplicationPolicyAssociationMapOutput

func (o VmwareReplicationPolicyAssociationMapOutput) ToVmwareReplicationPolicyAssociationMapOutput() VmwareReplicationPolicyAssociationMapOutput

func (VmwareReplicationPolicyAssociationMapOutput) ToVmwareReplicationPolicyAssociationMapOutputWithContext

func (o VmwareReplicationPolicyAssociationMapOutput) ToVmwareReplicationPolicyAssociationMapOutputWithContext(ctx context.Context) VmwareReplicationPolicyAssociationMapOutput

type VmwareReplicationPolicyAssociationOutput

type VmwareReplicationPolicyAssociationOutput struct{ *pulumi.OutputState }

func (VmwareReplicationPolicyAssociationOutput) ElementType

func (VmwareReplicationPolicyAssociationOutput) Name

The name of the replication policy association. Changing this forces a new association to be created.

func (VmwareReplicationPolicyAssociationOutput) PolicyId

The ID of the VMWare replication policy which to be associated. Changing this forces a new association to be created.

func (VmwareReplicationPolicyAssociationOutput) RecoveryVaultId

The ID of the Recovery Service Vault to which the policy should be associated. Changing this forces a new association to be created.

func (VmwareReplicationPolicyAssociationOutput) ToVmwareReplicationPolicyAssociationOutput

func (o VmwareReplicationPolicyAssociationOutput) ToVmwareReplicationPolicyAssociationOutput() VmwareReplicationPolicyAssociationOutput

func (VmwareReplicationPolicyAssociationOutput) ToVmwareReplicationPolicyAssociationOutputWithContext

func (o VmwareReplicationPolicyAssociationOutput) ToVmwareReplicationPolicyAssociationOutputWithContext(ctx context.Context) VmwareReplicationPolicyAssociationOutput

type VmwareReplicationPolicyAssociationState

type VmwareReplicationPolicyAssociationState struct {
	// The name of the replication policy association. Changing this forces a new association to be created.
	Name pulumi.StringPtrInput
	// The ID of the VMWare replication policy which to be associated. Changing this forces a new association to be created.
	PolicyId pulumi.StringPtrInput
	// The ID of the Recovery Service Vault to which the policy should be associated.
	// Changing this forces a new association to be created.
	RecoveryVaultId pulumi.StringPtrInput
}

func (VmwareReplicationPolicyAssociationState) ElementType

Jump to

Keyboard shortcuts

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