siterecovery

package
v5.61.0 Latest Latest
Warning

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

Go to latest
Published: Jan 10, 2024 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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/recoveryservices"
"github.com/pulumi/pulumi-azure/sdk/v5/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{
			Location: pulumi.String("West US"),
		})
		if err != nil {
			return err
		}
		secondary, err := core.NewResourceGroup(ctx, "secondary", &core.ResourceGroupArgs{
			Location: pulumi.String("East US"),
		})
		if err != nil {
			return err
		}
		vault, err := recoveryservices.NewVault(ctx, "vault", &recoveryservices.VaultArgs{
			Location:          secondary.Location,
			ResourceGroupName: secondary.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewFabric(ctx, "fabric", &siterecovery.FabricArgs{
			ResourceGroupName: secondary.Name,
			RecoveryVaultName: vault.Name,
			Location:          primary.Location,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh

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

```

func GetFabric

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

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

func NewFabric

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

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

func (*Fabric) ElementType

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 added in v5.5.0

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 added in v5.5.0

func (o FabricOutput) Name() pulumi.StringOutput

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

func (FabricOutput) RecoveryVaultName added in v5.5.0

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 added in v5.5.0

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 added in v5.44.0

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

type GetReplicationRecoveryPlanAzureToAzureSettingArgs added in v5.44.0

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 added in v5.44.0

func (GetReplicationRecoveryPlanAzureToAzureSettingArgs) ToGetReplicationRecoveryPlanAzureToAzureSettingOutput added in v5.44.0

func (i GetReplicationRecoveryPlanAzureToAzureSettingArgs) ToGetReplicationRecoveryPlanAzureToAzureSettingOutput() GetReplicationRecoveryPlanAzureToAzureSettingOutput

func (GetReplicationRecoveryPlanAzureToAzureSettingArgs) ToGetReplicationRecoveryPlanAzureToAzureSettingOutputWithContext added in v5.44.0

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

type GetReplicationRecoveryPlanAzureToAzureSettingArray added in v5.44.0

type GetReplicationRecoveryPlanAzureToAzureSettingArray []GetReplicationRecoveryPlanAzureToAzureSettingInput

func (GetReplicationRecoveryPlanAzureToAzureSettingArray) ElementType added in v5.44.0

func (GetReplicationRecoveryPlanAzureToAzureSettingArray) ToGetReplicationRecoveryPlanAzureToAzureSettingArrayOutput added in v5.44.0

func (i GetReplicationRecoveryPlanAzureToAzureSettingArray) ToGetReplicationRecoveryPlanAzureToAzureSettingArrayOutput() GetReplicationRecoveryPlanAzureToAzureSettingArrayOutput

func (GetReplicationRecoveryPlanAzureToAzureSettingArray) ToGetReplicationRecoveryPlanAzureToAzureSettingArrayOutputWithContext added in v5.44.0

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

type GetReplicationRecoveryPlanAzureToAzureSettingArrayInput added in v5.44.0

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 added in v5.44.0

type GetReplicationRecoveryPlanAzureToAzureSettingArrayOutput struct{ *pulumi.OutputState }

func (GetReplicationRecoveryPlanAzureToAzureSettingArrayOutput) ElementType added in v5.44.0

func (GetReplicationRecoveryPlanAzureToAzureSettingArrayOutput) Index added in v5.44.0

func (GetReplicationRecoveryPlanAzureToAzureSettingArrayOutput) ToGetReplicationRecoveryPlanAzureToAzureSettingArrayOutput added in v5.44.0

func (GetReplicationRecoveryPlanAzureToAzureSettingArrayOutput) ToGetReplicationRecoveryPlanAzureToAzureSettingArrayOutputWithContext added in v5.44.0

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

type GetReplicationRecoveryPlanAzureToAzureSettingInput added in v5.44.0

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 added in v5.44.0

type GetReplicationRecoveryPlanAzureToAzureSettingOutput struct{ *pulumi.OutputState }

func (GetReplicationRecoveryPlanAzureToAzureSettingOutput) ElementType added in v5.44.0

func (GetReplicationRecoveryPlanAzureToAzureSettingOutput) PrimaryEdgeZone added in v5.44.0

func (GetReplicationRecoveryPlanAzureToAzureSettingOutput) PrimaryZone added in v5.44.0

func (GetReplicationRecoveryPlanAzureToAzureSettingOutput) RecoveryEdgeZone added in v5.44.0

func (GetReplicationRecoveryPlanAzureToAzureSettingOutput) RecoveryZone added in v5.44.0

func (GetReplicationRecoveryPlanAzureToAzureSettingOutput) ToGetReplicationRecoveryPlanAzureToAzureSettingOutput added in v5.44.0

func (o GetReplicationRecoveryPlanAzureToAzureSettingOutput) ToGetReplicationRecoveryPlanAzureToAzureSettingOutput() GetReplicationRecoveryPlanAzureToAzureSettingOutput

func (GetReplicationRecoveryPlanAzureToAzureSettingOutput) ToGetReplicationRecoveryPlanAzureToAzureSettingOutputWithContext added in v5.44.0

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

type GetReplicationRecoveryPlanRecoveryGroup added in v5.33.0

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 added in v5.33.0

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 added in v5.33.0

func (GetReplicationRecoveryPlanRecoveryGroupArgs) ToGetReplicationRecoveryPlanRecoveryGroupOutput added in v5.33.0

func (i GetReplicationRecoveryPlanRecoveryGroupArgs) ToGetReplicationRecoveryPlanRecoveryGroupOutput() GetReplicationRecoveryPlanRecoveryGroupOutput

func (GetReplicationRecoveryPlanRecoveryGroupArgs) ToGetReplicationRecoveryPlanRecoveryGroupOutputWithContext added in v5.33.0

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

type GetReplicationRecoveryPlanRecoveryGroupArray added in v5.33.0

type GetReplicationRecoveryPlanRecoveryGroupArray []GetReplicationRecoveryPlanRecoveryGroupInput

func (GetReplicationRecoveryPlanRecoveryGroupArray) ElementType added in v5.33.0

func (GetReplicationRecoveryPlanRecoveryGroupArray) ToGetReplicationRecoveryPlanRecoveryGroupArrayOutput added in v5.33.0

func (i GetReplicationRecoveryPlanRecoveryGroupArray) ToGetReplicationRecoveryPlanRecoveryGroupArrayOutput() GetReplicationRecoveryPlanRecoveryGroupArrayOutput

func (GetReplicationRecoveryPlanRecoveryGroupArray) ToGetReplicationRecoveryPlanRecoveryGroupArrayOutputWithContext added in v5.33.0

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

type GetReplicationRecoveryPlanRecoveryGroupArrayInput added in v5.33.0

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 added in v5.33.0

type GetReplicationRecoveryPlanRecoveryGroupArrayOutput struct{ *pulumi.OutputState }

func (GetReplicationRecoveryPlanRecoveryGroupArrayOutput) ElementType added in v5.33.0

func (GetReplicationRecoveryPlanRecoveryGroupArrayOutput) Index added in v5.33.0

func (GetReplicationRecoveryPlanRecoveryGroupArrayOutput) ToGetReplicationRecoveryPlanRecoveryGroupArrayOutput added in v5.33.0

func (o GetReplicationRecoveryPlanRecoveryGroupArrayOutput) ToGetReplicationRecoveryPlanRecoveryGroupArrayOutput() GetReplicationRecoveryPlanRecoveryGroupArrayOutput

func (GetReplicationRecoveryPlanRecoveryGroupArrayOutput) ToGetReplicationRecoveryPlanRecoveryGroupArrayOutputWithContext added in v5.33.0

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

type GetReplicationRecoveryPlanRecoveryGroupInput added in v5.33.0

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 added in v5.33.0

type GetReplicationRecoveryPlanRecoveryGroupOutput struct{ *pulumi.OutputState }

func (GetReplicationRecoveryPlanRecoveryGroupOutput) ElementType added in v5.33.0

func (GetReplicationRecoveryPlanRecoveryGroupOutput) PostActions added in v5.33.0

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

func (GetReplicationRecoveryPlanRecoveryGroupOutput) PreActions added in v5.33.0

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

func (GetReplicationRecoveryPlanRecoveryGroupOutput) ReplicatedProtectedItems added in v5.33.0

one or more id of protected VM.

func (GetReplicationRecoveryPlanRecoveryGroupOutput) ToGetReplicationRecoveryPlanRecoveryGroupOutput added in v5.33.0

func (o GetReplicationRecoveryPlanRecoveryGroupOutput) ToGetReplicationRecoveryPlanRecoveryGroupOutput() GetReplicationRecoveryPlanRecoveryGroupOutput

func (GetReplicationRecoveryPlanRecoveryGroupOutput) ToGetReplicationRecoveryPlanRecoveryGroupOutputWithContext added in v5.33.0

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

func (GetReplicationRecoveryPlanRecoveryGroupOutput) Type added in v5.33.0

Type of the action detail.

type GetReplicationRecoveryPlanRecoveryGroupPostAction added in v5.33.0

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 added in v5.33.0

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 added in v5.33.0

func (GetReplicationRecoveryPlanRecoveryGroupPostActionArgs) ToGetReplicationRecoveryPlanRecoveryGroupPostActionOutput added in v5.33.0

func (i GetReplicationRecoveryPlanRecoveryGroupPostActionArgs) ToGetReplicationRecoveryPlanRecoveryGroupPostActionOutput() GetReplicationRecoveryPlanRecoveryGroupPostActionOutput

func (GetReplicationRecoveryPlanRecoveryGroupPostActionArgs) ToGetReplicationRecoveryPlanRecoveryGroupPostActionOutputWithContext added in v5.33.0

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

type GetReplicationRecoveryPlanRecoveryGroupPostActionArray added in v5.33.0

type GetReplicationRecoveryPlanRecoveryGroupPostActionArray []GetReplicationRecoveryPlanRecoveryGroupPostActionInput

func (GetReplicationRecoveryPlanRecoveryGroupPostActionArray) ElementType added in v5.33.0

func (GetReplicationRecoveryPlanRecoveryGroupPostActionArray) ToGetReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput added in v5.33.0

func (i GetReplicationRecoveryPlanRecoveryGroupPostActionArray) ToGetReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput() GetReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput

func (GetReplicationRecoveryPlanRecoveryGroupPostActionArray) ToGetReplicationRecoveryPlanRecoveryGroupPostActionArrayOutputWithContext added in v5.33.0

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

type GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArray added in v5.33.0

type GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArray []GetReplicationRecoveryPlanRecoveryGroupPostActionArrayInput

func (GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArray) ElementType added in v5.33.0

func (GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArray) ToGetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayOutput added in v5.33.0

func (GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArray) ToGetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayOutputWithContext added in v5.33.0

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

type GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayInput added in v5.33.0

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 added in v5.33.0

type GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayOutput struct{ *pulumi.OutputState }

func (GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayOutput) ElementType added in v5.33.0

func (GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayOutput) Index added in v5.33.0

func (GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayOutput) ToGetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayOutput added in v5.33.0

func (GetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayOutput) ToGetReplicationRecoveryPlanRecoveryGroupPostActionArrayArrayOutputWithContext added in v5.33.0

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

type GetReplicationRecoveryPlanRecoveryGroupPostActionArrayInput added in v5.33.0

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 added in v5.33.0

type GetReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput struct{ *pulumi.OutputState }

func (GetReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput) ElementType added in v5.33.0

func (GetReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput) Index added in v5.33.0

func (GetReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput) ToGetReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput added in v5.33.0

func (GetReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput) ToGetReplicationRecoveryPlanRecoveryGroupPostActionArrayOutputWithContext added in v5.33.0

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

type GetReplicationRecoveryPlanRecoveryGroupPostActionInput added in v5.33.0

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 added in v5.33.0

type GetReplicationRecoveryPlanRecoveryGroupPostActionOutput struct{ *pulumi.OutputState }

func (GetReplicationRecoveryPlanRecoveryGroupPostActionOutput) ElementType added in v5.33.0

func (GetReplicationRecoveryPlanRecoveryGroupPostActionOutput) FabricLocation added in v5.33.0

The fabric location of runbook or script.

func (GetReplicationRecoveryPlanRecoveryGroupPostActionOutput) FailOverDirections added in v5.33.0

Directions of fail over.

func (GetReplicationRecoveryPlanRecoveryGroupPostActionOutput) FailOverTypes added in v5.33.0

Types of fail over.

func (GetReplicationRecoveryPlanRecoveryGroupPostActionOutput) ManualActionInstruction added in v5.33.0

Instructions of manual action.

func (GetReplicationRecoveryPlanRecoveryGroupPostActionOutput) Name added in v5.33.0

The name of the Replication Plan.

func (GetReplicationRecoveryPlanRecoveryGroupPostActionOutput) RunbookId added in v5.33.0

Id of runbook.

func (GetReplicationRecoveryPlanRecoveryGroupPostActionOutput) ScriptPath added in v5.33.0

Path of action script.

func (GetReplicationRecoveryPlanRecoveryGroupPostActionOutput) ToGetReplicationRecoveryPlanRecoveryGroupPostActionOutput added in v5.33.0

func (GetReplicationRecoveryPlanRecoveryGroupPostActionOutput) ToGetReplicationRecoveryPlanRecoveryGroupPostActionOutputWithContext added in v5.33.0

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

func (GetReplicationRecoveryPlanRecoveryGroupPostActionOutput) Type added in v5.33.0

Type of the action detail.

type GetReplicationRecoveryPlanRecoveryGroupPreAction added in v5.33.0

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 added in v5.33.0

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 added in v5.33.0

func (GetReplicationRecoveryPlanRecoveryGroupPreActionArgs) ToGetReplicationRecoveryPlanRecoveryGroupPreActionOutput added in v5.33.0

func (i GetReplicationRecoveryPlanRecoveryGroupPreActionArgs) ToGetReplicationRecoveryPlanRecoveryGroupPreActionOutput() GetReplicationRecoveryPlanRecoveryGroupPreActionOutput

func (GetReplicationRecoveryPlanRecoveryGroupPreActionArgs) ToGetReplicationRecoveryPlanRecoveryGroupPreActionOutputWithContext added in v5.33.0

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

type GetReplicationRecoveryPlanRecoveryGroupPreActionArray added in v5.33.0

type GetReplicationRecoveryPlanRecoveryGroupPreActionArray []GetReplicationRecoveryPlanRecoveryGroupPreActionInput

func (GetReplicationRecoveryPlanRecoveryGroupPreActionArray) ElementType added in v5.33.0

func (GetReplicationRecoveryPlanRecoveryGroupPreActionArray) ToGetReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput added in v5.33.0

func (i GetReplicationRecoveryPlanRecoveryGroupPreActionArray) ToGetReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput() GetReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput

func (GetReplicationRecoveryPlanRecoveryGroupPreActionArray) ToGetReplicationRecoveryPlanRecoveryGroupPreActionArrayOutputWithContext added in v5.33.0

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

type GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArray added in v5.33.0

type GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArray []GetReplicationRecoveryPlanRecoveryGroupPreActionArrayInput

func (GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArray) ElementType added in v5.33.0

func (GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArray) ToGetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayOutput added in v5.33.0

func (GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArray) ToGetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayOutputWithContext added in v5.33.0

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

type GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayInput added in v5.33.0

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 added in v5.33.0

type GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayOutput struct{ *pulumi.OutputState }

func (GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayOutput) ElementType added in v5.33.0

func (GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayOutput) Index added in v5.33.0

func (GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayOutput) ToGetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayOutput added in v5.33.0

func (GetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayOutput) ToGetReplicationRecoveryPlanRecoveryGroupPreActionArrayArrayOutputWithContext added in v5.33.0

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

type GetReplicationRecoveryPlanRecoveryGroupPreActionArrayInput added in v5.33.0

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 added in v5.33.0

type GetReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput struct{ *pulumi.OutputState }

func (GetReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput) ElementType added in v5.33.0

func (GetReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput) Index added in v5.33.0

func (GetReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput) ToGetReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput added in v5.33.0

func (GetReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput) ToGetReplicationRecoveryPlanRecoveryGroupPreActionArrayOutputWithContext added in v5.33.0

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

type GetReplicationRecoveryPlanRecoveryGroupPreActionInput added in v5.33.0

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 added in v5.33.0

type GetReplicationRecoveryPlanRecoveryGroupPreActionOutput struct{ *pulumi.OutputState }

func (GetReplicationRecoveryPlanRecoveryGroupPreActionOutput) ElementType added in v5.33.0

func (GetReplicationRecoveryPlanRecoveryGroupPreActionOutput) FabricLocation added in v5.33.0

The fabric location of runbook or script.

func (GetReplicationRecoveryPlanRecoveryGroupPreActionOutput) FailOverDirections added in v5.33.0

Directions of fail over.

func (GetReplicationRecoveryPlanRecoveryGroupPreActionOutput) FailOverTypes added in v5.33.0

Types of fail over.

func (GetReplicationRecoveryPlanRecoveryGroupPreActionOutput) ManualActionInstruction added in v5.33.0

Instructions of manual action.

func (GetReplicationRecoveryPlanRecoveryGroupPreActionOutput) Name added in v5.33.0

The name of the Replication Plan.

func (GetReplicationRecoveryPlanRecoveryGroupPreActionOutput) RunbookId added in v5.33.0

Id of runbook.

func (GetReplicationRecoveryPlanRecoveryGroupPreActionOutput) ScriptPath added in v5.33.0

Path of action script.

func (GetReplicationRecoveryPlanRecoveryGroupPreActionOutput) ToGetReplicationRecoveryPlanRecoveryGroupPreActionOutput added in v5.33.0

func (GetReplicationRecoveryPlanRecoveryGroupPreActionOutput) ToGetReplicationRecoveryPlanRecoveryGroupPreActionOutputWithContext added in v5.33.0

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

func (GetReplicationRecoveryPlanRecoveryGroupPreActionOutput) Type added in v5.33.0

Type of the action detail.

type HyperVReplicationPolicy added in v5.36.0

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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/recoveryservices"
"github.com/pulumi/pulumi-azure/sdk/v5/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{
			Location: pulumi.String("East US"),
		})
		if err != nil {
			return err
		}
		vault, err := recoveryservices.NewVault(ctx, "vault", &recoveryservices.VaultArgs{
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewHyperVReplicationPolicy(ctx, "policy", &siterecovery.HyperVReplicationPolicyArgs{
			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 added in v5.36.0

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 added in v5.36.0

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 added in v5.36.0

func (*HyperVReplicationPolicy) ElementType() reflect.Type

func (*HyperVReplicationPolicy) ToHyperVReplicationPolicyOutput added in v5.36.0

func (i *HyperVReplicationPolicy) ToHyperVReplicationPolicyOutput() HyperVReplicationPolicyOutput

func (*HyperVReplicationPolicy) ToHyperVReplicationPolicyOutputWithContext added in v5.36.0

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

type HyperVReplicationPolicyArgs added in v5.36.0

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 added in v5.36.0

type HyperVReplicationPolicyArray added in v5.36.0

type HyperVReplicationPolicyArray []HyperVReplicationPolicyInput

func (HyperVReplicationPolicyArray) ElementType added in v5.36.0

func (HyperVReplicationPolicyArray) ToHyperVReplicationPolicyArrayOutput added in v5.36.0

func (i HyperVReplicationPolicyArray) ToHyperVReplicationPolicyArrayOutput() HyperVReplicationPolicyArrayOutput

func (HyperVReplicationPolicyArray) ToHyperVReplicationPolicyArrayOutputWithContext added in v5.36.0

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

type HyperVReplicationPolicyArrayInput added in v5.36.0

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 added in v5.36.0

type HyperVReplicationPolicyArrayOutput struct{ *pulumi.OutputState }

func (HyperVReplicationPolicyArrayOutput) ElementType added in v5.36.0

func (HyperVReplicationPolicyArrayOutput) Index added in v5.36.0

func (HyperVReplicationPolicyArrayOutput) ToHyperVReplicationPolicyArrayOutput added in v5.36.0

func (o HyperVReplicationPolicyArrayOutput) ToHyperVReplicationPolicyArrayOutput() HyperVReplicationPolicyArrayOutput

func (HyperVReplicationPolicyArrayOutput) ToHyperVReplicationPolicyArrayOutputWithContext added in v5.36.0

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

type HyperVReplicationPolicyAssociation added in v5.36.0

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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/recoveryservices"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/siterecovery"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("East US"),
		})
		if err != nil {
			return err
		}
		exampleVault, err := recoveryservices.NewVault(ctx, "exampleVault", &recoveryservices.VaultArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		exampleHyperVSite, err := siterecovery.NewHyperVSite(ctx, "exampleHyperVSite", &siterecovery.HyperVSiteArgs{
			RecoveryVaultId: exampleVault.ID(),
		})
		if err != nil {
			return err
		}
		exampleHyperVReplicationPolicy, err := siterecovery.NewHyperVReplicationPolicy(ctx, "exampleHyperVReplicationPolicy", &siterecovery.HyperVReplicationPolicyArgs{
			RecoveryVaultId:                               exampleVault.ID(),
			RecoveryPointRetentionInHours:                 pulumi.Int(2),
			ApplicationConsistentSnapshotFrequencyInHours: pulumi.Int(1),
			ReplicationIntervalInSeconds:                  pulumi.Int(300),
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewHyperVReplicationPolicyAssociation(ctx, "exampleHyperVReplicationPolicyAssociation", &siterecovery.HyperVReplicationPolicyAssociationArgs{
			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 added in v5.36.0

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 added in v5.36.0

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 added in v5.36.0

func (*HyperVReplicationPolicyAssociation) ToHyperVReplicationPolicyAssociationOutput added in v5.36.0

func (i *HyperVReplicationPolicyAssociation) ToHyperVReplicationPolicyAssociationOutput() HyperVReplicationPolicyAssociationOutput

func (*HyperVReplicationPolicyAssociation) ToHyperVReplicationPolicyAssociationOutputWithContext added in v5.36.0

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

type HyperVReplicationPolicyAssociationArgs added in v5.36.0

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 added in v5.36.0

type HyperVReplicationPolicyAssociationArray added in v5.36.0

type HyperVReplicationPolicyAssociationArray []HyperVReplicationPolicyAssociationInput

func (HyperVReplicationPolicyAssociationArray) ElementType added in v5.36.0

func (HyperVReplicationPolicyAssociationArray) ToHyperVReplicationPolicyAssociationArrayOutput added in v5.36.0

func (i HyperVReplicationPolicyAssociationArray) ToHyperVReplicationPolicyAssociationArrayOutput() HyperVReplicationPolicyAssociationArrayOutput

func (HyperVReplicationPolicyAssociationArray) ToHyperVReplicationPolicyAssociationArrayOutputWithContext added in v5.36.0

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

type HyperVReplicationPolicyAssociationArrayInput added in v5.36.0

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 added in v5.36.0

type HyperVReplicationPolicyAssociationArrayOutput struct{ *pulumi.OutputState }

func (HyperVReplicationPolicyAssociationArrayOutput) ElementType added in v5.36.0

func (HyperVReplicationPolicyAssociationArrayOutput) Index added in v5.36.0

func (HyperVReplicationPolicyAssociationArrayOutput) ToHyperVReplicationPolicyAssociationArrayOutput added in v5.36.0

func (o HyperVReplicationPolicyAssociationArrayOutput) ToHyperVReplicationPolicyAssociationArrayOutput() HyperVReplicationPolicyAssociationArrayOutput

func (HyperVReplicationPolicyAssociationArrayOutput) ToHyperVReplicationPolicyAssociationArrayOutputWithContext added in v5.36.0

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

type HyperVReplicationPolicyAssociationInput added in v5.36.0

type HyperVReplicationPolicyAssociationInput interface {
	pulumi.Input

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

type HyperVReplicationPolicyAssociationMap added in v5.36.0

type HyperVReplicationPolicyAssociationMap map[string]HyperVReplicationPolicyAssociationInput

func (HyperVReplicationPolicyAssociationMap) ElementType added in v5.36.0

func (HyperVReplicationPolicyAssociationMap) ToHyperVReplicationPolicyAssociationMapOutput added in v5.36.0

func (i HyperVReplicationPolicyAssociationMap) ToHyperVReplicationPolicyAssociationMapOutput() HyperVReplicationPolicyAssociationMapOutput

func (HyperVReplicationPolicyAssociationMap) ToHyperVReplicationPolicyAssociationMapOutputWithContext added in v5.36.0

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

type HyperVReplicationPolicyAssociationMapInput added in v5.36.0

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 added in v5.36.0

type HyperVReplicationPolicyAssociationMapOutput struct{ *pulumi.OutputState }

func (HyperVReplicationPolicyAssociationMapOutput) ElementType added in v5.36.0

func (HyperVReplicationPolicyAssociationMapOutput) MapIndex added in v5.36.0

func (HyperVReplicationPolicyAssociationMapOutput) ToHyperVReplicationPolicyAssociationMapOutput added in v5.36.0

func (o HyperVReplicationPolicyAssociationMapOutput) ToHyperVReplicationPolicyAssociationMapOutput() HyperVReplicationPolicyAssociationMapOutput

func (HyperVReplicationPolicyAssociationMapOutput) ToHyperVReplicationPolicyAssociationMapOutputWithContext added in v5.36.0

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

type HyperVReplicationPolicyAssociationOutput added in v5.36.0

type HyperVReplicationPolicyAssociationOutput struct{ *pulumi.OutputState }

func (HyperVReplicationPolicyAssociationOutput) ElementType added in v5.36.0

func (HyperVReplicationPolicyAssociationOutput) HypervSiteId added in v5.36.0

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 added in v5.36.0

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

func (HyperVReplicationPolicyAssociationOutput) PolicyId added in v5.36.0

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

func (HyperVReplicationPolicyAssociationOutput) ToHyperVReplicationPolicyAssociationOutput added in v5.36.0

func (o HyperVReplicationPolicyAssociationOutput) ToHyperVReplicationPolicyAssociationOutput() HyperVReplicationPolicyAssociationOutput

func (HyperVReplicationPolicyAssociationOutput) ToHyperVReplicationPolicyAssociationOutputWithContext added in v5.36.0

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

type HyperVReplicationPolicyAssociationState added in v5.36.0

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 added in v5.36.0

type HyperVReplicationPolicyInput added in v5.36.0

type HyperVReplicationPolicyInput interface {
	pulumi.Input

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

type HyperVReplicationPolicyMap added in v5.36.0

type HyperVReplicationPolicyMap map[string]HyperVReplicationPolicyInput

func (HyperVReplicationPolicyMap) ElementType added in v5.36.0

func (HyperVReplicationPolicyMap) ElementType() reflect.Type

func (HyperVReplicationPolicyMap) ToHyperVReplicationPolicyMapOutput added in v5.36.0

func (i HyperVReplicationPolicyMap) ToHyperVReplicationPolicyMapOutput() HyperVReplicationPolicyMapOutput

func (HyperVReplicationPolicyMap) ToHyperVReplicationPolicyMapOutputWithContext added in v5.36.0

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

type HyperVReplicationPolicyMapInput added in v5.36.0

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 added in v5.36.0

type HyperVReplicationPolicyMapOutput struct{ *pulumi.OutputState }

func (HyperVReplicationPolicyMapOutput) ElementType added in v5.36.0

func (HyperVReplicationPolicyMapOutput) MapIndex added in v5.36.0

func (HyperVReplicationPolicyMapOutput) ToHyperVReplicationPolicyMapOutput added in v5.36.0

func (o HyperVReplicationPolicyMapOutput) ToHyperVReplicationPolicyMapOutput() HyperVReplicationPolicyMapOutput

func (HyperVReplicationPolicyMapOutput) ToHyperVReplicationPolicyMapOutputWithContext added in v5.36.0

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

type HyperVReplicationPolicyOutput added in v5.36.0

type HyperVReplicationPolicyOutput struct{ *pulumi.OutputState }

func (HyperVReplicationPolicyOutput) ApplicationConsistentSnapshotFrequencyInHours added in v5.36.0

func (o HyperVReplicationPolicyOutput) ApplicationConsistentSnapshotFrequencyInHours() pulumi.IntOutput

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

func (HyperVReplicationPolicyOutput) ElementType added in v5.36.0

func (HyperVReplicationPolicyOutput) Name added in v5.36.0

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

func (HyperVReplicationPolicyOutput) RecoveryPointRetentionInHours added in v5.36.0

func (o HyperVReplicationPolicyOutput) RecoveryPointRetentionInHours() pulumi.IntOutput

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

func (HyperVReplicationPolicyOutput) RecoveryVaultId added in v5.36.0

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

func (HyperVReplicationPolicyOutput) ReplicationIntervalInSeconds added in v5.36.0

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 added in v5.36.0

func (o HyperVReplicationPolicyOutput) ToHyperVReplicationPolicyOutput() HyperVReplicationPolicyOutput

func (HyperVReplicationPolicyOutput) ToHyperVReplicationPolicyOutputWithContext added in v5.36.0

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

type HyperVReplicationPolicyState added in v5.36.0

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 added in v5.36.0

type HyperVSite added in v5.36.0

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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/recoveryservices"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/siterecovery"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("eastus"),
		})
		if err != nil {
			return err
		}
		exampleVault, err := recoveryservices.NewVault(ctx, "exampleVault", &recoveryservices.VaultArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			Sku:               pulumi.String("Standard"),
			SoftDeleteEnabled: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewHyperVSite(ctx, "exampleHyperVSite", &siterecovery.HyperVSiteArgs{
			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 added in v5.36.0

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 added in v5.36.0

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 added in v5.36.0

func (*HyperVSite) ElementType() reflect.Type

func (*HyperVSite) ToHyperVSiteOutput added in v5.36.0

func (i *HyperVSite) ToHyperVSiteOutput() HyperVSiteOutput

func (*HyperVSite) ToHyperVSiteOutputWithContext added in v5.36.0

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

type HyperVSiteArgs added in v5.36.0

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 added in v5.36.0

func (HyperVSiteArgs) ElementType() reflect.Type

type HyperVSiteArray added in v5.36.0

type HyperVSiteArray []HyperVSiteInput

func (HyperVSiteArray) ElementType added in v5.36.0

func (HyperVSiteArray) ElementType() reflect.Type

func (HyperVSiteArray) ToHyperVSiteArrayOutput added in v5.36.0

func (i HyperVSiteArray) ToHyperVSiteArrayOutput() HyperVSiteArrayOutput

func (HyperVSiteArray) ToHyperVSiteArrayOutputWithContext added in v5.36.0

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

type HyperVSiteArrayInput added in v5.36.0

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 added in v5.36.0

type HyperVSiteArrayOutput struct{ *pulumi.OutputState }

func (HyperVSiteArrayOutput) ElementType added in v5.36.0

func (HyperVSiteArrayOutput) ElementType() reflect.Type

func (HyperVSiteArrayOutput) Index added in v5.36.0

func (HyperVSiteArrayOutput) ToHyperVSiteArrayOutput added in v5.36.0

func (o HyperVSiteArrayOutput) ToHyperVSiteArrayOutput() HyperVSiteArrayOutput

func (HyperVSiteArrayOutput) ToHyperVSiteArrayOutputWithContext added in v5.36.0

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

type HyperVSiteInput added in v5.36.0

type HyperVSiteInput interface {
	pulumi.Input

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

type HyperVSiteMap added in v5.36.0

type HyperVSiteMap map[string]HyperVSiteInput

func (HyperVSiteMap) ElementType added in v5.36.0

func (HyperVSiteMap) ElementType() reflect.Type

func (HyperVSiteMap) ToHyperVSiteMapOutput added in v5.36.0

func (i HyperVSiteMap) ToHyperVSiteMapOutput() HyperVSiteMapOutput

func (HyperVSiteMap) ToHyperVSiteMapOutputWithContext added in v5.36.0

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

type HyperVSiteMapInput added in v5.36.0

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 added in v5.36.0

type HyperVSiteMapOutput struct{ *pulumi.OutputState }

func (HyperVSiteMapOutput) ElementType added in v5.36.0

func (HyperVSiteMapOutput) ElementType() reflect.Type

func (HyperVSiteMapOutput) MapIndex added in v5.36.0

func (HyperVSiteMapOutput) ToHyperVSiteMapOutput added in v5.36.0

func (o HyperVSiteMapOutput) ToHyperVSiteMapOutput() HyperVSiteMapOutput

func (HyperVSiteMapOutput) ToHyperVSiteMapOutputWithContext added in v5.36.0

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

type HyperVSiteOutput added in v5.36.0

type HyperVSiteOutput struct{ *pulumi.OutputState }

func (HyperVSiteOutput) ElementType added in v5.36.0

func (HyperVSiteOutput) ElementType() reflect.Type

func (HyperVSiteOutput) Name added in v5.36.0

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

func (HyperVSiteOutput) RecoveryVaultId added in v5.36.0

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 added in v5.36.0

func (o HyperVSiteOutput) ToHyperVSiteOutput() HyperVSiteOutput

func (HyperVSiteOutput) ToHyperVSiteOutputWithContext added in v5.36.0

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

type HyperVSiteState added in v5.36.0

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 added in v5.36.0

func (HyperVSiteState) ElementType() reflect.Type

type HypervNetworkMapping added in v5.44.0

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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/recoveryservices"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/siterecovery"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		targetResourceGroup, err := core.NewResourceGroup(ctx, "targetResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("East US"),
		})
		if err != nil {
			return err
		}
		vault, err := recoveryservices.NewVault(ctx, "vault", &recoveryservices.VaultArgs{
			Location:          targetResourceGroup.Location,
			ResourceGroupName: targetResourceGroup.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		targetVirtualNetwork, err := network.NewVirtualNetwork(ctx, "targetVirtualNetwork", &network.VirtualNetworkArgs{
			ResourceGroupName: targetResourceGroup.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("192.168.2.0/24"),
			},
			Location: targetResourceGroup.Location,
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewHypervNetworkMapping(ctx, "recovery-mapping", &siterecovery.HypervNetworkMappingArgs{
			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 added in v5.44.0

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 added in v5.44.0

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 added in v5.44.0

func (*HypervNetworkMapping) ElementType() reflect.Type

func (*HypervNetworkMapping) ToHypervNetworkMappingOutput added in v5.44.0

func (i *HypervNetworkMapping) ToHypervNetworkMappingOutput() HypervNetworkMappingOutput

func (*HypervNetworkMapping) ToHypervNetworkMappingOutputWithContext added in v5.44.0

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

type HypervNetworkMappingArgs added in v5.44.0

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 added in v5.44.0

func (HypervNetworkMappingArgs) ElementType() reflect.Type

type HypervNetworkMappingArray added in v5.44.0

type HypervNetworkMappingArray []HypervNetworkMappingInput

func (HypervNetworkMappingArray) ElementType added in v5.44.0

func (HypervNetworkMappingArray) ElementType() reflect.Type

func (HypervNetworkMappingArray) ToHypervNetworkMappingArrayOutput added in v5.44.0

func (i HypervNetworkMappingArray) ToHypervNetworkMappingArrayOutput() HypervNetworkMappingArrayOutput

func (HypervNetworkMappingArray) ToHypervNetworkMappingArrayOutputWithContext added in v5.44.0

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

type HypervNetworkMappingArrayInput added in v5.44.0

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 added in v5.44.0

type HypervNetworkMappingArrayOutput struct{ *pulumi.OutputState }

func (HypervNetworkMappingArrayOutput) ElementType added in v5.44.0

func (HypervNetworkMappingArrayOutput) Index added in v5.44.0

func (HypervNetworkMappingArrayOutput) ToHypervNetworkMappingArrayOutput added in v5.44.0

func (o HypervNetworkMappingArrayOutput) ToHypervNetworkMappingArrayOutput() HypervNetworkMappingArrayOutput

func (HypervNetworkMappingArrayOutput) ToHypervNetworkMappingArrayOutputWithContext added in v5.44.0

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

type HypervNetworkMappingInput added in v5.44.0

type HypervNetworkMappingInput interface {
	pulumi.Input

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

type HypervNetworkMappingMap added in v5.44.0

type HypervNetworkMappingMap map[string]HypervNetworkMappingInput

func (HypervNetworkMappingMap) ElementType added in v5.44.0

func (HypervNetworkMappingMap) ElementType() reflect.Type

func (HypervNetworkMappingMap) ToHypervNetworkMappingMapOutput added in v5.44.0

func (i HypervNetworkMappingMap) ToHypervNetworkMappingMapOutput() HypervNetworkMappingMapOutput

func (HypervNetworkMappingMap) ToHypervNetworkMappingMapOutputWithContext added in v5.44.0

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

type HypervNetworkMappingMapInput added in v5.44.0

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 added in v5.44.0

type HypervNetworkMappingMapOutput struct{ *pulumi.OutputState }

func (HypervNetworkMappingMapOutput) ElementType added in v5.44.0

func (HypervNetworkMappingMapOutput) MapIndex added in v5.44.0

func (HypervNetworkMappingMapOutput) ToHypervNetworkMappingMapOutput added in v5.44.0

func (o HypervNetworkMappingMapOutput) ToHypervNetworkMappingMapOutput() HypervNetworkMappingMapOutput

func (HypervNetworkMappingMapOutput) ToHypervNetworkMappingMapOutputWithContext added in v5.44.0

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

type HypervNetworkMappingOutput added in v5.44.0

type HypervNetworkMappingOutput struct{ *pulumi.OutputState }

func (HypervNetworkMappingOutput) ElementType added in v5.44.0

func (HypervNetworkMappingOutput) ElementType() reflect.Type

func (HypervNetworkMappingOutput) Name added in v5.44.0

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

func (HypervNetworkMappingOutput) RecoveryVaultId added in v5.44.0

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 added in v5.44.0

func (o HypervNetworkMappingOutput) SourceNetworkName() pulumi.StringOutput

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

func (HypervNetworkMappingOutput) SourceSystemCenterVirtualMachineManagerName added in v5.44.0

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 added in v5.44.0

func (o HypervNetworkMappingOutput) TargetNetworkId() pulumi.StringOutput

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

func (HypervNetworkMappingOutput) ToHypervNetworkMappingOutput added in v5.44.0

func (o HypervNetworkMappingOutput) ToHypervNetworkMappingOutput() HypervNetworkMappingOutput

func (HypervNetworkMappingOutput) ToHypervNetworkMappingOutputWithContext added in v5.44.0

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

type HypervNetworkMappingState added in v5.44.0

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 added in v5.44.0

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/v5/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/v5/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",
			RecoveryFabricName: "primary-fabric",
			RecoveryVaultName:  "tfex-recovery_vault",
			ResourceGroupName:  "tfex-resource_group",
		}, 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/v5/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 added in v5.33.0

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 added in v5.33.0

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 added in v5.33.0

type LookupReplicationRecoveryPlanResult added in v5.33.0

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 added in v5.33.0

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/v5/go/azure/recoveryservices"
"github.com/pulumi/pulumi-azure/sdk/v5/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 added in v5.33.0

type LookupReplicationRecoveryPlanResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getReplicationRecoveryPlan.

func (LookupReplicationRecoveryPlanResultOutput) AzureToAzureSettings added in v5.44.0

func (LookupReplicationRecoveryPlanResultOutput) ElementType added in v5.33.0

func (LookupReplicationRecoveryPlanResultOutput) FailoverDeploymentModel added in v5.33.0

func (LookupReplicationRecoveryPlanResultOutput) Id added in v5.33.0

The provider-assigned unique ID for this managed resource.

func (LookupReplicationRecoveryPlanResultOutput) Name added in v5.33.0

Name of the Action.

func (LookupReplicationRecoveryPlanResultOutput) RecoveryGroups added in v5.33.0

`recoveryGroup` block defined as below. ---

func (LookupReplicationRecoveryPlanResultOutput) RecoveryVaultId added in v5.33.0

func (LookupReplicationRecoveryPlanResultOutput) SourceRecoveryFabricId added in v5.33.0

The ID of source fabric to be recovered from.

func (LookupReplicationRecoveryPlanResultOutput) TargetRecoveryFabricId added in v5.33.0

The ID of target fabric to recover.

func (LookupReplicationRecoveryPlanResultOutput) ToLookupReplicationRecoveryPlanResultOutput added in v5.33.0

func (o LookupReplicationRecoveryPlanResultOutput) ToLookupReplicationRecoveryPlanResultOutput() LookupReplicationRecoveryPlanResultOutput

func (LookupReplicationRecoveryPlanResultOutput) ToLookupReplicationRecoveryPlanResultOutputWithContext added in v5.33.0

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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/recoveryservices"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/siterecovery"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```

## Import

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

```sh

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

```

func GetNetworkMapping

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

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

func NewNetworkMapping

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

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

func (*NetworkMapping) ElementType

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 added in v5.5.0

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

func (NetworkMappingOutput) RecoveryVaultName added in v5.5.0

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 added in v5.5.0

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 added in v5.5.0

func (o NetworkMappingOutput) SourceNetworkId() pulumi.StringOutput

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

func (NetworkMappingOutput) SourceRecoveryFabricName added in v5.5.0

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 added in v5.5.0

func (o NetworkMappingOutput) TargetNetworkId() pulumi.StringOutput

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

func (NetworkMappingOutput) TargetRecoveryFabricName added in v5.5.0

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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/recoveryservices"
"github.com/pulumi/pulumi-azure/sdk/v5/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{
			Location: pulumi.String("West US"),
		})
		if err != nil {
			return err
		}
		secondary, err := core.NewResourceGroup(ctx, "secondary", &core.ResourceGroupArgs{
			Location: pulumi.String("East US"),
		})
		if err != nil {
			return err
		}
		vault, err := recoveryservices.NewVault(ctx, "vault", &recoveryservices.VaultArgs{
			Location:          secondary.Location,
			ResourceGroupName: secondary.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		fabric, err := siterecovery.NewFabric(ctx, "fabric", &siterecovery.FabricArgs{
			ResourceGroupName: secondary.Name,
			RecoveryVaultName: vault.Name,
			Location:          primary.Location,
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewProtectionContainer(ctx, "protection-container", &siterecovery.ProtectionContainerArgs{
			ResourceGroupName:  secondary.Name,
			RecoveryVaultName:  vault.Name,
			RecoveryFabricName: fabric.Name,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh

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

```

func GetProtectionContainer

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

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

func NewProtectionContainer

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

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

func (*ProtectionContainer) ElementType

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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/recoveryservices"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/siterecovery"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```

## Import

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

```sh

$ pulumi import azure:siterecovery/protectionContainerMapping:ProtectionContainerMapping mymapping /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.RecoveryServices/vaults/recovery-vault-name/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 added in v5.34.0

type ProtectionContainerMappingAutomaticUpdate struct {
	// The authentication type used for automation account. Possible values are `RunAsAccount` and `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).
	//
	// > **Note:**: `authenticationType` will default to `SystemAssignedIdentity` in version 4.0.
	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 added in v5.34.0

type ProtectionContainerMappingAutomaticUpdateArgs struct {
	// The authentication type used for automation account. Possible values are `RunAsAccount` and `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).
	//
	// > **Note:**: `authenticationType` will default to `SystemAssignedIdentity` in version 4.0.
	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 added in v5.34.0

func (ProtectionContainerMappingAutomaticUpdateArgs) ToProtectionContainerMappingAutomaticUpdateOutput added in v5.34.0

func (i ProtectionContainerMappingAutomaticUpdateArgs) ToProtectionContainerMappingAutomaticUpdateOutput() ProtectionContainerMappingAutomaticUpdateOutput

func (ProtectionContainerMappingAutomaticUpdateArgs) ToProtectionContainerMappingAutomaticUpdateOutputWithContext added in v5.34.0

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

func (ProtectionContainerMappingAutomaticUpdateArgs) ToProtectionContainerMappingAutomaticUpdatePtrOutput added in v5.34.0

func (i ProtectionContainerMappingAutomaticUpdateArgs) ToProtectionContainerMappingAutomaticUpdatePtrOutput() ProtectionContainerMappingAutomaticUpdatePtrOutput

func (ProtectionContainerMappingAutomaticUpdateArgs) ToProtectionContainerMappingAutomaticUpdatePtrOutputWithContext added in v5.34.0

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

type ProtectionContainerMappingAutomaticUpdateInput added in v5.34.0

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 added in v5.34.0

type ProtectionContainerMappingAutomaticUpdateOutput struct{ *pulumi.OutputState }

func (ProtectionContainerMappingAutomaticUpdateOutput) AuthenticationType added in v5.44.0

The authentication type used for automation account. Possible values are `RunAsAccount` and `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).

> **Note:**: `authenticationType` will default to `SystemAssignedIdentity` in version 4.0.

func (ProtectionContainerMappingAutomaticUpdateOutput) AutomationAccountId added in v5.34.0

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 added in v5.34.0

func (ProtectionContainerMappingAutomaticUpdateOutput) Enabled added in v5.34.0

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 added in v5.34.0

func (o ProtectionContainerMappingAutomaticUpdateOutput) ToProtectionContainerMappingAutomaticUpdateOutput() ProtectionContainerMappingAutomaticUpdateOutput

func (ProtectionContainerMappingAutomaticUpdateOutput) ToProtectionContainerMappingAutomaticUpdateOutputWithContext added in v5.34.0

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

func (ProtectionContainerMappingAutomaticUpdateOutput) ToProtectionContainerMappingAutomaticUpdatePtrOutput added in v5.34.0

func (o ProtectionContainerMappingAutomaticUpdateOutput) ToProtectionContainerMappingAutomaticUpdatePtrOutput() ProtectionContainerMappingAutomaticUpdatePtrOutput

func (ProtectionContainerMappingAutomaticUpdateOutput) ToProtectionContainerMappingAutomaticUpdatePtrOutputWithContext added in v5.34.0

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

type ProtectionContainerMappingAutomaticUpdatePtrInput added in v5.34.0

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 added in v5.34.0

type ProtectionContainerMappingAutomaticUpdatePtrOutput struct{ *pulumi.OutputState }

func (ProtectionContainerMappingAutomaticUpdatePtrOutput) AuthenticationType added in v5.44.0

The authentication type used for automation account. Possible values are `RunAsAccount` and `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).

> **Note:**: `authenticationType` will default to `SystemAssignedIdentity` in version 4.0.

func (ProtectionContainerMappingAutomaticUpdatePtrOutput) AutomationAccountId added in v5.34.0

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 added in v5.34.0

func (ProtectionContainerMappingAutomaticUpdatePtrOutput) ElementType added in v5.34.0

func (ProtectionContainerMappingAutomaticUpdatePtrOutput) Enabled added in v5.34.0

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 added in v5.34.0

func (o ProtectionContainerMappingAutomaticUpdatePtrOutput) ToProtectionContainerMappingAutomaticUpdatePtrOutput() ProtectionContainerMappingAutomaticUpdatePtrOutput

func (ProtectionContainerMappingAutomaticUpdatePtrOutput) ToProtectionContainerMappingAutomaticUpdatePtrOutputWithContext added in v5.34.0

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 added in v5.34.0

a `automaticUpdate` block defined as below.

func (ProtectionContainerMappingOutput) ElementType

func (ProtectionContainerMappingOutput) Name added in v5.5.0

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

func (ProtectionContainerMappingOutput) RecoveryFabricName added in v5.5.0

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 added in v5.5.0

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 added in v5.5.0

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 added in v5.5.0

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 added in v5.5.0

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

func (ProtectionContainerMappingOutput) ResourceGroupName added in v5.5.0

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 added in v5.5.0

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

func (ProtectionContainerOutput) RecoveryFabricName added in v5.5.0

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 added in v5.5.0

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 added in v5.5.0

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 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/v5/go/azure/compute"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/recoveryservices"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/siterecovery"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primaryResourceGroup, err := core.NewResourceGroup(ctx, "primaryResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West US"),
		})
		if err != nil {
			return err
		}
		secondaryResourceGroup, err := core.NewResourceGroup(ctx, "secondaryResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("East US"),
		})
		if err != nil {
			return err
		}
		primaryVirtualNetwork, err := network.NewVirtualNetwork(ctx, "primaryVirtualNetwork", &network.VirtualNetworkArgs{
			ResourceGroupName: primaryResourceGroup.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("192.168.1.0/24"),
			},
			Location: primaryResourceGroup.Location,
		})
		if err != nil {
			return err
		}
		primarySubnet, err := network.NewSubnet(ctx, "primarySubnet", &network.SubnetArgs{
			ResourceGroupName:  primaryResourceGroup.Name,
			VirtualNetworkName: primaryVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("192.168.1.0/24"),
			},
		})
		if err != nil {
			return err
		}
		primaryPublicIp, err := network.NewPublicIp(ctx, "primaryPublicIp", &network.PublicIpArgs{
			AllocationMethod:  pulumi.String("Static"),
			Location:          primaryResourceGroup.Location,
			ResourceGroupName: primaryResourceGroup.Name,
			Sku:               pulumi.String("Basic"),
		})
		if err != nil {
			return err
		}
		vmNetworkInterface, err := network.NewNetworkInterface(ctx, "vmNetworkInterface", &network.NetworkInterfaceArgs{
			Location:          primaryResourceGroup.Location,
			ResourceGroupName: primaryResourceGroup.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
		}
		vmVirtualMachine, err := compute.NewVirtualMachine(ctx, "vmVirtualMachine", &compute.VirtualMachineArgs{
			Location:          primaryResourceGroup.Location,
			ResourceGroupName: primaryResourceGroup.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{
			Location:          secondaryResourceGroup.Location,
			ResourceGroupName: secondaryResourceGroup.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		primaryFabric, err := siterecovery.NewFabric(ctx, "primaryFabric", &siterecovery.FabricArgs{
			ResourceGroupName: secondaryResourceGroup.Name,
			RecoveryVaultName: vault.Name,
			Location:          primaryResourceGroup.Location,
		})
		if err != nil {
			return err
		}
		secondaryFabric, err := siterecovery.NewFabric(ctx, "secondaryFabric", &siterecovery.FabricArgs{
			ResourceGroupName: secondaryResourceGroup.Name,
			RecoveryVaultName: vault.Name,
			Location:          secondaryResourceGroup.Location,
		})
		if err != nil {
			return err
		}
		primaryProtectionContainer, err := siterecovery.NewProtectionContainer(ctx, "primaryProtectionContainer", &siterecovery.ProtectionContainerArgs{
			ResourceGroupName:  secondaryResourceGroup.Name,
			RecoveryVaultName:  vault.Name,
			RecoveryFabricName: primaryFabric.Name,
		})
		if err != nil {
			return err
		}
		secondaryProtectionContainer, err := siterecovery.NewProtectionContainer(ctx, "secondaryProtectionContainer", &siterecovery.ProtectionContainerArgs{
			ResourceGroupName:  secondaryResourceGroup.Name,
			RecoveryVaultName:  vault.Name,
			RecoveryFabricName: secondaryFabric.Name,
		})
		if err != nil {
			return err
		}
		policy, err := siterecovery.NewReplicationPolicy(ctx, "policy", &siterecovery.ReplicationPolicyArgs{
			ResourceGroupName:                               secondaryResourceGroup.Name,
			RecoveryVaultName:                               vault.Name,
			RecoveryPointRetentionInMinutes:                 24 * 60,
			ApplicationConsistentSnapshotFrequencyInMinutes: 4 * 60,
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewProtectionContainerMapping(ctx, "container-mapping", &siterecovery.ProtectionContainerMappingArgs{
			ResourceGroupName:                     secondaryResourceGroup.Name,
			RecoveryVaultName:                     vault.Name,
			RecoveryFabricName:                    primaryFabric.Name,
			RecoverySourceProtectionContainerName: primaryProtectionContainer.Name,
			RecoveryTargetProtectionContainerId:   secondaryProtectionContainer.ID(),
			RecoveryReplicationPolicyId:           policy.ID(),
		})
		if err != nil {
			return err
		}
		secondaryVirtualNetwork, err := network.NewVirtualNetwork(ctx, "secondaryVirtualNetwork", &network.VirtualNetworkArgs{
			ResourceGroupName: secondaryResourceGroup.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("192.168.2.0/24"),
			},
			Location: secondaryResourceGroup.Location,
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewNetworkMapping(ctx, "network-mapping", &siterecovery.NetworkMappingArgs{
			ResourceGroupName:        secondaryResourceGroup.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, "primaryAccount", &storage.AccountArgs{
			Location:               primaryResourceGroup.Location,
			ResourceGroupName:      primaryResourceGroup.Name,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("LRS"),
		})
		if err != nil {
			return err
		}
		secondarySubnet, err := network.NewSubnet(ctx, "secondarySubnet", &network.SubnetArgs{
			ResourceGroupName:  secondaryResourceGroup.Name,
			VirtualNetworkName: secondaryVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("192.168.2.0/24"),
			},
		})
		if err != nil {
			return err
		}
		secondaryPublicIp, err := network.NewPublicIp(ctx, "secondaryPublicIp", &network.PublicIpArgs{
			AllocationMethod:  pulumi.String("Static"),
			Location:          secondaryResourceGroup.Location,
			ResourceGroupName: secondaryResourceGroup.Name,
			Sku:               pulumi.String("Basic"),
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewReplicatedVM(ctx, "vm-replication", &siterecovery.ReplicatedVMArgs{
			ResourceGroupName:                     secondaryResourceGroup.Name,
			RecoveryVaultName:                     vault.Name,
			SourceRecoveryFabricName:              primaryFabric.Name,
			SourceVmId:                            vmVirtualMachine.ID(),
			RecoveryReplicationPolicyId:           policy.ID(),
			SourceRecoveryProtectionContainerName: primaryProtectionContainer.Name,
			TargetResourceGroupId:                 secondaryResourceGroup.ID(),
			TargetRecoveryFabricId:                secondaryFabric.ID(),
			TargetRecoveryProtectionContainerId:   secondaryProtectionContainer.ID(),
			ManagedDisks: siterecovery.ReplicatedVMManagedDiskArray{
				&siterecovery.ReplicatedVMManagedDiskArgs{
					DiskId: vmVirtualMachine.StorageOsDisk.ApplyT(func(storageOsDisk compute.VirtualMachineStorageOsDisk) (*string, error) {
						return &storageOsDisk.ManagedDiskId, nil
					}).(pulumi.StringPtrOutput),
					StagingStorageAccountId: primaryAccount.ID(),
					TargetResourceGroupId:   secondaryResourceGroup.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 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 added in v5.15.0

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 added in v5.15.0

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 added in v5.15.0

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 added in v5.15.0

func (ReplicatedVMManagedDiskTargetDiskEncryptionArgs) ToReplicatedVMManagedDiskTargetDiskEncryptionOutput added in v5.15.0

func (i ReplicatedVMManagedDiskTargetDiskEncryptionArgs) ToReplicatedVMManagedDiskTargetDiskEncryptionOutput() ReplicatedVMManagedDiskTargetDiskEncryptionOutput

func (ReplicatedVMManagedDiskTargetDiskEncryptionArgs) ToReplicatedVMManagedDiskTargetDiskEncryptionOutputWithContext added in v5.15.0

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

func (ReplicatedVMManagedDiskTargetDiskEncryptionArgs) ToReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput added in v5.15.0

func (i ReplicatedVMManagedDiskTargetDiskEncryptionArgs) ToReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput() ReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput

func (ReplicatedVMManagedDiskTargetDiskEncryptionArgs) ToReplicatedVMManagedDiskTargetDiskEncryptionPtrOutputWithContext added in v5.15.0

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

type ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKey added in v5.15.0

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 added in v5.15.0

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 added in v5.15.0

func (ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyArgs) ToReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyOutput added in v5.15.0

func (ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyArgs) ToReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyOutputWithContext added in v5.15.0

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

func (ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyArgs) ToReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutput added in v5.15.0

func (ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyArgs) ToReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutputWithContext added in v5.15.0

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

type ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyInput added in v5.15.0

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 added in v5.15.0

type ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyOutput struct{ *pulumi.OutputState }

func (ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyOutput) ElementType added in v5.15.0

func (ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyOutput) SecretUrl added in v5.15.0

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 added in v5.15.0

func (ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyOutputWithContext added in v5.15.0

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

func (ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutput added in v5.15.0

func (ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutputWithContext added in v5.15.0

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

func (ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyOutput) VaultId added in v5.15.0

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 added in v5.15.0

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 added in v5.15.0

type ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutput struct{ *pulumi.OutputState }

func (ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutput) Elem added in v5.15.0

func (ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutput) ElementType added in v5.15.0

func (ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutput) SecretUrl added in v5.15.0

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 added in v5.15.0

func (ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutputWithContext added in v5.15.0

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

func (ReplicatedVMManagedDiskTargetDiskEncryptionDiskEncryptionKeyPtrOutput) VaultId added in v5.15.0

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 added in v5.15.0

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 added in v5.15.0

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 added in v5.15.0

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 added in v5.15.0

func (ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyArgs) ToReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyOutput added in v5.15.0

func (ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyArgs) ToReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyOutputWithContext added in v5.15.0

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

func (ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyArgs) ToReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutput added in v5.15.0

func (ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyArgs) ToReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutputWithContext added in v5.15.0

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

type ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyInput added in v5.15.0

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 added in v5.15.0

type ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyOutput struct{ *pulumi.OutputState }

func (ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyOutput) ElementType added in v5.15.0

func (ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyOutput) KeyUrl added in v5.15.0

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 added in v5.15.0

func (ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyOutputWithContext added in v5.15.0

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

func (ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutput added in v5.15.0

func (ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutputWithContext added in v5.15.0

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

func (ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyOutput) VaultId added in v5.15.0

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 added in v5.15.0

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 added in v5.15.0

type ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutput struct{ *pulumi.OutputState }

func (ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutput) Elem added in v5.15.0

func (ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutput) ElementType added in v5.15.0

func (ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutput) KeyUrl added in v5.15.0

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 added in v5.15.0

func (ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutputWithContext added in v5.15.0

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

func (ReplicatedVMManagedDiskTargetDiskEncryptionKeyEncryptionKeyPtrOutput) VaultId added in v5.15.0

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 added in v5.15.0

type ReplicatedVMManagedDiskTargetDiskEncryptionOutput struct{ *pulumi.OutputState }

func (ReplicatedVMManagedDiskTargetDiskEncryptionOutput) DiskEncryptionKey added in v5.15.0

A `diskEncryptionKey` block as defined below.

func (ReplicatedVMManagedDiskTargetDiskEncryptionOutput) ElementType added in v5.15.0

func (ReplicatedVMManagedDiskTargetDiskEncryptionOutput) KeyEncryptionKey added in v5.15.0

A `keyEncryptionKey` block as defined below.

func (ReplicatedVMManagedDiskTargetDiskEncryptionOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionOutput added in v5.15.0

func (o ReplicatedVMManagedDiskTargetDiskEncryptionOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionOutput() ReplicatedVMManagedDiskTargetDiskEncryptionOutput

func (ReplicatedVMManagedDiskTargetDiskEncryptionOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionOutputWithContext added in v5.15.0

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

func (ReplicatedVMManagedDiskTargetDiskEncryptionOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput added in v5.15.0

func (o ReplicatedVMManagedDiskTargetDiskEncryptionOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput() ReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput

func (ReplicatedVMManagedDiskTargetDiskEncryptionOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionPtrOutputWithContext added in v5.15.0

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

type ReplicatedVMManagedDiskTargetDiskEncryptionPtrInput added in v5.15.0

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 added in v5.15.0

type ReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput struct{ *pulumi.OutputState }

func (ReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput) DiskEncryptionKey added in v5.15.0

A `diskEncryptionKey` block as defined below.

func (ReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput) Elem added in v5.15.0

func (ReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput) ElementType added in v5.15.0

func (ReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput) KeyEncryptionKey added in v5.15.0

A `keyEncryptionKey` block as defined below.

func (ReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput added in v5.15.0

func (ReplicatedVMManagedDiskTargetDiskEncryptionPtrOutput) ToReplicatedVMManagedDiskTargetDiskEncryptionPtrOutputWithContext added in v5.15.0

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 to use when a test failover is done.
	FailoverTestSubnetName *string `pulumi:"failoverTestSubnetName"`
	// Deprecated: this property is not used and will be removed in version 4.0 of the provider
	IsPrimary *bool `pulumi:"isPrimary"`
	// 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 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 to use when a test failover is done.
	FailoverTestSubnetName pulumi.StringPtrInput `pulumi:"failoverTestSubnetName"`
	// Deprecated: this property is not used and will be removed in version 4.0 of the provider
	IsPrimary pulumi.BoolPtrInput `pulumi:"isPrimary"`
	// 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 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 added in v5.34.0

func (o ReplicatedVMNetworkInterfaceOutput) FailoverTestPublicIpAddressId() pulumi.StringPtrOutput

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

func (ReplicatedVMNetworkInterfaceOutput) FailoverTestStaticIp added in v5.34.0

Static IP to assign when a test failover is done.

func (ReplicatedVMNetworkInterfaceOutput) FailoverTestSubnetName added in v5.34.0

func (o ReplicatedVMNetworkInterfaceOutput) FailoverTestSubnetName() pulumi.StringPtrOutput

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

func (ReplicatedVMNetworkInterfaceOutput) IsPrimary deprecated added in v5.31.0

Deprecated: this property is not used and will be removed in version 4.0 of the provider

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 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 added in v5.5.0

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

func (ReplicatedVMOutput) MultiVmGroupName added in v5.34.0

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 added in v5.5.0

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

func (ReplicatedVMOutput) NetworkInterfaces added in v5.5.0

One or more `networkInterface` block as defined below.

func (ReplicatedVMOutput) RecoveryReplicationPolicyId added in v5.5.0

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 added in v5.5.0

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 added in v5.5.0

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 added in v5.5.0

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 added in v5.5.0

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 added in v5.5.0

func (o ReplicatedVMOutput) SourceVmId() pulumi.StringOutput

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

func (ReplicatedVMOutput) TargetAvailabilitySetId added in v5.5.0

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 added in v5.34.0

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 added in v5.34.0

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 added in v5.34.0

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 added in v5.5.0

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 added in v5.34.0

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 added in v5.5.0

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 added in v5.5.0

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 added in v5.5.0

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 added in v5.34.0

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) TargetZone added in v5.5.0

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 added in v5.34.0

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 added in v5.34.0

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 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 added in v5.34.0

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 added in v5.34.0

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 added in v5.34.0

func (ReplicatedVMUnmanagedDiskArgs) ToReplicatedVMUnmanagedDiskOutput added in v5.34.0

func (i ReplicatedVMUnmanagedDiskArgs) ToReplicatedVMUnmanagedDiskOutput() ReplicatedVMUnmanagedDiskOutput

func (ReplicatedVMUnmanagedDiskArgs) ToReplicatedVMUnmanagedDiskOutputWithContext added in v5.34.0

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

type ReplicatedVMUnmanagedDiskArray added in v5.34.0

type ReplicatedVMUnmanagedDiskArray []ReplicatedVMUnmanagedDiskInput

func (ReplicatedVMUnmanagedDiskArray) ElementType added in v5.34.0

func (ReplicatedVMUnmanagedDiskArray) ToReplicatedVMUnmanagedDiskArrayOutput added in v5.34.0

func (i ReplicatedVMUnmanagedDiskArray) ToReplicatedVMUnmanagedDiskArrayOutput() ReplicatedVMUnmanagedDiskArrayOutput

func (ReplicatedVMUnmanagedDiskArray) ToReplicatedVMUnmanagedDiskArrayOutputWithContext added in v5.34.0

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

type ReplicatedVMUnmanagedDiskArrayInput added in v5.34.0

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 added in v5.34.0

type ReplicatedVMUnmanagedDiskArrayOutput struct{ *pulumi.OutputState }

func (ReplicatedVMUnmanagedDiskArrayOutput) ElementType added in v5.34.0

func (ReplicatedVMUnmanagedDiskArrayOutput) Index added in v5.34.0

func (ReplicatedVMUnmanagedDiskArrayOutput) ToReplicatedVMUnmanagedDiskArrayOutput added in v5.34.0

func (o ReplicatedVMUnmanagedDiskArrayOutput) ToReplicatedVMUnmanagedDiskArrayOutput() ReplicatedVMUnmanagedDiskArrayOutput

func (ReplicatedVMUnmanagedDiskArrayOutput) ToReplicatedVMUnmanagedDiskArrayOutputWithContext added in v5.34.0

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

type ReplicatedVMUnmanagedDiskInput added in v5.34.0

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 added in v5.34.0

type ReplicatedVMUnmanagedDiskOutput struct{ *pulumi.OutputState }

func (ReplicatedVMUnmanagedDiskOutput) DiskUri added in v5.34.0

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

func (ReplicatedVMUnmanagedDiskOutput) ElementType added in v5.34.0

func (ReplicatedVMUnmanagedDiskOutput) StagingStorageAccountId added in v5.34.0

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 added in v5.34.0

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 added in v5.34.0

func (o ReplicatedVMUnmanagedDiskOutput) ToReplicatedVMUnmanagedDiskOutput() ReplicatedVMUnmanagedDiskOutput

func (ReplicatedVMUnmanagedDiskOutput) ToReplicatedVMUnmanagedDiskOutputWithContext added in v5.34.0

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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/recoveryservices"
"github.com/pulumi/pulumi-azure/sdk/v5/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{
			Location: pulumi.String("East US"),
		})
		if err != nil {
			return err
		}
		vault, err := recoveryservices.NewVault(ctx, "vault", &recoveryservices.VaultArgs{
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewReplicationPolicy(ctx, "policy", &siterecovery.ReplicationPolicyArgs{
			ResourceGroupName:                               example.Name,
			RecoveryVaultName:                               vault.Name,
			RecoveryPointRetentionInMinutes:                 24 * 60,
			ApplicationConsistentSnapshotFrequencyInMinutes: 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 added in v5.5.0

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 added in v5.5.0

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

func (ReplicationPolicyOutput) RecoveryPointRetentionInMinutes added in v5.5.0

func (o ReplicationPolicyOutput) RecoveryPointRetentionInMinutes() pulumi.IntOutput

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

func (ReplicationPolicyOutput) RecoveryVaultName added in v5.5.0

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 added in v5.5.0

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 added in v5.33.0

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"`
	// Three or more `recoveryGroup` block defined as below.
	//
	// > **Note:** The `recoveryGroup` block is deprecated in favor of `shutdownRecoveryGroup`, `failoverRecoveryGroup` and `bootRecoveryGroup`. It will be removed in v4.0 of the Azure Provider.
	//
	// Deprecated: the `recovery_group` block has been deprecated in favour of the `shutdown_recovery_group`, `failover_recovery_group` and `boot_recovery_group` and will be removed in version 4.0 of the provider.
	RecoveryGroups ReplicationRecoveryPlanRecoveryGroupArrayOutput `pulumi:"recoveryGroups"`
	// 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/v5/go/azure/compute"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/recoveryservices"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/siterecovery"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primaryResourceGroup, err := core.NewResourceGroup(ctx, "primaryResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West US"),
		})
		if err != nil {
			return err
		}
		secondaryResourceGroup, err := core.NewResourceGroup(ctx, "secondaryResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("East US"),
		})
		if err != nil {
			return err
		}
		primaryVirtualNetwork, err := network.NewVirtualNetwork(ctx, "primaryVirtualNetwork", &network.VirtualNetworkArgs{
			ResourceGroupName: primaryResourceGroup.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("192.168.1.0/24"),
			},
			Location: primaryResourceGroup.Location,
		})
		if err != nil {
			return err
		}
		primarySubnet, err := network.NewSubnet(ctx, "primarySubnet", &network.SubnetArgs{
			ResourceGroupName:  primaryResourceGroup.Name,
			VirtualNetworkName: primaryVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("192.168.1.0/24"),
			},
		})
		if err != nil {
			return err
		}
		primaryPublicIp, err := network.NewPublicIp(ctx, "primaryPublicIp", &network.PublicIpArgs{
			AllocationMethod:  pulumi.String("Static"),
			Location:          primaryResourceGroup.Location,
			ResourceGroupName: primaryResourceGroup.Name,
			Sku:               pulumi.String("Basic"),
		})
		if err != nil {
			return err
		}
		vmNetworkInterface, err := network.NewNetworkInterface(ctx, "vmNetworkInterface", &network.NetworkInterfaceArgs{
			Location:          primaryResourceGroup.Location,
			ResourceGroupName: primaryResourceGroup.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
		}
		vmVirtualMachine, err := compute.NewVirtualMachine(ctx, "vmVirtualMachine", &compute.VirtualMachineArgs{
			Location:          primaryResourceGroup.Location,
			ResourceGroupName: primaryResourceGroup.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{
			Location:          secondaryResourceGroup.Location,
			ResourceGroupName: secondaryResourceGroup.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		primaryFabric, err := siterecovery.NewFabric(ctx, "primaryFabric", &siterecovery.FabricArgs{
			ResourceGroupName: secondaryResourceGroup.Name,
			RecoveryVaultName: vault.Name,
			Location:          primaryResourceGroup.Location,
		})
		if err != nil {
			return err
		}
		secondaryFabric, err := siterecovery.NewFabric(ctx, "secondaryFabric", &siterecovery.FabricArgs{
			ResourceGroupName: secondaryResourceGroup.Name,
			RecoveryVaultName: vault.Name,
			Location:          secondaryResourceGroup.Location,
		})
		if err != nil {
			return err
		}
		primaryProtectionContainer, err := siterecovery.NewProtectionContainer(ctx, "primaryProtectionContainer", &siterecovery.ProtectionContainerArgs{
			ResourceGroupName:  secondaryResourceGroup.Name,
			RecoveryVaultName:  vault.Name,
			RecoveryFabricName: primaryFabric.Name,
		})
		if err != nil {
			return err
		}
		secondaryProtectionContainer, err := siterecovery.NewProtectionContainer(ctx, "secondaryProtectionContainer", &siterecovery.ProtectionContainerArgs{
			ResourceGroupName:  secondaryResourceGroup.Name,
			RecoveryVaultName:  vault.Name,
			RecoveryFabricName: secondaryFabric.Name,
		})
		if err != nil {
			return err
		}
		policy, err := siterecovery.NewReplicationPolicy(ctx, "policy", &siterecovery.ReplicationPolicyArgs{
			ResourceGroupName:                               secondaryResourceGroup.Name,
			RecoveryVaultName:                               vault.Name,
			RecoveryPointRetentionInMinutes:                 24 * 60,
			ApplicationConsistentSnapshotFrequencyInMinutes: 4 * 60,
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewProtectionContainerMapping(ctx, "container-mapping", &siterecovery.ProtectionContainerMappingArgs{
			ResourceGroupName:                     secondaryResourceGroup.Name,
			RecoveryVaultName:                     vault.Name,
			RecoveryFabricName:                    primaryFabric.Name,
			RecoverySourceProtectionContainerName: primaryProtectionContainer.Name,
			RecoveryTargetProtectionContainerId:   secondaryProtectionContainer.ID(),
			RecoveryReplicationPolicyId:           policy.ID(),
		})
		if err != nil {
			return err
		}
		secondaryVirtualNetwork, err := network.NewVirtualNetwork(ctx, "secondaryVirtualNetwork", &network.VirtualNetworkArgs{
			ResourceGroupName: secondaryResourceGroup.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("192.168.2.0/24"),
			},
			Location: secondaryResourceGroup.Location,
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewNetworkMapping(ctx, "network-mapping", &siterecovery.NetworkMappingArgs{
			ResourceGroupName:        secondaryResourceGroup.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, "primaryAccount", &storage.AccountArgs{
			Location:               primaryResourceGroup.Location,
			ResourceGroupName:      primaryResourceGroup.Name,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("LRS"),
		})
		if err != nil {
			return err
		}
		secondarySubnet, err := network.NewSubnet(ctx, "secondarySubnet", &network.SubnetArgs{
			ResourceGroupName:  secondaryResourceGroup.Name,
			VirtualNetworkName: secondaryVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("192.168.2.0/24"),
			},
		})
		if err != nil {
			return err
		}
		secondaryPublicIp, err := network.NewPublicIp(ctx, "secondaryPublicIp", &network.PublicIpArgs{
			AllocationMethod:  pulumi.String("Static"),
			Location:          secondaryResourceGroup.Location,
			ResourceGroupName: secondaryResourceGroup.Name,
			Sku:               pulumi.String("Basic"),
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewReplicatedVM(ctx, "vm-replication", &siterecovery.ReplicatedVMArgs{
			ResourceGroupName:                     secondaryResourceGroup.Name,
			RecoveryVaultName:                     vault.Name,
			SourceRecoveryFabricName:              primaryFabric.Name,
			SourceVmId:                            vmVirtualMachine.ID(),
			RecoveryReplicationPolicyId:           policy.ID(),
			SourceRecoveryProtectionContainerName: primaryProtectionContainer.Name,
			TargetResourceGroupId:                 secondaryResourceGroup.ID(),
			TargetRecoveryFabricId:                secondaryFabric.ID(),
			TargetRecoveryProtectionContainerId:   secondaryProtectionContainer.ID(),
			ManagedDisks: siterecovery.ReplicatedVMManagedDiskArray{
				&siterecovery.ReplicatedVMManagedDiskArgs{
					DiskId: vmVirtualMachine.StorageOsDisk.ApplyT(func(storageOsDisk compute.VirtualMachineStorageOsDisk) (*string, error) {
						return &storageOsDisk.ManagedDiskId, nil
					}).(pulumi.StringPtrOutput),
					StagingStorageAccountId: primaryAccount.ID(),
					TargetResourceGroupId:   secondaryResourceGroup.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{
			RecoveryVaultId:        vault.ID(),
			SourceRecoveryFabricId: primaryFabric.ID(),
			TargetRecoveryFabricId: secondaryFabric.ID(),
			ShutdownRecoveryGroup:  nil,
			FailoverRecoveryGroup:  nil,
			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 added in v5.33.0

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 added in v5.33.0

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 added in v5.33.0

func (*ReplicationRecoveryPlan) ElementType() reflect.Type

func (*ReplicationRecoveryPlan) ToReplicationRecoveryPlanOutput added in v5.33.0

func (i *ReplicationRecoveryPlan) ToReplicationRecoveryPlanOutput() ReplicationRecoveryPlanOutput

func (*ReplicationRecoveryPlan) ToReplicationRecoveryPlanOutputWithContext added in v5.33.0

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

type ReplicationRecoveryPlanArgs added in v5.33.0

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 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
	// Three or more `recoveryGroup` block defined as below.
	//
	// > **Note:** The `recoveryGroup` block is deprecated in favor of `shutdownRecoveryGroup`, `failoverRecoveryGroup` and `bootRecoveryGroup`. It will be removed in v4.0 of the Azure Provider.
	//
	// Deprecated: the `recovery_group` block has been deprecated in favour of the `shutdown_recovery_group`, `failover_recovery_group` and `boot_recovery_group` and will be removed in version 4.0 of the provider.
	RecoveryGroups ReplicationRecoveryPlanRecoveryGroupArrayInput
	// 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 ReplicationRecoveryPlanShutdownRecoveryGroupPtrInput
	// 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 added in v5.33.0

type ReplicationRecoveryPlanArray added in v5.33.0

type ReplicationRecoveryPlanArray []ReplicationRecoveryPlanInput

func (ReplicationRecoveryPlanArray) ElementType added in v5.33.0

func (ReplicationRecoveryPlanArray) ToReplicationRecoveryPlanArrayOutput added in v5.33.0

func (i ReplicationRecoveryPlanArray) ToReplicationRecoveryPlanArrayOutput() ReplicationRecoveryPlanArrayOutput

func (ReplicationRecoveryPlanArray) ToReplicationRecoveryPlanArrayOutputWithContext added in v5.33.0

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

type ReplicationRecoveryPlanArrayInput added in v5.33.0

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 added in v5.33.0

type ReplicationRecoveryPlanArrayOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanArrayOutput) ElementType added in v5.33.0

func (ReplicationRecoveryPlanArrayOutput) Index added in v5.33.0

func (ReplicationRecoveryPlanArrayOutput) ToReplicationRecoveryPlanArrayOutput added in v5.33.0

func (o ReplicationRecoveryPlanArrayOutput) ToReplicationRecoveryPlanArrayOutput() ReplicationRecoveryPlanArrayOutput

func (ReplicationRecoveryPlanArrayOutput) ToReplicationRecoveryPlanArrayOutputWithContext added in v5.33.0

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

type ReplicationRecoveryPlanAzureToAzureSettings added in v5.44.0

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 added in v5.44.0

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 added in v5.44.0

func (ReplicationRecoveryPlanAzureToAzureSettingsArgs) ToReplicationRecoveryPlanAzureToAzureSettingsOutput added in v5.44.0

func (i ReplicationRecoveryPlanAzureToAzureSettingsArgs) ToReplicationRecoveryPlanAzureToAzureSettingsOutput() ReplicationRecoveryPlanAzureToAzureSettingsOutput

func (ReplicationRecoveryPlanAzureToAzureSettingsArgs) ToReplicationRecoveryPlanAzureToAzureSettingsOutputWithContext added in v5.44.0

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

func (ReplicationRecoveryPlanAzureToAzureSettingsArgs) ToReplicationRecoveryPlanAzureToAzureSettingsPtrOutput added in v5.44.0

func (i ReplicationRecoveryPlanAzureToAzureSettingsArgs) ToReplicationRecoveryPlanAzureToAzureSettingsPtrOutput() ReplicationRecoveryPlanAzureToAzureSettingsPtrOutput

func (ReplicationRecoveryPlanAzureToAzureSettingsArgs) ToReplicationRecoveryPlanAzureToAzureSettingsPtrOutputWithContext added in v5.44.0

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

type ReplicationRecoveryPlanAzureToAzureSettingsInput added in v5.44.0

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 added in v5.44.0

type ReplicationRecoveryPlanAzureToAzureSettingsOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanAzureToAzureSettingsOutput) ElementType added in v5.44.0

func (ReplicationRecoveryPlanAzureToAzureSettingsOutput) PrimaryEdgeZone added in v5.44.0

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 added in v5.44.0

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 added in v5.44.0

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 added in v5.44.0

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 added in v5.44.0

func (o ReplicationRecoveryPlanAzureToAzureSettingsOutput) ToReplicationRecoveryPlanAzureToAzureSettingsOutput() ReplicationRecoveryPlanAzureToAzureSettingsOutput

func (ReplicationRecoveryPlanAzureToAzureSettingsOutput) ToReplicationRecoveryPlanAzureToAzureSettingsOutputWithContext added in v5.44.0

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

func (ReplicationRecoveryPlanAzureToAzureSettingsOutput) ToReplicationRecoveryPlanAzureToAzureSettingsPtrOutput added in v5.44.0

func (o ReplicationRecoveryPlanAzureToAzureSettingsOutput) ToReplicationRecoveryPlanAzureToAzureSettingsPtrOutput() ReplicationRecoveryPlanAzureToAzureSettingsPtrOutput

func (ReplicationRecoveryPlanAzureToAzureSettingsOutput) ToReplicationRecoveryPlanAzureToAzureSettingsPtrOutputWithContext added in v5.44.0

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

type ReplicationRecoveryPlanAzureToAzureSettingsPtrInput added in v5.44.0

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 added in v5.44.0

type ReplicationRecoveryPlanAzureToAzureSettingsPtrOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanAzureToAzureSettingsPtrOutput) Elem added in v5.44.0

func (ReplicationRecoveryPlanAzureToAzureSettingsPtrOutput) ElementType added in v5.44.0

func (ReplicationRecoveryPlanAzureToAzureSettingsPtrOutput) PrimaryEdgeZone added in v5.44.0

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 added in v5.44.0

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 added in v5.44.0

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 added in v5.44.0

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 added in v5.44.0

func (ReplicationRecoveryPlanAzureToAzureSettingsPtrOutput) ToReplicationRecoveryPlanAzureToAzureSettingsPtrOutputWithContext added in v5.44.0

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

type ReplicationRecoveryPlanBootRecoveryGroup added in v5.46.0

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 added in v5.46.0

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 added in v5.46.0

func (ReplicationRecoveryPlanBootRecoveryGroupArgs) ToReplicationRecoveryPlanBootRecoveryGroupOutput added in v5.46.0

func (i ReplicationRecoveryPlanBootRecoveryGroupArgs) ToReplicationRecoveryPlanBootRecoveryGroupOutput() ReplicationRecoveryPlanBootRecoveryGroupOutput

func (ReplicationRecoveryPlanBootRecoveryGroupArgs) ToReplicationRecoveryPlanBootRecoveryGroupOutputWithContext added in v5.46.0

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

type ReplicationRecoveryPlanBootRecoveryGroupArray added in v5.46.0

type ReplicationRecoveryPlanBootRecoveryGroupArray []ReplicationRecoveryPlanBootRecoveryGroupInput

func (ReplicationRecoveryPlanBootRecoveryGroupArray) ElementType added in v5.46.0

func (ReplicationRecoveryPlanBootRecoveryGroupArray) ToReplicationRecoveryPlanBootRecoveryGroupArrayOutput added in v5.46.0

func (i ReplicationRecoveryPlanBootRecoveryGroupArray) ToReplicationRecoveryPlanBootRecoveryGroupArrayOutput() ReplicationRecoveryPlanBootRecoveryGroupArrayOutput

func (ReplicationRecoveryPlanBootRecoveryGroupArray) ToReplicationRecoveryPlanBootRecoveryGroupArrayOutputWithContext added in v5.46.0

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

type ReplicationRecoveryPlanBootRecoveryGroupArrayInput added in v5.46.0

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 added in v5.46.0

type ReplicationRecoveryPlanBootRecoveryGroupArrayOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanBootRecoveryGroupArrayOutput) ElementType added in v5.46.0

func (ReplicationRecoveryPlanBootRecoveryGroupArrayOutput) Index added in v5.46.0

func (ReplicationRecoveryPlanBootRecoveryGroupArrayOutput) ToReplicationRecoveryPlanBootRecoveryGroupArrayOutput added in v5.46.0

func (o ReplicationRecoveryPlanBootRecoveryGroupArrayOutput) ToReplicationRecoveryPlanBootRecoveryGroupArrayOutput() ReplicationRecoveryPlanBootRecoveryGroupArrayOutput

func (ReplicationRecoveryPlanBootRecoveryGroupArrayOutput) ToReplicationRecoveryPlanBootRecoveryGroupArrayOutputWithContext added in v5.46.0

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

type ReplicationRecoveryPlanBootRecoveryGroupInput added in v5.46.0

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 added in v5.46.0

type ReplicationRecoveryPlanBootRecoveryGroupOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanBootRecoveryGroupOutput) ElementType added in v5.46.0

func (ReplicationRecoveryPlanBootRecoveryGroupOutput) PostActions added in v5.46.0

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

func (ReplicationRecoveryPlanBootRecoveryGroupOutput) PreActions added in v5.46.0

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

func (ReplicationRecoveryPlanBootRecoveryGroupOutput) ReplicatedProtectedItems added in v5.46.0

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

func (ReplicationRecoveryPlanBootRecoveryGroupOutput) ToReplicationRecoveryPlanBootRecoveryGroupOutput added in v5.46.0

func (o ReplicationRecoveryPlanBootRecoveryGroupOutput) ToReplicationRecoveryPlanBootRecoveryGroupOutput() ReplicationRecoveryPlanBootRecoveryGroupOutput

func (ReplicationRecoveryPlanBootRecoveryGroupOutput) ToReplicationRecoveryPlanBootRecoveryGroupOutputWithContext added in v5.46.0

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

type ReplicationRecoveryPlanBootRecoveryGroupPostAction added in v5.46.0

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 added in v5.46.0

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 added in v5.46.0

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionArgs) ToReplicationRecoveryPlanBootRecoveryGroupPostActionOutput added in v5.46.0

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionArgs) ToReplicationRecoveryPlanBootRecoveryGroupPostActionOutputWithContext added in v5.46.0

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

type ReplicationRecoveryPlanBootRecoveryGroupPostActionArray added in v5.46.0

type ReplicationRecoveryPlanBootRecoveryGroupPostActionArray []ReplicationRecoveryPlanBootRecoveryGroupPostActionInput

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionArray) ElementType added in v5.46.0

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionArray) ToReplicationRecoveryPlanBootRecoveryGroupPostActionArrayOutput added in v5.46.0

func (i ReplicationRecoveryPlanBootRecoveryGroupPostActionArray) ToReplicationRecoveryPlanBootRecoveryGroupPostActionArrayOutput() ReplicationRecoveryPlanBootRecoveryGroupPostActionArrayOutput

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionArray) ToReplicationRecoveryPlanBootRecoveryGroupPostActionArrayOutputWithContext added in v5.46.0

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

type ReplicationRecoveryPlanBootRecoveryGroupPostActionArrayInput added in v5.46.0

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 added in v5.46.0

type ReplicationRecoveryPlanBootRecoveryGroupPostActionArrayOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionArrayOutput) ElementType added in v5.46.0

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionArrayOutput) Index added in v5.46.0

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionArrayOutput) ToReplicationRecoveryPlanBootRecoveryGroupPostActionArrayOutput added in v5.46.0

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionArrayOutput) ToReplicationRecoveryPlanBootRecoveryGroupPostActionArrayOutputWithContext added in v5.46.0

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

type ReplicationRecoveryPlanBootRecoveryGroupPostActionInput added in v5.46.0

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 added in v5.46.0

type ReplicationRecoveryPlanBootRecoveryGroupPostActionOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionOutput) ElementType added in v5.46.0

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionOutput) FabricLocation added in v5.46.0

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 added in v5.46.0

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

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionOutput) FailOverTypes added in v5.46.0

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

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionOutput) ManualActionInstruction added in v5.46.0

Instructions of manual action.

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

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionOutput) Name added in v5.46.0

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 added in v5.46.0

Id of runbook.

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

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionOutput) ScriptPath added in v5.46.0

Path of action script.

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

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionOutput) ToReplicationRecoveryPlanBootRecoveryGroupPostActionOutput added in v5.46.0

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionOutput) ToReplicationRecoveryPlanBootRecoveryGroupPostActionOutputWithContext added in v5.46.0

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

func (ReplicationRecoveryPlanBootRecoveryGroupPostActionOutput) Type added in v5.46.0

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

type ReplicationRecoveryPlanBootRecoveryGroupPreAction added in v5.46.0

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 added in v5.46.0

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 added in v5.46.0

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionArgs) ToReplicationRecoveryPlanBootRecoveryGroupPreActionOutput added in v5.46.0

func (i ReplicationRecoveryPlanBootRecoveryGroupPreActionArgs) ToReplicationRecoveryPlanBootRecoveryGroupPreActionOutput() ReplicationRecoveryPlanBootRecoveryGroupPreActionOutput

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionArgs) ToReplicationRecoveryPlanBootRecoveryGroupPreActionOutputWithContext added in v5.46.0

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

type ReplicationRecoveryPlanBootRecoveryGroupPreActionArray added in v5.46.0

type ReplicationRecoveryPlanBootRecoveryGroupPreActionArray []ReplicationRecoveryPlanBootRecoveryGroupPreActionInput

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionArray) ElementType added in v5.46.0

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionArray) ToReplicationRecoveryPlanBootRecoveryGroupPreActionArrayOutput added in v5.46.0

func (i ReplicationRecoveryPlanBootRecoveryGroupPreActionArray) ToReplicationRecoveryPlanBootRecoveryGroupPreActionArrayOutput() ReplicationRecoveryPlanBootRecoveryGroupPreActionArrayOutput

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionArray) ToReplicationRecoveryPlanBootRecoveryGroupPreActionArrayOutputWithContext added in v5.46.0

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

type ReplicationRecoveryPlanBootRecoveryGroupPreActionArrayInput added in v5.46.0

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 added in v5.46.0

type ReplicationRecoveryPlanBootRecoveryGroupPreActionArrayOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionArrayOutput) ElementType added in v5.46.0

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionArrayOutput) Index added in v5.46.0

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionArrayOutput) ToReplicationRecoveryPlanBootRecoveryGroupPreActionArrayOutput added in v5.46.0

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionArrayOutput) ToReplicationRecoveryPlanBootRecoveryGroupPreActionArrayOutputWithContext added in v5.46.0

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

type ReplicationRecoveryPlanBootRecoveryGroupPreActionInput added in v5.46.0

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 added in v5.46.0

type ReplicationRecoveryPlanBootRecoveryGroupPreActionOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionOutput) ElementType added in v5.46.0

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionOutput) FabricLocation added in v5.46.0

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 added in v5.46.0

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

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionOutput) FailOverTypes added in v5.46.0

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

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionOutput) ManualActionInstruction added in v5.46.0

Instructions of manual action.

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

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionOutput) Name added in v5.46.0

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 added in v5.46.0

Id of runbook.

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

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionOutput) ScriptPath added in v5.46.0

Path of action script.

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

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionOutput) ToReplicationRecoveryPlanBootRecoveryGroupPreActionOutput added in v5.46.0

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionOutput) ToReplicationRecoveryPlanBootRecoveryGroupPreActionOutputWithContext added in v5.46.0

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

func (ReplicationRecoveryPlanBootRecoveryGroupPreActionOutput) Type added in v5.46.0

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

type ReplicationRecoveryPlanFailoverRecoveryGroup added in v5.46.0

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 added in v5.46.0

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 added in v5.46.0

func (ReplicationRecoveryPlanFailoverRecoveryGroupArgs) ToReplicationRecoveryPlanFailoverRecoveryGroupOutput added in v5.46.0

func (i ReplicationRecoveryPlanFailoverRecoveryGroupArgs) ToReplicationRecoveryPlanFailoverRecoveryGroupOutput() ReplicationRecoveryPlanFailoverRecoveryGroupOutput

func (ReplicationRecoveryPlanFailoverRecoveryGroupArgs) ToReplicationRecoveryPlanFailoverRecoveryGroupOutputWithContext added in v5.46.0

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

func (ReplicationRecoveryPlanFailoverRecoveryGroupArgs) ToReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput added in v5.46.0

func (i ReplicationRecoveryPlanFailoverRecoveryGroupArgs) ToReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput() ReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput

func (ReplicationRecoveryPlanFailoverRecoveryGroupArgs) ToReplicationRecoveryPlanFailoverRecoveryGroupPtrOutputWithContext added in v5.46.0

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

type ReplicationRecoveryPlanFailoverRecoveryGroupInput added in v5.46.0

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 added in v5.46.0

type ReplicationRecoveryPlanFailoverRecoveryGroupOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanFailoverRecoveryGroupOutput) ElementType added in v5.46.0

func (ReplicationRecoveryPlanFailoverRecoveryGroupOutput) PostActions added in v5.46.0

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

func (ReplicationRecoveryPlanFailoverRecoveryGroupOutput) PreActions added in v5.46.0

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

func (ReplicationRecoveryPlanFailoverRecoveryGroupOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupOutput added in v5.46.0

func (o ReplicationRecoveryPlanFailoverRecoveryGroupOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupOutput() ReplicationRecoveryPlanFailoverRecoveryGroupOutput

func (ReplicationRecoveryPlanFailoverRecoveryGroupOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupOutputWithContext added in v5.46.0

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

func (ReplicationRecoveryPlanFailoverRecoveryGroupOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput added in v5.46.0

func (o ReplicationRecoveryPlanFailoverRecoveryGroupOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput() ReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput

func (ReplicationRecoveryPlanFailoverRecoveryGroupOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupPtrOutputWithContext added in v5.46.0

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

type ReplicationRecoveryPlanFailoverRecoveryGroupPostAction added in v5.46.0

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 added in v5.46.0

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 added in v5.46.0

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArgs) ToReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutput added in v5.46.0

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArgs) ToReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutputWithContext added in v5.46.0

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

type ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArray added in v5.46.0

type ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArray []ReplicationRecoveryPlanFailoverRecoveryGroupPostActionInput

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArray) ElementType added in v5.46.0

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArray) ToReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayOutput added in v5.46.0

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArray) ToReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayOutputWithContext added in v5.46.0

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

type ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayInput added in v5.46.0

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 added in v5.46.0

type ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayOutput) ElementType added in v5.46.0

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayOutput) Index added in v5.46.0

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayOutput added in v5.46.0

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupPostActionArrayOutputWithContext added in v5.46.0

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

type ReplicationRecoveryPlanFailoverRecoveryGroupPostActionInput added in v5.46.0

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 added in v5.46.0

type ReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutput) ElementType added in v5.46.0

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutput) FabricLocation added in v5.46.0

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 added in v5.46.0

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

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutput) FailOverTypes added in v5.46.0

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

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutput) ManualActionInstruction added in v5.46.0

Instructions of manual action.

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

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutput) Name added in v5.46.0

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 added in v5.46.0

Id of runbook.

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

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutput) ScriptPath added in v5.46.0

Path of action script.

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

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutput added in v5.46.0

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutputWithContext added in v5.46.0

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

func (ReplicationRecoveryPlanFailoverRecoveryGroupPostActionOutput) Type added in v5.46.0

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

type ReplicationRecoveryPlanFailoverRecoveryGroupPreAction added in v5.46.0

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 added in v5.46.0

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 added in v5.46.0

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArgs) ToReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutput added in v5.46.0

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArgs) ToReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutputWithContext added in v5.46.0

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

type ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArray added in v5.46.0

type ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArray []ReplicationRecoveryPlanFailoverRecoveryGroupPreActionInput

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArray) ElementType added in v5.46.0

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArray) ToReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayOutput added in v5.46.0

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArray) ToReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayOutputWithContext added in v5.46.0

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

type ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayInput added in v5.46.0

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 added in v5.46.0

type ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayOutput) ElementType added in v5.46.0

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayOutput) Index added in v5.46.0

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayOutput added in v5.46.0

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupPreActionArrayOutputWithContext added in v5.46.0

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

type ReplicationRecoveryPlanFailoverRecoveryGroupPreActionInput added in v5.46.0

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 added in v5.46.0

type ReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutput) ElementType added in v5.46.0

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutput) FabricLocation added in v5.46.0

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 added in v5.46.0

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

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutput) FailOverTypes added in v5.46.0

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

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutput) ManualActionInstruction added in v5.46.0

Instructions of manual action.

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

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutput) Name added in v5.46.0

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 added in v5.46.0

Id of runbook.

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

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutput) ScriptPath added in v5.46.0

Path of action script.

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

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutput added in v5.46.0

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutputWithContext added in v5.46.0

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

func (ReplicationRecoveryPlanFailoverRecoveryGroupPreActionOutput) Type added in v5.46.0

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

type ReplicationRecoveryPlanFailoverRecoveryGroupPtrInput added in v5.46.0

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 added in v5.46.0

type ReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput) Elem added in v5.46.0

func (ReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput) ElementType added in v5.46.0

func (ReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput) PostActions added in v5.46.0

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

func (ReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput) PreActions added in v5.46.0

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

func (ReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput added in v5.46.0

func (ReplicationRecoveryPlanFailoverRecoveryGroupPtrOutput) ToReplicationRecoveryPlanFailoverRecoveryGroupPtrOutputWithContext added in v5.46.0

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

type ReplicationRecoveryPlanInput added in v5.33.0

type ReplicationRecoveryPlanInput interface {
	pulumi.Input

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

type ReplicationRecoveryPlanMap added in v5.33.0

type ReplicationRecoveryPlanMap map[string]ReplicationRecoveryPlanInput

func (ReplicationRecoveryPlanMap) ElementType added in v5.33.0

func (ReplicationRecoveryPlanMap) ElementType() reflect.Type

func (ReplicationRecoveryPlanMap) ToReplicationRecoveryPlanMapOutput added in v5.33.0

func (i ReplicationRecoveryPlanMap) ToReplicationRecoveryPlanMapOutput() ReplicationRecoveryPlanMapOutput

func (ReplicationRecoveryPlanMap) ToReplicationRecoveryPlanMapOutputWithContext added in v5.33.0

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

type ReplicationRecoveryPlanMapInput added in v5.33.0

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 added in v5.33.0

type ReplicationRecoveryPlanMapOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanMapOutput) ElementType added in v5.33.0

func (ReplicationRecoveryPlanMapOutput) MapIndex added in v5.33.0

func (ReplicationRecoveryPlanMapOutput) ToReplicationRecoveryPlanMapOutput added in v5.33.0

func (o ReplicationRecoveryPlanMapOutput) ToReplicationRecoveryPlanMapOutput() ReplicationRecoveryPlanMapOutput

func (ReplicationRecoveryPlanMapOutput) ToReplicationRecoveryPlanMapOutputWithContext added in v5.33.0

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

type ReplicationRecoveryPlanOutput added in v5.33.0

type ReplicationRecoveryPlanOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanOutput) AzureToAzureSettings added in v5.44.0

An `azureToAzureSettings` block as defined below.

func (ReplicationRecoveryPlanOutput) BootRecoveryGroups added in v5.46.0

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 added in v5.33.0

func (ReplicationRecoveryPlanOutput) FailoverRecoveryGroup added in v5.46.0

One `failoverRecoveryGroup` block as defined below.

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

func (ReplicationRecoveryPlanOutput) Name added in v5.33.0

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) RecoveryGroups deprecated added in v5.33.0

Three or more `recoveryGroup` block defined as below.

> **Note:** The `recoveryGroup` block is deprecated in favor of `shutdownRecoveryGroup`, `failoverRecoveryGroup` and `bootRecoveryGroup`. It will be removed in v4.0 of the Azure Provider.

Deprecated: the `recovery_group` block has been deprecated in favour of the `shutdown_recovery_group`, `failover_recovery_group` and `boot_recovery_group` and will be removed in version 4.0 of the provider.

func (ReplicationRecoveryPlanOutput) RecoveryVaultId added in v5.33.0

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

func (ReplicationRecoveryPlanOutput) ShutdownRecoveryGroup added in v5.46.0

One `shutdownRecoveryGroup` block as defined below.

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

func (ReplicationRecoveryPlanOutput) SourceRecoveryFabricId added in v5.33.0

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 added in v5.33.0

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 added in v5.33.0

func (o ReplicationRecoveryPlanOutput) ToReplicationRecoveryPlanOutput() ReplicationRecoveryPlanOutput

func (ReplicationRecoveryPlanOutput) ToReplicationRecoveryPlanOutputWithContext added in v5.33.0

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

type ReplicationRecoveryPlanRecoveryGroup added in v5.33.0

type ReplicationRecoveryPlanRecoveryGroup struct {
	// one or more `action` block as defined below. which will be executed after the group recovery.
	PostActions []ReplicationRecoveryPlanRecoveryGroupPostAction `pulumi:"postActions"`
	// one or more `action` block as defined below. which will be executed before the group recovery.
	PreActions []ReplicationRecoveryPlanRecoveryGroupPreAction `pulumi:"preActions"`
	// One or more protected VM IDs. It must not be specified when `type` is `Shutdown`.
	ReplicatedProtectedItems []string `pulumi:"replicatedProtectedItems"`
	// The Recovery Plan Group Type. Possible values are `Boot`, `Failover` and `Shutdown`.
	Type string `pulumi:"type"`
}

type ReplicationRecoveryPlanRecoveryGroupArgs added in v5.33.0

type ReplicationRecoveryPlanRecoveryGroupArgs struct {
	// one or more `action` block as defined below. which will be executed after the group recovery.
	PostActions ReplicationRecoveryPlanRecoveryGroupPostActionArrayInput `pulumi:"postActions"`
	// one or more `action` block as defined below. which will be executed before the group recovery.
	PreActions ReplicationRecoveryPlanRecoveryGroupPreActionArrayInput `pulumi:"preActions"`
	// One or more protected VM IDs. It must not be specified when `type` is `Shutdown`.
	ReplicatedProtectedItems pulumi.StringArrayInput `pulumi:"replicatedProtectedItems"`
	// The Recovery Plan Group Type. Possible values are `Boot`, `Failover` and `Shutdown`.
	Type pulumi.StringInput `pulumi:"type"`
}

func (ReplicationRecoveryPlanRecoveryGroupArgs) ElementType added in v5.33.0

func (ReplicationRecoveryPlanRecoveryGroupArgs) ToReplicationRecoveryPlanRecoveryGroupOutput added in v5.33.0

func (i ReplicationRecoveryPlanRecoveryGroupArgs) ToReplicationRecoveryPlanRecoveryGroupOutput() ReplicationRecoveryPlanRecoveryGroupOutput

func (ReplicationRecoveryPlanRecoveryGroupArgs) ToReplicationRecoveryPlanRecoveryGroupOutputWithContext added in v5.33.0

func (i ReplicationRecoveryPlanRecoveryGroupArgs) ToReplicationRecoveryPlanRecoveryGroupOutputWithContext(ctx context.Context) ReplicationRecoveryPlanRecoveryGroupOutput

type ReplicationRecoveryPlanRecoveryGroupArray added in v5.33.0

type ReplicationRecoveryPlanRecoveryGroupArray []ReplicationRecoveryPlanRecoveryGroupInput

func (ReplicationRecoveryPlanRecoveryGroupArray) ElementType added in v5.33.0

func (ReplicationRecoveryPlanRecoveryGroupArray) ToReplicationRecoveryPlanRecoveryGroupArrayOutput added in v5.33.0

func (i ReplicationRecoveryPlanRecoveryGroupArray) ToReplicationRecoveryPlanRecoveryGroupArrayOutput() ReplicationRecoveryPlanRecoveryGroupArrayOutput

func (ReplicationRecoveryPlanRecoveryGroupArray) ToReplicationRecoveryPlanRecoveryGroupArrayOutputWithContext added in v5.33.0

func (i ReplicationRecoveryPlanRecoveryGroupArray) ToReplicationRecoveryPlanRecoveryGroupArrayOutputWithContext(ctx context.Context) ReplicationRecoveryPlanRecoveryGroupArrayOutput

type ReplicationRecoveryPlanRecoveryGroupArrayInput added in v5.33.0

type ReplicationRecoveryPlanRecoveryGroupArrayInput interface {
	pulumi.Input

	ToReplicationRecoveryPlanRecoveryGroupArrayOutput() ReplicationRecoveryPlanRecoveryGroupArrayOutput
	ToReplicationRecoveryPlanRecoveryGroupArrayOutputWithContext(context.Context) ReplicationRecoveryPlanRecoveryGroupArrayOutput
}

ReplicationRecoveryPlanRecoveryGroupArrayInput is an input type that accepts ReplicationRecoveryPlanRecoveryGroupArray and ReplicationRecoveryPlanRecoveryGroupArrayOutput values. You can construct a concrete instance of `ReplicationRecoveryPlanRecoveryGroupArrayInput` via:

ReplicationRecoveryPlanRecoveryGroupArray{ ReplicationRecoveryPlanRecoveryGroupArgs{...} }

type ReplicationRecoveryPlanRecoveryGroupArrayOutput added in v5.33.0

type ReplicationRecoveryPlanRecoveryGroupArrayOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanRecoveryGroupArrayOutput) ElementType added in v5.33.0

func (ReplicationRecoveryPlanRecoveryGroupArrayOutput) Index added in v5.33.0

func (ReplicationRecoveryPlanRecoveryGroupArrayOutput) ToReplicationRecoveryPlanRecoveryGroupArrayOutput added in v5.33.0

func (o ReplicationRecoveryPlanRecoveryGroupArrayOutput) ToReplicationRecoveryPlanRecoveryGroupArrayOutput() ReplicationRecoveryPlanRecoveryGroupArrayOutput

func (ReplicationRecoveryPlanRecoveryGroupArrayOutput) ToReplicationRecoveryPlanRecoveryGroupArrayOutputWithContext added in v5.33.0

func (o ReplicationRecoveryPlanRecoveryGroupArrayOutput) ToReplicationRecoveryPlanRecoveryGroupArrayOutputWithContext(ctx context.Context) ReplicationRecoveryPlanRecoveryGroupArrayOutput

type ReplicationRecoveryPlanRecoveryGroupInput added in v5.33.0

type ReplicationRecoveryPlanRecoveryGroupInput interface {
	pulumi.Input

	ToReplicationRecoveryPlanRecoveryGroupOutput() ReplicationRecoveryPlanRecoveryGroupOutput
	ToReplicationRecoveryPlanRecoveryGroupOutputWithContext(context.Context) ReplicationRecoveryPlanRecoveryGroupOutput
}

ReplicationRecoveryPlanRecoveryGroupInput is an input type that accepts ReplicationRecoveryPlanRecoveryGroupArgs and ReplicationRecoveryPlanRecoveryGroupOutput values. You can construct a concrete instance of `ReplicationRecoveryPlanRecoveryGroupInput` via:

ReplicationRecoveryPlanRecoveryGroupArgs{...}

type ReplicationRecoveryPlanRecoveryGroupOutput added in v5.33.0

type ReplicationRecoveryPlanRecoveryGroupOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanRecoveryGroupOutput) ElementType added in v5.33.0

func (ReplicationRecoveryPlanRecoveryGroupOutput) PostActions added in v5.33.0

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

func (ReplicationRecoveryPlanRecoveryGroupOutput) PreActions added in v5.33.0

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

func (ReplicationRecoveryPlanRecoveryGroupOutput) ReplicatedProtectedItems added in v5.33.0

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

func (ReplicationRecoveryPlanRecoveryGroupOutput) ToReplicationRecoveryPlanRecoveryGroupOutput added in v5.33.0

func (o ReplicationRecoveryPlanRecoveryGroupOutput) ToReplicationRecoveryPlanRecoveryGroupOutput() ReplicationRecoveryPlanRecoveryGroupOutput

func (ReplicationRecoveryPlanRecoveryGroupOutput) ToReplicationRecoveryPlanRecoveryGroupOutputWithContext added in v5.33.0

func (o ReplicationRecoveryPlanRecoveryGroupOutput) ToReplicationRecoveryPlanRecoveryGroupOutputWithContext(ctx context.Context) ReplicationRecoveryPlanRecoveryGroupOutput

func (ReplicationRecoveryPlanRecoveryGroupOutput) Type added in v5.33.0

The Recovery Plan Group Type. Possible values are `Boot`, `Failover` and `Shutdown`.

type ReplicationRecoveryPlanRecoveryGroupPostAction added in v5.33.0

type ReplicationRecoveryPlanRecoveryGroupPostAction 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 ReplicationRecoveryPlanRecoveryGroupPostActionArgs added in v5.33.0

type ReplicationRecoveryPlanRecoveryGroupPostActionArgs 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 (ReplicationRecoveryPlanRecoveryGroupPostActionArgs) ElementType added in v5.33.0

func (ReplicationRecoveryPlanRecoveryGroupPostActionArgs) ToReplicationRecoveryPlanRecoveryGroupPostActionOutput added in v5.33.0

func (i ReplicationRecoveryPlanRecoveryGroupPostActionArgs) ToReplicationRecoveryPlanRecoveryGroupPostActionOutput() ReplicationRecoveryPlanRecoveryGroupPostActionOutput

func (ReplicationRecoveryPlanRecoveryGroupPostActionArgs) ToReplicationRecoveryPlanRecoveryGroupPostActionOutputWithContext added in v5.33.0

func (i ReplicationRecoveryPlanRecoveryGroupPostActionArgs) ToReplicationRecoveryPlanRecoveryGroupPostActionOutputWithContext(ctx context.Context) ReplicationRecoveryPlanRecoveryGroupPostActionOutput

type ReplicationRecoveryPlanRecoveryGroupPostActionArray added in v5.33.0

type ReplicationRecoveryPlanRecoveryGroupPostActionArray []ReplicationRecoveryPlanRecoveryGroupPostActionInput

func (ReplicationRecoveryPlanRecoveryGroupPostActionArray) ElementType added in v5.33.0

func (ReplicationRecoveryPlanRecoveryGroupPostActionArray) ToReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput added in v5.33.0

func (i ReplicationRecoveryPlanRecoveryGroupPostActionArray) ToReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput() ReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput

func (ReplicationRecoveryPlanRecoveryGroupPostActionArray) ToReplicationRecoveryPlanRecoveryGroupPostActionArrayOutputWithContext added in v5.33.0

func (i ReplicationRecoveryPlanRecoveryGroupPostActionArray) ToReplicationRecoveryPlanRecoveryGroupPostActionArrayOutputWithContext(ctx context.Context) ReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput

type ReplicationRecoveryPlanRecoveryGroupPostActionArrayInput added in v5.33.0

type ReplicationRecoveryPlanRecoveryGroupPostActionArrayInput interface {
	pulumi.Input

	ToReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput() ReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput
	ToReplicationRecoveryPlanRecoveryGroupPostActionArrayOutputWithContext(context.Context) ReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput
}

ReplicationRecoveryPlanRecoveryGroupPostActionArrayInput is an input type that accepts ReplicationRecoveryPlanRecoveryGroupPostActionArray and ReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput values. You can construct a concrete instance of `ReplicationRecoveryPlanRecoveryGroupPostActionArrayInput` via:

ReplicationRecoveryPlanRecoveryGroupPostActionArray{ ReplicationRecoveryPlanRecoveryGroupPostActionArgs{...} }

type ReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput added in v5.33.0

type ReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput) ElementType added in v5.33.0

func (ReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput) Index added in v5.33.0

func (ReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput) ToReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput added in v5.33.0

func (ReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput) ToReplicationRecoveryPlanRecoveryGroupPostActionArrayOutputWithContext added in v5.33.0

func (o ReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput) ToReplicationRecoveryPlanRecoveryGroupPostActionArrayOutputWithContext(ctx context.Context) ReplicationRecoveryPlanRecoveryGroupPostActionArrayOutput

type ReplicationRecoveryPlanRecoveryGroupPostActionInput added in v5.33.0

type ReplicationRecoveryPlanRecoveryGroupPostActionInput interface {
	pulumi.Input

	ToReplicationRecoveryPlanRecoveryGroupPostActionOutput() ReplicationRecoveryPlanRecoveryGroupPostActionOutput
	ToReplicationRecoveryPlanRecoveryGroupPostActionOutputWithContext(context.Context) ReplicationRecoveryPlanRecoveryGroupPostActionOutput
}

ReplicationRecoveryPlanRecoveryGroupPostActionInput is an input type that accepts ReplicationRecoveryPlanRecoveryGroupPostActionArgs and ReplicationRecoveryPlanRecoveryGroupPostActionOutput values. You can construct a concrete instance of `ReplicationRecoveryPlanRecoveryGroupPostActionInput` via:

ReplicationRecoveryPlanRecoveryGroupPostActionArgs{...}

type ReplicationRecoveryPlanRecoveryGroupPostActionOutput added in v5.33.0

type ReplicationRecoveryPlanRecoveryGroupPostActionOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanRecoveryGroupPostActionOutput) ElementType added in v5.33.0

func (ReplicationRecoveryPlanRecoveryGroupPostActionOutput) FabricLocation added in v5.33.0

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 (ReplicationRecoveryPlanRecoveryGroupPostActionOutput) FailOverDirections added in v5.33.0

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

func (ReplicationRecoveryPlanRecoveryGroupPostActionOutput) FailOverTypes added in v5.33.0

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

func (ReplicationRecoveryPlanRecoveryGroupPostActionOutput) ManualActionInstruction added in v5.33.0

Instructions of manual action.

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

func (ReplicationRecoveryPlanRecoveryGroupPostActionOutput) Name added in v5.33.0

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 (ReplicationRecoveryPlanRecoveryGroupPostActionOutput) RunbookId added in v5.33.0

Id of runbook.

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

func (ReplicationRecoveryPlanRecoveryGroupPostActionOutput) ScriptPath added in v5.33.0

Path of action script.

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

func (ReplicationRecoveryPlanRecoveryGroupPostActionOutput) ToReplicationRecoveryPlanRecoveryGroupPostActionOutput added in v5.33.0

func (ReplicationRecoveryPlanRecoveryGroupPostActionOutput) ToReplicationRecoveryPlanRecoveryGroupPostActionOutputWithContext added in v5.33.0

func (o ReplicationRecoveryPlanRecoveryGroupPostActionOutput) ToReplicationRecoveryPlanRecoveryGroupPostActionOutputWithContext(ctx context.Context) ReplicationRecoveryPlanRecoveryGroupPostActionOutput

func (ReplicationRecoveryPlanRecoveryGroupPostActionOutput) Type added in v5.33.0

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

type ReplicationRecoveryPlanRecoveryGroupPreAction added in v5.33.0

type ReplicationRecoveryPlanRecoveryGroupPreAction 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 ReplicationRecoveryPlanRecoveryGroupPreActionArgs added in v5.33.0

type ReplicationRecoveryPlanRecoveryGroupPreActionArgs 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 (ReplicationRecoveryPlanRecoveryGroupPreActionArgs) ElementType added in v5.33.0

func (ReplicationRecoveryPlanRecoveryGroupPreActionArgs) ToReplicationRecoveryPlanRecoveryGroupPreActionOutput added in v5.33.0

func (i ReplicationRecoveryPlanRecoveryGroupPreActionArgs) ToReplicationRecoveryPlanRecoveryGroupPreActionOutput() ReplicationRecoveryPlanRecoveryGroupPreActionOutput

func (ReplicationRecoveryPlanRecoveryGroupPreActionArgs) ToReplicationRecoveryPlanRecoveryGroupPreActionOutputWithContext added in v5.33.0

func (i ReplicationRecoveryPlanRecoveryGroupPreActionArgs) ToReplicationRecoveryPlanRecoveryGroupPreActionOutputWithContext(ctx context.Context) ReplicationRecoveryPlanRecoveryGroupPreActionOutput

type ReplicationRecoveryPlanRecoveryGroupPreActionArray added in v5.33.0

type ReplicationRecoveryPlanRecoveryGroupPreActionArray []ReplicationRecoveryPlanRecoveryGroupPreActionInput

func (ReplicationRecoveryPlanRecoveryGroupPreActionArray) ElementType added in v5.33.0

func (ReplicationRecoveryPlanRecoveryGroupPreActionArray) ToReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput added in v5.33.0

func (i ReplicationRecoveryPlanRecoveryGroupPreActionArray) ToReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput() ReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput

func (ReplicationRecoveryPlanRecoveryGroupPreActionArray) ToReplicationRecoveryPlanRecoveryGroupPreActionArrayOutputWithContext added in v5.33.0

func (i ReplicationRecoveryPlanRecoveryGroupPreActionArray) ToReplicationRecoveryPlanRecoveryGroupPreActionArrayOutputWithContext(ctx context.Context) ReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput

type ReplicationRecoveryPlanRecoveryGroupPreActionArrayInput added in v5.33.0

type ReplicationRecoveryPlanRecoveryGroupPreActionArrayInput interface {
	pulumi.Input

	ToReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput() ReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput
	ToReplicationRecoveryPlanRecoveryGroupPreActionArrayOutputWithContext(context.Context) ReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput
}

ReplicationRecoveryPlanRecoveryGroupPreActionArrayInput is an input type that accepts ReplicationRecoveryPlanRecoveryGroupPreActionArray and ReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput values. You can construct a concrete instance of `ReplicationRecoveryPlanRecoveryGroupPreActionArrayInput` via:

ReplicationRecoveryPlanRecoveryGroupPreActionArray{ ReplicationRecoveryPlanRecoveryGroupPreActionArgs{...} }

type ReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput added in v5.33.0

type ReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput) ElementType added in v5.33.0

func (ReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput) Index added in v5.33.0

func (ReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput) ToReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput added in v5.33.0

func (ReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput) ToReplicationRecoveryPlanRecoveryGroupPreActionArrayOutputWithContext added in v5.33.0

func (o ReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput) ToReplicationRecoveryPlanRecoveryGroupPreActionArrayOutputWithContext(ctx context.Context) ReplicationRecoveryPlanRecoveryGroupPreActionArrayOutput

type ReplicationRecoveryPlanRecoveryGroupPreActionInput added in v5.33.0

type ReplicationRecoveryPlanRecoveryGroupPreActionInput interface {
	pulumi.Input

	ToReplicationRecoveryPlanRecoveryGroupPreActionOutput() ReplicationRecoveryPlanRecoveryGroupPreActionOutput
	ToReplicationRecoveryPlanRecoveryGroupPreActionOutputWithContext(context.Context) ReplicationRecoveryPlanRecoveryGroupPreActionOutput
}

ReplicationRecoveryPlanRecoveryGroupPreActionInput is an input type that accepts ReplicationRecoveryPlanRecoveryGroupPreActionArgs and ReplicationRecoveryPlanRecoveryGroupPreActionOutput values. You can construct a concrete instance of `ReplicationRecoveryPlanRecoveryGroupPreActionInput` via:

ReplicationRecoveryPlanRecoveryGroupPreActionArgs{...}

type ReplicationRecoveryPlanRecoveryGroupPreActionOutput added in v5.33.0

type ReplicationRecoveryPlanRecoveryGroupPreActionOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanRecoveryGroupPreActionOutput) ElementType added in v5.33.0

func (ReplicationRecoveryPlanRecoveryGroupPreActionOutput) FabricLocation added in v5.33.0

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 (ReplicationRecoveryPlanRecoveryGroupPreActionOutput) FailOverDirections added in v5.33.0

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

func (ReplicationRecoveryPlanRecoveryGroupPreActionOutput) FailOverTypes added in v5.33.0

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

func (ReplicationRecoveryPlanRecoveryGroupPreActionOutput) ManualActionInstruction added in v5.33.0

Instructions of manual action.

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

func (ReplicationRecoveryPlanRecoveryGroupPreActionOutput) Name added in v5.33.0

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 (ReplicationRecoveryPlanRecoveryGroupPreActionOutput) RunbookId added in v5.33.0

Id of runbook.

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

func (ReplicationRecoveryPlanRecoveryGroupPreActionOutput) ScriptPath added in v5.33.0

Path of action script.

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

func (ReplicationRecoveryPlanRecoveryGroupPreActionOutput) ToReplicationRecoveryPlanRecoveryGroupPreActionOutput added in v5.33.0

func (o ReplicationRecoveryPlanRecoveryGroupPreActionOutput) ToReplicationRecoveryPlanRecoveryGroupPreActionOutput() ReplicationRecoveryPlanRecoveryGroupPreActionOutput

func (ReplicationRecoveryPlanRecoveryGroupPreActionOutput) ToReplicationRecoveryPlanRecoveryGroupPreActionOutputWithContext added in v5.33.0

func (o ReplicationRecoveryPlanRecoveryGroupPreActionOutput) ToReplicationRecoveryPlanRecoveryGroupPreActionOutputWithContext(ctx context.Context) ReplicationRecoveryPlanRecoveryGroupPreActionOutput

func (ReplicationRecoveryPlanRecoveryGroupPreActionOutput) Type added in v5.33.0

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

type ReplicationRecoveryPlanShutdownRecoveryGroup added in v5.46.0

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 added in v5.46.0

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 added in v5.46.0

func (ReplicationRecoveryPlanShutdownRecoveryGroupArgs) ToReplicationRecoveryPlanShutdownRecoveryGroupOutput added in v5.46.0

func (i ReplicationRecoveryPlanShutdownRecoveryGroupArgs) ToReplicationRecoveryPlanShutdownRecoveryGroupOutput() ReplicationRecoveryPlanShutdownRecoveryGroupOutput

func (ReplicationRecoveryPlanShutdownRecoveryGroupArgs) ToReplicationRecoveryPlanShutdownRecoveryGroupOutputWithContext added in v5.46.0

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

func (ReplicationRecoveryPlanShutdownRecoveryGroupArgs) ToReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput added in v5.46.0

func (i ReplicationRecoveryPlanShutdownRecoveryGroupArgs) ToReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput() ReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput

func (ReplicationRecoveryPlanShutdownRecoveryGroupArgs) ToReplicationRecoveryPlanShutdownRecoveryGroupPtrOutputWithContext added in v5.46.0

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

type ReplicationRecoveryPlanShutdownRecoveryGroupInput added in v5.46.0

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 added in v5.46.0

type ReplicationRecoveryPlanShutdownRecoveryGroupOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanShutdownRecoveryGroupOutput) ElementType added in v5.46.0

func (ReplicationRecoveryPlanShutdownRecoveryGroupOutput) PostActions added in v5.46.0

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

func (ReplicationRecoveryPlanShutdownRecoveryGroupOutput) PreActions added in v5.46.0

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

func (ReplicationRecoveryPlanShutdownRecoveryGroupOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupOutput added in v5.46.0

func (o ReplicationRecoveryPlanShutdownRecoveryGroupOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupOutput() ReplicationRecoveryPlanShutdownRecoveryGroupOutput

func (ReplicationRecoveryPlanShutdownRecoveryGroupOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupOutputWithContext added in v5.46.0

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

func (ReplicationRecoveryPlanShutdownRecoveryGroupOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput added in v5.46.0

func (o ReplicationRecoveryPlanShutdownRecoveryGroupOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput() ReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput

func (ReplicationRecoveryPlanShutdownRecoveryGroupOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupPtrOutputWithContext added in v5.46.0

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

type ReplicationRecoveryPlanShutdownRecoveryGroupPostAction added in v5.46.0

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 added in v5.46.0

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 added in v5.46.0

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArgs) ToReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutput added in v5.46.0

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArgs) ToReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutputWithContext added in v5.46.0

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

type ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArray added in v5.46.0

type ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArray []ReplicationRecoveryPlanShutdownRecoveryGroupPostActionInput

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArray) ElementType added in v5.46.0

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArray) ToReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayOutput added in v5.46.0

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArray) ToReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayOutputWithContext added in v5.46.0

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

type ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayInput added in v5.46.0

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 added in v5.46.0

type ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayOutput) ElementType added in v5.46.0

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayOutput) Index added in v5.46.0

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayOutput added in v5.46.0

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupPostActionArrayOutputWithContext added in v5.46.0

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

type ReplicationRecoveryPlanShutdownRecoveryGroupPostActionInput added in v5.46.0

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 added in v5.46.0

type ReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutput) ElementType added in v5.46.0

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutput) FabricLocation added in v5.46.0

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 added in v5.46.0

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

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutput) FailOverTypes added in v5.46.0

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

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutput) ManualActionInstruction added in v5.46.0

Instructions of manual action.

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

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutput) Name added in v5.46.0

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 added in v5.46.0

Id of runbook.

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

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutput) ScriptPath added in v5.46.0

Path of action script.

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

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutput added in v5.46.0

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutputWithContext added in v5.46.0

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

func (ReplicationRecoveryPlanShutdownRecoveryGroupPostActionOutput) Type added in v5.46.0

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

type ReplicationRecoveryPlanShutdownRecoveryGroupPreAction added in v5.46.0

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 added in v5.46.0

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 added in v5.46.0

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArgs) ToReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutput added in v5.46.0

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArgs) ToReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutputWithContext added in v5.46.0

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

type ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArray added in v5.46.0

type ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArray []ReplicationRecoveryPlanShutdownRecoveryGroupPreActionInput

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArray) ElementType added in v5.46.0

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArray) ToReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayOutput added in v5.46.0

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArray) ToReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayOutputWithContext added in v5.46.0

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

type ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayInput added in v5.46.0

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 added in v5.46.0

type ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayOutput) ElementType added in v5.46.0

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayOutput) Index added in v5.46.0

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayOutput added in v5.46.0

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupPreActionArrayOutputWithContext added in v5.46.0

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

type ReplicationRecoveryPlanShutdownRecoveryGroupPreActionInput added in v5.46.0

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 added in v5.46.0

type ReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutput) ElementType added in v5.46.0

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutput) FabricLocation added in v5.46.0

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 added in v5.46.0

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

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutput) FailOverTypes added in v5.46.0

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

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutput) ManualActionInstruction added in v5.46.0

Instructions of manual action.

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

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutput) Name added in v5.46.0

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 added in v5.46.0

Id of runbook.

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

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutput) ScriptPath added in v5.46.0

Path of action script.

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

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutput added in v5.46.0

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutputWithContext added in v5.46.0

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

func (ReplicationRecoveryPlanShutdownRecoveryGroupPreActionOutput) Type added in v5.46.0

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

type ReplicationRecoveryPlanShutdownRecoveryGroupPtrInput added in v5.46.0

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 added in v5.46.0

type ReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput struct{ *pulumi.OutputState }

func (ReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput) Elem added in v5.46.0

func (ReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput) ElementType added in v5.46.0

func (ReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput) PostActions added in v5.46.0

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

func (ReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput) PreActions added in v5.46.0

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

func (ReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput added in v5.46.0

func (ReplicationRecoveryPlanShutdownRecoveryGroupPtrOutput) ToReplicationRecoveryPlanShutdownRecoveryGroupPtrOutputWithContext added in v5.46.0

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

type ReplicationRecoveryPlanState added in v5.33.0

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
	// Three or more `recoveryGroup` block defined as below.
	//
	// > **Note:** The `recoveryGroup` block is deprecated in favor of `shutdownRecoveryGroup`, `failoverRecoveryGroup` and `bootRecoveryGroup`. It will be removed in v4.0 of the Azure Provider.
	//
	// Deprecated: the `recovery_group` block has been deprecated in favour of the `shutdown_recovery_group`, `failover_recovery_group` and `boot_recovery_group` and will be removed in version 4.0 of the provider.
	RecoveryGroups ReplicationRecoveryPlanRecoveryGroupArrayInput
	// 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 added in v5.33.0

type VMWareReplicationPolicy added in v5.38.0

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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/recoveryservices"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/siterecovery"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("eastus"),
		})
		if err != nil {
			return err
		}
		exampleVault, err := recoveryservices.NewVault(ctx, "exampleVault", &recoveryservices.VaultArgs{
			Location:                        exampleResourceGroup.Location,
			ResourceGroupName:               exampleResourceGroup.Name,
			Sku:                             pulumi.String("Standard"),
			ClassicVmwareReplicationEnabled: pulumi.Bool(true),
			SoftDeleteEnabled:               pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewVMWareReplicationPolicy(ctx, "exampleVMWareReplicationPolicy", &siterecovery.VMWareReplicationPolicyArgs{
			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 added in v5.38.0

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 added in v5.38.0

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 added in v5.38.0

func (*VMWareReplicationPolicy) ElementType() reflect.Type

func (*VMWareReplicationPolicy) ToVMWareReplicationPolicyOutput added in v5.38.0

func (i *VMWareReplicationPolicy) ToVMWareReplicationPolicyOutput() VMWareReplicationPolicyOutput

func (*VMWareReplicationPolicy) ToVMWareReplicationPolicyOutputWithContext added in v5.38.0

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

type VMWareReplicationPolicyArgs added in v5.38.0

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 added in v5.38.0

type VMWareReplicationPolicyArray added in v5.38.0

type VMWareReplicationPolicyArray []VMWareReplicationPolicyInput

func (VMWareReplicationPolicyArray) ElementType added in v5.38.0

func (VMWareReplicationPolicyArray) ToVMWareReplicationPolicyArrayOutput added in v5.38.0

func (i VMWareReplicationPolicyArray) ToVMWareReplicationPolicyArrayOutput() VMWareReplicationPolicyArrayOutput

func (VMWareReplicationPolicyArray) ToVMWareReplicationPolicyArrayOutputWithContext added in v5.38.0

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

type VMWareReplicationPolicyArrayInput added in v5.38.0

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 added in v5.38.0

type VMWareReplicationPolicyArrayOutput struct{ *pulumi.OutputState }

func (VMWareReplicationPolicyArrayOutput) ElementType added in v5.38.0

func (VMWareReplicationPolicyArrayOutput) Index added in v5.38.0

func (VMWareReplicationPolicyArrayOutput) ToVMWareReplicationPolicyArrayOutput added in v5.38.0

func (o VMWareReplicationPolicyArrayOutput) ToVMWareReplicationPolicyArrayOutput() VMWareReplicationPolicyArrayOutput

func (VMWareReplicationPolicyArrayOutput) ToVMWareReplicationPolicyArrayOutputWithContext added in v5.38.0

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

type VMWareReplicationPolicyInput added in v5.38.0

type VMWareReplicationPolicyInput interface {
	pulumi.Input

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

type VMWareReplicationPolicyMap added in v5.38.0

type VMWareReplicationPolicyMap map[string]VMWareReplicationPolicyInput

func (VMWareReplicationPolicyMap) ElementType added in v5.38.0

func (VMWareReplicationPolicyMap) ElementType() reflect.Type

func (VMWareReplicationPolicyMap) ToVMWareReplicationPolicyMapOutput added in v5.38.0

func (i VMWareReplicationPolicyMap) ToVMWareReplicationPolicyMapOutput() VMWareReplicationPolicyMapOutput

func (VMWareReplicationPolicyMap) ToVMWareReplicationPolicyMapOutputWithContext added in v5.38.0

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

type VMWareReplicationPolicyMapInput added in v5.38.0

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 added in v5.38.0

type VMWareReplicationPolicyMapOutput struct{ *pulumi.OutputState }

func (VMWareReplicationPolicyMapOutput) ElementType added in v5.38.0

func (VMWareReplicationPolicyMapOutput) MapIndex added in v5.38.0

func (VMWareReplicationPolicyMapOutput) ToVMWareReplicationPolicyMapOutput added in v5.38.0

func (o VMWareReplicationPolicyMapOutput) ToVMWareReplicationPolicyMapOutput() VMWareReplicationPolicyMapOutput

func (VMWareReplicationPolicyMapOutput) ToVMWareReplicationPolicyMapOutputWithContext added in v5.38.0

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

type VMWareReplicationPolicyOutput added in v5.38.0

type VMWareReplicationPolicyOutput struct{ *pulumi.OutputState }

func (VMWareReplicationPolicyOutput) ApplicationConsistentSnapshotFrequencyInMinutes added in v5.38.0

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 added in v5.38.0

func (VMWareReplicationPolicyOutput) Name added in v5.38.0

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

func (VMWareReplicationPolicyOutput) RecoveryPointRetentionInMinutes added in v5.38.0

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 added in v5.38.0

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

func (VMWareReplicationPolicyOutput) ToVMWareReplicationPolicyOutput added in v5.38.0

func (o VMWareReplicationPolicyOutput) ToVMWareReplicationPolicyOutput() VMWareReplicationPolicyOutput

func (VMWareReplicationPolicyOutput) ToVMWareReplicationPolicyOutputWithContext added in v5.38.0

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

type VMWareReplicationPolicyState added in v5.38.0

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 added in v5.38.0

type VmwareReplicationPolicyAssociation added in v5.44.0

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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/recoveryservices"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/siterecovery"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("East US"),
		})
		if err != nil {
			return err
		}
		exampleVault, err := recoveryservices.NewVault(ctx, "exampleVault", &recoveryservices.VaultArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		exampleVMWareReplicationPolicy, err := siterecovery.NewVMWareReplicationPolicy(ctx, "exampleVMWareReplicationPolicy", &siterecovery.VMWareReplicationPolicyArgs{
			RecoveryVaultId:                                 exampleVault.ID(),
			RecoveryPointRetentionInMinutes:                 pulumi.Int(1440),
			ApplicationConsistentSnapshotFrequencyInMinutes: pulumi.Int(240),
		})
		if err != nil {
			return err
		}
		_, err = siterecovery.NewVmwareReplicationPolicyAssociation(ctx, "exampleVmwareReplicationPolicyAssociation", &siterecovery.VmwareReplicationPolicyAssociationArgs{
			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 added in v5.44.0

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 added in v5.44.0

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 added in v5.44.0

func (*VmwareReplicationPolicyAssociation) ToVmwareReplicationPolicyAssociationOutput added in v5.44.0

func (i *VmwareReplicationPolicyAssociation) ToVmwareReplicationPolicyAssociationOutput() VmwareReplicationPolicyAssociationOutput

func (*VmwareReplicationPolicyAssociation) ToVmwareReplicationPolicyAssociationOutputWithContext added in v5.44.0

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

type VmwareReplicationPolicyAssociationArgs added in v5.44.0

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 added in v5.44.0

type VmwareReplicationPolicyAssociationArray added in v5.44.0

type VmwareReplicationPolicyAssociationArray []VmwareReplicationPolicyAssociationInput

func (VmwareReplicationPolicyAssociationArray) ElementType added in v5.44.0

func (VmwareReplicationPolicyAssociationArray) ToVmwareReplicationPolicyAssociationArrayOutput added in v5.44.0

func (i VmwareReplicationPolicyAssociationArray) ToVmwareReplicationPolicyAssociationArrayOutput() VmwareReplicationPolicyAssociationArrayOutput

func (VmwareReplicationPolicyAssociationArray) ToVmwareReplicationPolicyAssociationArrayOutputWithContext added in v5.44.0

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

type VmwareReplicationPolicyAssociationArrayInput added in v5.44.0

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 added in v5.44.0

type VmwareReplicationPolicyAssociationArrayOutput struct{ *pulumi.OutputState }

func (VmwareReplicationPolicyAssociationArrayOutput) ElementType added in v5.44.0

func (VmwareReplicationPolicyAssociationArrayOutput) Index added in v5.44.0

func (VmwareReplicationPolicyAssociationArrayOutput) ToVmwareReplicationPolicyAssociationArrayOutput added in v5.44.0

func (o VmwareReplicationPolicyAssociationArrayOutput) ToVmwareReplicationPolicyAssociationArrayOutput() VmwareReplicationPolicyAssociationArrayOutput

func (VmwareReplicationPolicyAssociationArrayOutput) ToVmwareReplicationPolicyAssociationArrayOutputWithContext added in v5.44.0

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

type VmwareReplicationPolicyAssociationInput added in v5.44.0

type VmwareReplicationPolicyAssociationInput interface {
	pulumi.Input

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

type VmwareReplicationPolicyAssociationMap added in v5.44.0

type VmwareReplicationPolicyAssociationMap map[string]VmwareReplicationPolicyAssociationInput

func (VmwareReplicationPolicyAssociationMap) ElementType added in v5.44.0

func (VmwareReplicationPolicyAssociationMap) ToVmwareReplicationPolicyAssociationMapOutput added in v5.44.0

func (i VmwareReplicationPolicyAssociationMap) ToVmwareReplicationPolicyAssociationMapOutput() VmwareReplicationPolicyAssociationMapOutput

func (VmwareReplicationPolicyAssociationMap) ToVmwareReplicationPolicyAssociationMapOutputWithContext added in v5.44.0

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

type VmwareReplicationPolicyAssociationMapInput added in v5.44.0

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 added in v5.44.0

type VmwareReplicationPolicyAssociationMapOutput struct{ *pulumi.OutputState }

func (VmwareReplicationPolicyAssociationMapOutput) ElementType added in v5.44.0

func (VmwareReplicationPolicyAssociationMapOutput) MapIndex added in v5.44.0

func (VmwareReplicationPolicyAssociationMapOutput) ToVmwareReplicationPolicyAssociationMapOutput added in v5.44.0

func (o VmwareReplicationPolicyAssociationMapOutput) ToVmwareReplicationPolicyAssociationMapOutput() VmwareReplicationPolicyAssociationMapOutput

func (VmwareReplicationPolicyAssociationMapOutput) ToVmwareReplicationPolicyAssociationMapOutputWithContext added in v5.44.0

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

type VmwareReplicationPolicyAssociationOutput added in v5.44.0

type VmwareReplicationPolicyAssociationOutput struct{ *pulumi.OutputState }

func (VmwareReplicationPolicyAssociationOutput) ElementType added in v5.44.0

func (VmwareReplicationPolicyAssociationOutput) Name added in v5.44.0

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

func (VmwareReplicationPolicyAssociationOutput) PolicyId added in v5.44.0

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

func (VmwareReplicationPolicyAssociationOutput) RecoveryVaultId added in v5.44.0

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 added in v5.44.0

func (o VmwareReplicationPolicyAssociationOutput) ToVmwareReplicationPolicyAssociationOutput() VmwareReplicationPolicyAssociationOutput

func (VmwareReplicationPolicyAssociationOutput) ToVmwareReplicationPolicyAssociationOutputWithContext added in v5.44.0

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

type VmwareReplicationPolicyAssociationState added in v5.44.0

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 added in v5.44.0

Jump to

Keyboard shortcuts

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