backup

package
v4.42.0 Latest Latest
Warning

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

Go to latest
Published: Mar 15, 2022 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 ContainerStorageAccount

type ContainerStorageAccount struct {
	pulumi.CustomResourceState

	// The name of the vault where the storage account will be registered.
	RecoveryVaultName pulumi.StringOutput `pulumi:"recoveryVaultName"`
	// Name of the resource group where the vault is located.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// The ID of the Storage Account to be registered
	StorageAccountId pulumi.StringOutput `pulumi:"storageAccountId"`
}

Manages registration of a storage account with Azure Backup. Storage accounts must be registered with an Azure Recovery Vault in order to backup file shares within the storage account. Registering a storage account with a vault creates what is known as a protection container within Azure Recovery Services. Once the container is created, Azure file shares within the storage account can be backed up using the `backup.ProtectedFileShare` resource.

> **NOTE:** Azure Backup for Azure File Shares is currently in public preview. During the preview, the service is subject to additional limitations and unsupported backup scenarios. [Read More](https://docs.microsoft.com/en-us/azure/backup/backup-azure-files#limitations-for-azure-file-share-backup-during-preview)

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/backup"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/recoveryservices"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		rg, err := core.NewResourceGroup(ctx, "rg", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		vault, err := recoveryservices.NewVault(ctx, "vault", &recoveryservices.VaultArgs{
			Location:          rg.Location,
			ResourceGroupName: rg.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		sa, err := storage.NewAccount(ctx, "sa", &storage.AccountArgs{
			Location:               rg.Location,
			ResourceGroupName:      rg.Name,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("LRS"),
		})
		if err != nil {
			return err
		}
		_, err = backup.NewContainerStorageAccount(ctx, "container", &backup.ContainerStorageAccountArgs{
			ResourceGroupName: rg.Name,
			RecoveryVaultName: vault.Name,
			StorageAccountId:  sa.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Backup Storage Account Containers can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:backup/containerStorageAccount:ContainerStorageAccount mycontainer "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.RecoveryServices/vaults/recovery-vault-name/backupFabrics/Azure/protectionContainers/StorageContainer;storage;storage-rg-name;storage-account"

```

Note the ID requires quoting as there are semicolons

func GetContainerStorageAccount

func GetContainerStorageAccount(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ContainerStorageAccountState, opts ...pulumi.ResourceOption) (*ContainerStorageAccount, error)

GetContainerStorageAccount gets an existing ContainerStorageAccount 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 NewContainerStorageAccount

func NewContainerStorageAccount(ctx *pulumi.Context,
	name string, args *ContainerStorageAccountArgs, opts ...pulumi.ResourceOption) (*ContainerStorageAccount, error)

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

func (*ContainerStorageAccount) ElementType

func (*ContainerStorageAccount) ElementType() reflect.Type

func (*ContainerStorageAccount) ToContainerStorageAccountOutput

func (i *ContainerStorageAccount) ToContainerStorageAccountOutput() ContainerStorageAccountOutput

func (*ContainerStorageAccount) ToContainerStorageAccountOutputWithContext

func (i *ContainerStorageAccount) ToContainerStorageAccountOutputWithContext(ctx context.Context) ContainerStorageAccountOutput

type ContainerStorageAccountArgs

type ContainerStorageAccountArgs struct {
	// The name of the vault where the storage account will be registered.
	RecoveryVaultName pulumi.StringInput
	// Name of the resource group where the vault is located.
	ResourceGroupName pulumi.StringInput
	// The ID of the Storage Account to be registered
	StorageAccountId pulumi.StringInput
}

The set of arguments for constructing a ContainerStorageAccount resource.

func (ContainerStorageAccountArgs) ElementType

type ContainerStorageAccountArray

type ContainerStorageAccountArray []ContainerStorageAccountInput

func (ContainerStorageAccountArray) ElementType

func (ContainerStorageAccountArray) ToContainerStorageAccountArrayOutput

func (i ContainerStorageAccountArray) ToContainerStorageAccountArrayOutput() ContainerStorageAccountArrayOutput

func (ContainerStorageAccountArray) ToContainerStorageAccountArrayOutputWithContext

func (i ContainerStorageAccountArray) ToContainerStorageAccountArrayOutputWithContext(ctx context.Context) ContainerStorageAccountArrayOutput

type ContainerStorageAccountArrayInput

type ContainerStorageAccountArrayInput interface {
	pulumi.Input

	ToContainerStorageAccountArrayOutput() ContainerStorageAccountArrayOutput
	ToContainerStorageAccountArrayOutputWithContext(context.Context) ContainerStorageAccountArrayOutput
}

ContainerStorageAccountArrayInput is an input type that accepts ContainerStorageAccountArray and ContainerStorageAccountArrayOutput values. You can construct a concrete instance of `ContainerStorageAccountArrayInput` via:

ContainerStorageAccountArray{ ContainerStorageAccountArgs{...} }

type ContainerStorageAccountArrayOutput

type ContainerStorageAccountArrayOutput struct{ *pulumi.OutputState }

func (ContainerStorageAccountArrayOutput) ElementType

func (ContainerStorageAccountArrayOutput) Index

func (ContainerStorageAccountArrayOutput) ToContainerStorageAccountArrayOutput

func (o ContainerStorageAccountArrayOutput) ToContainerStorageAccountArrayOutput() ContainerStorageAccountArrayOutput

func (ContainerStorageAccountArrayOutput) ToContainerStorageAccountArrayOutputWithContext

func (o ContainerStorageAccountArrayOutput) ToContainerStorageAccountArrayOutputWithContext(ctx context.Context) ContainerStorageAccountArrayOutput

type ContainerStorageAccountInput

type ContainerStorageAccountInput interface {
	pulumi.Input

	ToContainerStorageAccountOutput() ContainerStorageAccountOutput
	ToContainerStorageAccountOutputWithContext(ctx context.Context) ContainerStorageAccountOutput
}

type ContainerStorageAccountMap

type ContainerStorageAccountMap map[string]ContainerStorageAccountInput

func (ContainerStorageAccountMap) ElementType

func (ContainerStorageAccountMap) ElementType() reflect.Type

func (ContainerStorageAccountMap) ToContainerStorageAccountMapOutput

func (i ContainerStorageAccountMap) ToContainerStorageAccountMapOutput() ContainerStorageAccountMapOutput

func (ContainerStorageAccountMap) ToContainerStorageAccountMapOutputWithContext

func (i ContainerStorageAccountMap) ToContainerStorageAccountMapOutputWithContext(ctx context.Context) ContainerStorageAccountMapOutput

type ContainerStorageAccountMapInput

type ContainerStorageAccountMapInput interface {
	pulumi.Input

	ToContainerStorageAccountMapOutput() ContainerStorageAccountMapOutput
	ToContainerStorageAccountMapOutputWithContext(context.Context) ContainerStorageAccountMapOutput
}

ContainerStorageAccountMapInput is an input type that accepts ContainerStorageAccountMap and ContainerStorageAccountMapOutput values. You can construct a concrete instance of `ContainerStorageAccountMapInput` via:

ContainerStorageAccountMap{ "key": ContainerStorageAccountArgs{...} }

type ContainerStorageAccountMapOutput

type ContainerStorageAccountMapOutput struct{ *pulumi.OutputState }

func (ContainerStorageAccountMapOutput) ElementType

func (ContainerStorageAccountMapOutput) MapIndex

func (ContainerStorageAccountMapOutput) ToContainerStorageAccountMapOutput

func (o ContainerStorageAccountMapOutput) ToContainerStorageAccountMapOutput() ContainerStorageAccountMapOutput

func (ContainerStorageAccountMapOutput) ToContainerStorageAccountMapOutputWithContext

func (o ContainerStorageAccountMapOutput) ToContainerStorageAccountMapOutputWithContext(ctx context.Context) ContainerStorageAccountMapOutput

type ContainerStorageAccountOutput

type ContainerStorageAccountOutput struct{ *pulumi.OutputState }

func (ContainerStorageAccountOutput) ElementType

func (ContainerStorageAccountOutput) ToContainerStorageAccountOutput

func (o ContainerStorageAccountOutput) ToContainerStorageAccountOutput() ContainerStorageAccountOutput

func (ContainerStorageAccountOutput) ToContainerStorageAccountOutputWithContext

func (o ContainerStorageAccountOutput) ToContainerStorageAccountOutputWithContext(ctx context.Context) ContainerStorageAccountOutput

type ContainerStorageAccountState

type ContainerStorageAccountState struct {
	// The name of the vault where the storage account will be registered.
	RecoveryVaultName pulumi.StringPtrInput
	// Name of the resource group where the vault is located.
	ResourceGroupName pulumi.StringPtrInput
	// The ID of the Storage Account to be registered
	StorageAccountId pulumi.StringPtrInput
}

func (ContainerStorageAccountState) ElementType

type GetPolicyFileshareArgs added in v4.22.0

type GetPolicyFileshareArgs struct {
	// Specifies the name of the File Share Backup Policy.
	Name string `pulumi:"name"`
	// Specifies the name of the Recovery Services Vault.
	RecoveryVaultName string `pulumi:"recoveryVaultName"`
	// The name of the resource group in which the File Share Backup Policy resides.
	ResourceGroupName string `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getPolicyFileshare.

type GetPolicyFileshareOutputArgs added in v4.22.0

type GetPolicyFileshareOutputArgs struct {
	// Specifies the name of the File Share Backup Policy.
	Name pulumi.StringInput `pulumi:"name"`
	// Specifies the name of the Recovery Services Vault.
	RecoveryVaultName pulumi.StringInput `pulumi:"recoveryVaultName"`
	// The name of the resource group in which the File Share Backup Policy resides.
	ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getPolicyFileshare.

func (GetPolicyFileshareOutputArgs) ElementType added in v4.22.0

type GetPolicyFileshareResult added in v4.22.0

type GetPolicyFileshareResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id                string `pulumi:"id"`
	Name              string `pulumi:"name"`
	RecoveryVaultName string `pulumi:"recoveryVaultName"`
	ResourceGroupName string `pulumi:"resourceGroupName"`
	// A mapping of tags assigned to the resource.
	Tags map[string]string `pulumi:"tags"`
}

A collection of values returned by getPolicyFileshare.

func GetPolicyFileshare added in v4.22.0

func GetPolicyFileshare(ctx *pulumi.Context, args *GetPolicyFileshareArgs, opts ...pulumi.InvokeOption) (*GetPolicyFileshareResult, error)

Use this data source to access information about an existing File Share Backup Policy.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/backup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := backup.GetPolicyFileshare(ctx, &backup.GetPolicyFileshareArgs{
			Name:              "policy",
			RecoveryVaultName: "recovery_vault",
			ResourceGroupName: "resource_group",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetPolicyFileshareResultOutput added in v4.22.0

type GetPolicyFileshareResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getPolicyFileshare.

func GetPolicyFileshareOutput added in v4.22.0

func (GetPolicyFileshareResultOutput) ElementType added in v4.22.0

func (GetPolicyFileshareResultOutput) Id added in v4.22.0

The provider-assigned unique ID for this managed resource.

func (GetPolicyFileshareResultOutput) Name added in v4.22.0

func (GetPolicyFileshareResultOutput) RecoveryVaultName added in v4.22.0

func (o GetPolicyFileshareResultOutput) RecoveryVaultName() pulumi.StringOutput

func (GetPolicyFileshareResultOutput) ResourceGroupName added in v4.22.0

func (o GetPolicyFileshareResultOutput) ResourceGroupName() pulumi.StringOutput

func (GetPolicyFileshareResultOutput) Tags added in v4.22.0

A mapping of tags assigned to the resource.

func (GetPolicyFileshareResultOutput) ToGetPolicyFileshareResultOutput added in v4.22.0

func (o GetPolicyFileshareResultOutput) ToGetPolicyFileshareResultOutput() GetPolicyFileshareResultOutput

func (GetPolicyFileshareResultOutput) ToGetPolicyFileshareResultOutputWithContext added in v4.22.0

func (o GetPolicyFileshareResultOutput) ToGetPolicyFileshareResultOutputWithContext(ctx context.Context) GetPolicyFileshareResultOutput

type LookupPolicyVMArgs

type LookupPolicyVMArgs struct {
	// Specifies the name of the VM Backup Policy.
	Name string `pulumi:"name"`
	// Specifies the name of the Recovery Services Vault.
	RecoveryVaultName string `pulumi:"recoveryVaultName"`
	// The name of the resource group in which the VM Backup Policy resides.
	ResourceGroupName string `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getPolicyVM.

type LookupPolicyVMOutputArgs added in v4.20.0

type LookupPolicyVMOutputArgs struct {
	// Specifies the name of the VM Backup Policy.
	Name pulumi.StringInput `pulumi:"name"`
	// Specifies the name of the Recovery Services Vault.
	RecoveryVaultName pulumi.StringInput `pulumi:"recoveryVaultName"`
	// The name of the resource group in which the VM Backup Policy resides.
	ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getPolicyVM.

func (LookupPolicyVMOutputArgs) ElementType added in v4.20.0

func (LookupPolicyVMOutputArgs) ElementType() reflect.Type

type LookupPolicyVMResult

type LookupPolicyVMResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id                string `pulumi:"id"`
	Name              string `pulumi:"name"`
	RecoveryVaultName string `pulumi:"recoveryVaultName"`
	ResourceGroupName string `pulumi:"resourceGroupName"`
	// A mapping of tags assigned to the resource.
	Tags map[string]string `pulumi:"tags"`
}

A collection of values returned by getPolicyVM.

func LookupPolicyVM

func LookupPolicyVM(ctx *pulumi.Context, args *LookupPolicyVMArgs, opts ...pulumi.InvokeOption) (*LookupPolicyVMResult, error)

Use this data source to access information about an existing VM Backup Policy.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/backup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := backup.LookupPolicyVM(ctx, &backup.LookupPolicyVMArgs{
			Name:              "policy",
			RecoveryVaultName: "recovery_vault",
			ResourceGroupName: "resource_group",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupPolicyVMResultOutput added in v4.20.0

type LookupPolicyVMResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getPolicyVM.

func LookupPolicyVMOutput added in v4.20.0

func LookupPolicyVMOutput(ctx *pulumi.Context, args LookupPolicyVMOutputArgs, opts ...pulumi.InvokeOption) LookupPolicyVMResultOutput

func (LookupPolicyVMResultOutput) ElementType added in v4.20.0

func (LookupPolicyVMResultOutput) ElementType() reflect.Type

func (LookupPolicyVMResultOutput) Id added in v4.20.0

The provider-assigned unique ID for this managed resource.

func (LookupPolicyVMResultOutput) Name added in v4.20.0

func (LookupPolicyVMResultOutput) RecoveryVaultName added in v4.20.0

func (o LookupPolicyVMResultOutput) RecoveryVaultName() pulumi.StringOutput

func (LookupPolicyVMResultOutput) ResourceGroupName added in v4.20.0

func (o LookupPolicyVMResultOutput) ResourceGroupName() pulumi.StringOutput

func (LookupPolicyVMResultOutput) Tags added in v4.20.0

A mapping of tags assigned to the resource.

func (LookupPolicyVMResultOutput) ToLookupPolicyVMResultOutput added in v4.20.0

func (o LookupPolicyVMResultOutput) ToLookupPolicyVMResultOutput() LookupPolicyVMResultOutput

func (LookupPolicyVMResultOutput) ToLookupPolicyVMResultOutputWithContext added in v4.20.0

func (o LookupPolicyVMResultOutput) ToLookupPolicyVMResultOutputWithContext(ctx context.Context) LookupPolicyVMResultOutput

type PolicyFileShare

type PolicyFileShare struct {
	pulumi.CustomResourceState

	// Configures the Policy backup frequency and times as documented in the `backup` block below.
	Backup PolicyFileShareBackupOutput `pulumi:"backup"`
	// Specifies the name of the policy. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies the name of the Recovery Services Vault to use. Changing this forces a new resource to be created.
	RecoveryVaultName pulumi.StringOutput `pulumi:"recoveryVaultName"`
	// The name of the resource group in which to create the policy. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// Configures the policy daily retention as documented in the `retentionDaily` block below.
	RetentionDaily PolicyFileShareRetentionDailyOutput `pulumi:"retentionDaily"`
	// Configures the policy monthly retention as documented in the `retentionMonthly` block below.
	RetentionMonthly PolicyFileShareRetentionMonthlyPtrOutput `pulumi:"retentionMonthly"`
	// Configures the policy weekly retention as documented in the `retentionWeekly` block below.
	RetentionWeekly PolicyFileShareRetentionWeeklyPtrOutput `pulumi:"retentionWeekly"`
	// Configures the policy yearly retention as documented in the `retentionYearly` block below.
	RetentionYearly PolicyFileShareRetentionYearlyPtrOutput `pulumi:"retentionYearly"`
	Tags            pulumi.StringMapOutput                  `pulumi:"tags"`
	// Specifies the timezone. [the possible values are defined here](http://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/). Defaults to `UTC`
	Timezone pulumi.StringPtrOutput `pulumi:"timezone"`
}

Manages an Azure File Share Backup Policy within a Recovery Services vault.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/backup"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/recoveryservices"
"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("West Europe"),
		})
		if err != nil {
			return err
		}
		_, err = recoveryservices.NewVault(ctx, "exampleVault", &recoveryservices.VaultArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		_, err = backup.NewPolicyFileShare(ctx, "policy", &backup.PolicyFileShareArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			RecoveryVaultName: pulumi.Any(azurerm_recovery_services_vault.Vault.Name),
			Timezone:          pulumi.String("UTC"),
			Backup: &backup.PolicyFileShareBackupArgs{
				Frequency: pulumi.String("Daily"),
				Time:      pulumi.String("23:00"),
			},
			RetentionDaily: &backup.PolicyFileShareRetentionDailyArgs{
				Count: pulumi.Int(10),
			},
			RetentionWeekly: &backup.PolicyFileShareRetentionWeeklyArgs{
				Count: pulumi.Int(7),
				Weekdays: pulumi.StringArray{
					pulumi.String("Sunday"),
					pulumi.String("Wednesday"),
					pulumi.String("Friday"),
					pulumi.String("Saturday"),
				},
			},
			RetentionMonthly: &backup.PolicyFileShareRetentionMonthlyArgs{
				Count: pulumi.Int(7),
				Weekdays: pulumi.StringArray{
					pulumi.String("Sunday"),
					pulumi.String("Wednesday"),
				},
				Weeks: pulumi.StringArray{
					pulumi.String("First"),
					pulumi.String("Last"),
				},
			},
			RetentionYearly: &backup.PolicyFileShareRetentionYearlyArgs{
				Count: pulumi.Int(7),
				Weekdays: pulumi.StringArray{
					pulumi.String("Sunday"),
				},
				Weeks: pulumi.StringArray{
					pulumi.String("Last"),
				},
				Months: pulumi.StringArray{
					pulumi.String("January"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Azure File Share Backup Policies can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:backup/policyFileShare:PolicyFileShare policy1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.RecoveryServices/vaults/example-recovery-vault/backupPolicies/policy1

```

func GetPolicyFileShare

func GetPolicyFileShare(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PolicyFileShareState, opts ...pulumi.ResourceOption) (*PolicyFileShare, error)

GetPolicyFileShare gets an existing PolicyFileShare 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 NewPolicyFileShare

func NewPolicyFileShare(ctx *pulumi.Context,
	name string, args *PolicyFileShareArgs, opts ...pulumi.ResourceOption) (*PolicyFileShare, error)

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

func (*PolicyFileShare) ElementType

func (*PolicyFileShare) ElementType() reflect.Type

func (*PolicyFileShare) ToPolicyFileShareOutput

func (i *PolicyFileShare) ToPolicyFileShareOutput() PolicyFileShareOutput

func (*PolicyFileShare) ToPolicyFileShareOutputWithContext

func (i *PolicyFileShare) ToPolicyFileShareOutputWithContext(ctx context.Context) PolicyFileShareOutput

type PolicyFileShareArgs

type PolicyFileShareArgs struct {
	// Configures the Policy backup frequency and times as documented in the `backup` block below.
	Backup PolicyFileShareBackupInput
	// Specifies the name of the policy. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Specifies the name of the Recovery Services Vault to use. Changing this forces a new resource to be created.
	RecoveryVaultName pulumi.StringInput
	// The name of the resource group in which to create the policy. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// Configures the policy daily retention as documented in the `retentionDaily` block below.
	RetentionDaily PolicyFileShareRetentionDailyInput
	// Configures the policy monthly retention as documented in the `retentionMonthly` block below.
	RetentionMonthly PolicyFileShareRetentionMonthlyPtrInput
	// Configures the policy weekly retention as documented in the `retentionWeekly` block below.
	RetentionWeekly PolicyFileShareRetentionWeeklyPtrInput
	// Configures the policy yearly retention as documented in the `retentionYearly` block below.
	RetentionYearly PolicyFileShareRetentionYearlyPtrInput
	Tags            pulumi.StringMapInput
	// Specifies the timezone. [the possible values are defined here](http://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/). Defaults to `UTC`
	Timezone pulumi.StringPtrInput
}

The set of arguments for constructing a PolicyFileShare resource.

func (PolicyFileShareArgs) ElementType

func (PolicyFileShareArgs) ElementType() reflect.Type

type PolicyFileShareArray

type PolicyFileShareArray []PolicyFileShareInput

func (PolicyFileShareArray) ElementType

func (PolicyFileShareArray) ElementType() reflect.Type

func (PolicyFileShareArray) ToPolicyFileShareArrayOutput

func (i PolicyFileShareArray) ToPolicyFileShareArrayOutput() PolicyFileShareArrayOutput

func (PolicyFileShareArray) ToPolicyFileShareArrayOutputWithContext

func (i PolicyFileShareArray) ToPolicyFileShareArrayOutputWithContext(ctx context.Context) PolicyFileShareArrayOutput

type PolicyFileShareArrayInput

type PolicyFileShareArrayInput interface {
	pulumi.Input

	ToPolicyFileShareArrayOutput() PolicyFileShareArrayOutput
	ToPolicyFileShareArrayOutputWithContext(context.Context) PolicyFileShareArrayOutput
}

PolicyFileShareArrayInput is an input type that accepts PolicyFileShareArray and PolicyFileShareArrayOutput values. You can construct a concrete instance of `PolicyFileShareArrayInput` via:

PolicyFileShareArray{ PolicyFileShareArgs{...} }

type PolicyFileShareArrayOutput

type PolicyFileShareArrayOutput struct{ *pulumi.OutputState }

func (PolicyFileShareArrayOutput) ElementType

func (PolicyFileShareArrayOutput) ElementType() reflect.Type

func (PolicyFileShareArrayOutput) Index

func (PolicyFileShareArrayOutput) ToPolicyFileShareArrayOutput

func (o PolicyFileShareArrayOutput) ToPolicyFileShareArrayOutput() PolicyFileShareArrayOutput

func (PolicyFileShareArrayOutput) ToPolicyFileShareArrayOutputWithContext

func (o PolicyFileShareArrayOutput) ToPolicyFileShareArrayOutputWithContext(ctx context.Context) PolicyFileShareArrayOutput

type PolicyFileShareBackup

type PolicyFileShareBackup struct {
	// Sets the backup frequency. Currently, only `Daily` is supported
	Frequency string `pulumi:"frequency"`
	// The time of day to perform the backup in 24-hour format. Times must be either on the hour or half hour (e.g. 12:00, 12:30, 13:00, etc.)
	Time string `pulumi:"time"`
}

type PolicyFileShareBackupArgs

type PolicyFileShareBackupArgs struct {
	// Sets the backup frequency. Currently, only `Daily` is supported
	Frequency pulumi.StringInput `pulumi:"frequency"`
	// The time of day to perform the backup in 24-hour format. Times must be either on the hour or half hour (e.g. 12:00, 12:30, 13:00, etc.)
	Time pulumi.StringInput `pulumi:"time"`
}

func (PolicyFileShareBackupArgs) ElementType

func (PolicyFileShareBackupArgs) ElementType() reflect.Type

func (PolicyFileShareBackupArgs) ToPolicyFileShareBackupOutput

func (i PolicyFileShareBackupArgs) ToPolicyFileShareBackupOutput() PolicyFileShareBackupOutput

func (PolicyFileShareBackupArgs) ToPolicyFileShareBackupOutputWithContext

func (i PolicyFileShareBackupArgs) ToPolicyFileShareBackupOutputWithContext(ctx context.Context) PolicyFileShareBackupOutput

func (PolicyFileShareBackupArgs) ToPolicyFileShareBackupPtrOutput

func (i PolicyFileShareBackupArgs) ToPolicyFileShareBackupPtrOutput() PolicyFileShareBackupPtrOutput

func (PolicyFileShareBackupArgs) ToPolicyFileShareBackupPtrOutputWithContext

func (i PolicyFileShareBackupArgs) ToPolicyFileShareBackupPtrOutputWithContext(ctx context.Context) PolicyFileShareBackupPtrOutput

type PolicyFileShareBackupInput

type PolicyFileShareBackupInput interface {
	pulumi.Input

	ToPolicyFileShareBackupOutput() PolicyFileShareBackupOutput
	ToPolicyFileShareBackupOutputWithContext(context.Context) PolicyFileShareBackupOutput
}

PolicyFileShareBackupInput is an input type that accepts PolicyFileShareBackupArgs and PolicyFileShareBackupOutput values. You can construct a concrete instance of `PolicyFileShareBackupInput` via:

PolicyFileShareBackupArgs{...}

type PolicyFileShareBackupOutput

type PolicyFileShareBackupOutput struct{ *pulumi.OutputState }

func (PolicyFileShareBackupOutput) ElementType

func (PolicyFileShareBackupOutput) Frequency

Sets the backup frequency. Currently, only `Daily` is supported

func (PolicyFileShareBackupOutput) Time

The time of day to perform the backup in 24-hour format. Times must be either on the hour or half hour (e.g. 12:00, 12:30, 13:00, etc.)

func (PolicyFileShareBackupOutput) ToPolicyFileShareBackupOutput

func (o PolicyFileShareBackupOutput) ToPolicyFileShareBackupOutput() PolicyFileShareBackupOutput

func (PolicyFileShareBackupOutput) ToPolicyFileShareBackupOutputWithContext

func (o PolicyFileShareBackupOutput) ToPolicyFileShareBackupOutputWithContext(ctx context.Context) PolicyFileShareBackupOutput

func (PolicyFileShareBackupOutput) ToPolicyFileShareBackupPtrOutput

func (o PolicyFileShareBackupOutput) ToPolicyFileShareBackupPtrOutput() PolicyFileShareBackupPtrOutput

func (PolicyFileShareBackupOutput) ToPolicyFileShareBackupPtrOutputWithContext

func (o PolicyFileShareBackupOutput) ToPolicyFileShareBackupPtrOutputWithContext(ctx context.Context) PolicyFileShareBackupPtrOutput

type PolicyFileShareBackupPtrInput

type PolicyFileShareBackupPtrInput interface {
	pulumi.Input

	ToPolicyFileShareBackupPtrOutput() PolicyFileShareBackupPtrOutput
	ToPolicyFileShareBackupPtrOutputWithContext(context.Context) PolicyFileShareBackupPtrOutput
}

PolicyFileShareBackupPtrInput is an input type that accepts PolicyFileShareBackupArgs, PolicyFileShareBackupPtr and PolicyFileShareBackupPtrOutput values. You can construct a concrete instance of `PolicyFileShareBackupPtrInput` via:

        PolicyFileShareBackupArgs{...}

or:

        nil

type PolicyFileShareBackupPtrOutput

type PolicyFileShareBackupPtrOutput struct{ *pulumi.OutputState }

func (PolicyFileShareBackupPtrOutput) Elem

func (PolicyFileShareBackupPtrOutput) ElementType

func (PolicyFileShareBackupPtrOutput) Frequency

Sets the backup frequency. Currently, only `Daily` is supported

func (PolicyFileShareBackupPtrOutput) Time

The time of day to perform the backup in 24-hour format. Times must be either on the hour or half hour (e.g. 12:00, 12:30, 13:00, etc.)

func (PolicyFileShareBackupPtrOutput) ToPolicyFileShareBackupPtrOutput

func (o PolicyFileShareBackupPtrOutput) ToPolicyFileShareBackupPtrOutput() PolicyFileShareBackupPtrOutput

func (PolicyFileShareBackupPtrOutput) ToPolicyFileShareBackupPtrOutputWithContext

func (o PolicyFileShareBackupPtrOutput) ToPolicyFileShareBackupPtrOutputWithContext(ctx context.Context) PolicyFileShareBackupPtrOutput

type PolicyFileShareInput

type PolicyFileShareInput interface {
	pulumi.Input

	ToPolicyFileShareOutput() PolicyFileShareOutput
	ToPolicyFileShareOutputWithContext(ctx context.Context) PolicyFileShareOutput
}

type PolicyFileShareMap

type PolicyFileShareMap map[string]PolicyFileShareInput

func (PolicyFileShareMap) ElementType

func (PolicyFileShareMap) ElementType() reflect.Type

func (PolicyFileShareMap) ToPolicyFileShareMapOutput

func (i PolicyFileShareMap) ToPolicyFileShareMapOutput() PolicyFileShareMapOutput

func (PolicyFileShareMap) ToPolicyFileShareMapOutputWithContext

func (i PolicyFileShareMap) ToPolicyFileShareMapOutputWithContext(ctx context.Context) PolicyFileShareMapOutput

type PolicyFileShareMapInput

type PolicyFileShareMapInput interface {
	pulumi.Input

	ToPolicyFileShareMapOutput() PolicyFileShareMapOutput
	ToPolicyFileShareMapOutputWithContext(context.Context) PolicyFileShareMapOutput
}

PolicyFileShareMapInput is an input type that accepts PolicyFileShareMap and PolicyFileShareMapOutput values. You can construct a concrete instance of `PolicyFileShareMapInput` via:

PolicyFileShareMap{ "key": PolicyFileShareArgs{...} }

type PolicyFileShareMapOutput

type PolicyFileShareMapOutput struct{ *pulumi.OutputState }

func (PolicyFileShareMapOutput) ElementType

func (PolicyFileShareMapOutput) ElementType() reflect.Type

func (PolicyFileShareMapOutput) MapIndex

func (PolicyFileShareMapOutput) ToPolicyFileShareMapOutput

func (o PolicyFileShareMapOutput) ToPolicyFileShareMapOutput() PolicyFileShareMapOutput

func (PolicyFileShareMapOutput) ToPolicyFileShareMapOutputWithContext

func (o PolicyFileShareMapOutput) ToPolicyFileShareMapOutputWithContext(ctx context.Context) PolicyFileShareMapOutput

type PolicyFileShareOutput

type PolicyFileShareOutput struct{ *pulumi.OutputState }

func (PolicyFileShareOutput) ElementType

func (PolicyFileShareOutput) ElementType() reflect.Type

func (PolicyFileShareOutput) ToPolicyFileShareOutput

func (o PolicyFileShareOutput) ToPolicyFileShareOutput() PolicyFileShareOutput

func (PolicyFileShareOutput) ToPolicyFileShareOutputWithContext

func (o PolicyFileShareOutput) ToPolicyFileShareOutputWithContext(ctx context.Context) PolicyFileShareOutput

type PolicyFileShareRetentionDaily

type PolicyFileShareRetentionDaily struct {
	// The number of yearly backups to keep. Must be between `1` and `10`
	Count int `pulumi:"count"`
}

type PolicyFileShareRetentionDailyArgs

type PolicyFileShareRetentionDailyArgs struct {
	// The number of yearly backups to keep. Must be between `1` and `10`
	Count pulumi.IntInput `pulumi:"count"`
}

func (PolicyFileShareRetentionDailyArgs) ElementType

func (PolicyFileShareRetentionDailyArgs) ToPolicyFileShareRetentionDailyOutput

func (i PolicyFileShareRetentionDailyArgs) ToPolicyFileShareRetentionDailyOutput() PolicyFileShareRetentionDailyOutput

func (PolicyFileShareRetentionDailyArgs) ToPolicyFileShareRetentionDailyOutputWithContext

func (i PolicyFileShareRetentionDailyArgs) ToPolicyFileShareRetentionDailyOutputWithContext(ctx context.Context) PolicyFileShareRetentionDailyOutput

func (PolicyFileShareRetentionDailyArgs) ToPolicyFileShareRetentionDailyPtrOutput

func (i PolicyFileShareRetentionDailyArgs) ToPolicyFileShareRetentionDailyPtrOutput() PolicyFileShareRetentionDailyPtrOutput

func (PolicyFileShareRetentionDailyArgs) ToPolicyFileShareRetentionDailyPtrOutputWithContext

func (i PolicyFileShareRetentionDailyArgs) ToPolicyFileShareRetentionDailyPtrOutputWithContext(ctx context.Context) PolicyFileShareRetentionDailyPtrOutput

type PolicyFileShareRetentionDailyInput

type PolicyFileShareRetentionDailyInput interface {
	pulumi.Input

	ToPolicyFileShareRetentionDailyOutput() PolicyFileShareRetentionDailyOutput
	ToPolicyFileShareRetentionDailyOutputWithContext(context.Context) PolicyFileShareRetentionDailyOutput
}

PolicyFileShareRetentionDailyInput is an input type that accepts PolicyFileShareRetentionDailyArgs and PolicyFileShareRetentionDailyOutput values. You can construct a concrete instance of `PolicyFileShareRetentionDailyInput` via:

PolicyFileShareRetentionDailyArgs{...}

type PolicyFileShareRetentionDailyOutput

type PolicyFileShareRetentionDailyOutput struct{ *pulumi.OutputState }

func (PolicyFileShareRetentionDailyOutput) Count

The number of yearly backups to keep. Must be between `1` and `10`

func (PolicyFileShareRetentionDailyOutput) ElementType

func (PolicyFileShareRetentionDailyOutput) ToPolicyFileShareRetentionDailyOutput

func (o PolicyFileShareRetentionDailyOutput) ToPolicyFileShareRetentionDailyOutput() PolicyFileShareRetentionDailyOutput

func (PolicyFileShareRetentionDailyOutput) ToPolicyFileShareRetentionDailyOutputWithContext

func (o PolicyFileShareRetentionDailyOutput) ToPolicyFileShareRetentionDailyOutputWithContext(ctx context.Context) PolicyFileShareRetentionDailyOutput

func (PolicyFileShareRetentionDailyOutput) ToPolicyFileShareRetentionDailyPtrOutput

func (o PolicyFileShareRetentionDailyOutput) ToPolicyFileShareRetentionDailyPtrOutput() PolicyFileShareRetentionDailyPtrOutput

func (PolicyFileShareRetentionDailyOutput) ToPolicyFileShareRetentionDailyPtrOutputWithContext

func (o PolicyFileShareRetentionDailyOutput) ToPolicyFileShareRetentionDailyPtrOutputWithContext(ctx context.Context) PolicyFileShareRetentionDailyPtrOutput

type PolicyFileShareRetentionDailyPtrInput

type PolicyFileShareRetentionDailyPtrInput interface {
	pulumi.Input

	ToPolicyFileShareRetentionDailyPtrOutput() PolicyFileShareRetentionDailyPtrOutput
	ToPolicyFileShareRetentionDailyPtrOutputWithContext(context.Context) PolicyFileShareRetentionDailyPtrOutput
}

PolicyFileShareRetentionDailyPtrInput is an input type that accepts PolicyFileShareRetentionDailyArgs, PolicyFileShareRetentionDailyPtr and PolicyFileShareRetentionDailyPtrOutput values. You can construct a concrete instance of `PolicyFileShareRetentionDailyPtrInput` via:

        PolicyFileShareRetentionDailyArgs{...}

or:

        nil

type PolicyFileShareRetentionDailyPtrOutput

type PolicyFileShareRetentionDailyPtrOutput struct{ *pulumi.OutputState }

func (PolicyFileShareRetentionDailyPtrOutput) Count

The number of yearly backups to keep. Must be between `1` and `10`

func (PolicyFileShareRetentionDailyPtrOutput) Elem

func (PolicyFileShareRetentionDailyPtrOutput) ElementType

func (PolicyFileShareRetentionDailyPtrOutput) ToPolicyFileShareRetentionDailyPtrOutput

func (o PolicyFileShareRetentionDailyPtrOutput) ToPolicyFileShareRetentionDailyPtrOutput() PolicyFileShareRetentionDailyPtrOutput

func (PolicyFileShareRetentionDailyPtrOutput) ToPolicyFileShareRetentionDailyPtrOutputWithContext

func (o PolicyFileShareRetentionDailyPtrOutput) ToPolicyFileShareRetentionDailyPtrOutputWithContext(ctx context.Context) PolicyFileShareRetentionDailyPtrOutput

type PolicyFileShareRetentionMonthly added in v4.1.0

type PolicyFileShareRetentionMonthly struct {
	// The number of yearly backups to keep. Must be between `1` and `10`
	Count int `pulumi:"count"`
	// The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.
	Weekdays []string `pulumi:"weekdays"`
	// The weeks of the month to retain backups of. Must be one of `First`, `Second`, `Third`, `Fourth`, `Last`.
	Weeks []string `pulumi:"weeks"`
}

type PolicyFileShareRetentionMonthlyArgs added in v4.1.0

type PolicyFileShareRetentionMonthlyArgs struct {
	// The number of yearly backups to keep. Must be between `1` and `10`
	Count pulumi.IntInput `pulumi:"count"`
	// The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.
	Weekdays pulumi.StringArrayInput `pulumi:"weekdays"`
	// The weeks of the month to retain backups of. Must be one of `First`, `Second`, `Third`, `Fourth`, `Last`.
	Weeks pulumi.StringArrayInput `pulumi:"weeks"`
}

func (PolicyFileShareRetentionMonthlyArgs) ElementType added in v4.1.0

func (PolicyFileShareRetentionMonthlyArgs) ToPolicyFileShareRetentionMonthlyOutput added in v4.1.0

func (i PolicyFileShareRetentionMonthlyArgs) ToPolicyFileShareRetentionMonthlyOutput() PolicyFileShareRetentionMonthlyOutput

func (PolicyFileShareRetentionMonthlyArgs) ToPolicyFileShareRetentionMonthlyOutputWithContext added in v4.1.0

func (i PolicyFileShareRetentionMonthlyArgs) ToPolicyFileShareRetentionMonthlyOutputWithContext(ctx context.Context) PolicyFileShareRetentionMonthlyOutput

func (PolicyFileShareRetentionMonthlyArgs) ToPolicyFileShareRetentionMonthlyPtrOutput added in v4.1.0

func (i PolicyFileShareRetentionMonthlyArgs) ToPolicyFileShareRetentionMonthlyPtrOutput() PolicyFileShareRetentionMonthlyPtrOutput

func (PolicyFileShareRetentionMonthlyArgs) ToPolicyFileShareRetentionMonthlyPtrOutputWithContext added in v4.1.0

func (i PolicyFileShareRetentionMonthlyArgs) ToPolicyFileShareRetentionMonthlyPtrOutputWithContext(ctx context.Context) PolicyFileShareRetentionMonthlyPtrOutput

type PolicyFileShareRetentionMonthlyInput added in v4.1.0

type PolicyFileShareRetentionMonthlyInput interface {
	pulumi.Input

	ToPolicyFileShareRetentionMonthlyOutput() PolicyFileShareRetentionMonthlyOutput
	ToPolicyFileShareRetentionMonthlyOutputWithContext(context.Context) PolicyFileShareRetentionMonthlyOutput
}

PolicyFileShareRetentionMonthlyInput is an input type that accepts PolicyFileShareRetentionMonthlyArgs and PolicyFileShareRetentionMonthlyOutput values. You can construct a concrete instance of `PolicyFileShareRetentionMonthlyInput` via:

PolicyFileShareRetentionMonthlyArgs{...}

type PolicyFileShareRetentionMonthlyOutput added in v4.1.0

type PolicyFileShareRetentionMonthlyOutput struct{ *pulumi.OutputState }

func (PolicyFileShareRetentionMonthlyOutput) Count added in v4.1.0

The number of yearly backups to keep. Must be between `1` and `10`

func (PolicyFileShareRetentionMonthlyOutput) ElementType added in v4.1.0

func (PolicyFileShareRetentionMonthlyOutput) ToPolicyFileShareRetentionMonthlyOutput added in v4.1.0

func (o PolicyFileShareRetentionMonthlyOutput) ToPolicyFileShareRetentionMonthlyOutput() PolicyFileShareRetentionMonthlyOutput

func (PolicyFileShareRetentionMonthlyOutput) ToPolicyFileShareRetentionMonthlyOutputWithContext added in v4.1.0

func (o PolicyFileShareRetentionMonthlyOutput) ToPolicyFileShareRetentionMonthlyOutputWithContext(ctx context.Context) PolicyFileShareRetentionMonthlyOutput

func (PolicyFileShareRetentionMonthlyOutput) ToPolicyFileShareRetentionMonthlyPtrOutput added in v4.1.0

func (o PolicyFileShareRetentionMonthlyOutput) ToPolicyFileShareRetentionMonthlyPtrOutput() PolicyFileShareRetentionMonthlyPtrOutput

func (PolicyFileShareRetentionMonthlyOutput) ToPolicyFileShareRetentionMonthlyPtrOutputWithContext added in v4.1.0

func (o PolicyFileShareRetentionMonthlyOutput) ToPolicyFileShareRetentionMonthlyPtrOutputWithContext(ctx context.Context) PolicyFileShareRetentionMonthlyPtrOutput

func (PolicyFileShareRetentionMonthlyOutput) Weekdays added in v4.1.0

The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.

func (PolicyFileShareRetentionMonthlyOutput) Weeks added in v4.1.0

The weeks of the month to retain backups of. Must be one of `First`, `Second`, `Third`, `Fourth`, `Last`.

type PolicyFileShareRetentionMonthlyPtrInput added in v4.1.0

type PolicyFileShareRetentionMonthlyPtrInput interface {
	pulumi.Input

	ToPolicyFileShareRetentionMonthlyPtrOutput() PolicyFileShareRetentionMonthlyPtrOutput
	ToPolicyFileShareRetentionMonthlyPtrOutputWithContext(context.Context) PolicyFileShareRetentionMonthlyPtrOutput
}

PolicyFileShareRetentionMonthlyPtrInput is an input type that accepts PolicyFileShareRetentionMonthlyArgs, PolicyFileShareRetentionMonthlyPtr and PolicyFileShareRetentionMonthlyPtrOutput values. You can construct a concrete instance of `PolicyFileShareRetentionMonthlyPtrInput` via:

        PolicyFileShareRetentionMonthlyArgs{...}

or:

        nil

type PolicyFileShareRetentionMonthlyPtrOutput added in v4.1.0

type PolicyFileShareRetentionMonthlyPtrOutput struct{ *pulumi.OutputState }

func (PolicyFileShareRetentionMonthlyPtrOutput) Count added in v4.1.0

The number of yearly backups to keep. Must be between `1` and `10`

func (PolicyFileShareRetentionMonthlyPtrOutput) Elem added in v4.1.0

func (PolicyFileShareRetentionMonthlyPtrOutput) ElementType added in v4.1.0

func (PolicyFileShareRetentionMonthlyPtrOutput) ToPolicyFileShareRetentionMonthlyPtrOutput added in v4.1.0

func (o PolicyFileShareRetentionMonthlyPtrOutput) ToPolicyFileShareRetentionMonthlyPtrOutput() PolicyFileShareRetentionMonthlyPtrOutput

func (PolicyFileShareRetentionMonthlyPtrOutput) ToPolicyFileShareRetentionMonthlyPtrOutputWithContext added in v4.1.0

func (o PolicyFileShareRetentionMonthlyPtrOutput) ToPolicyFileShareRetentionMonthlyPtrOutputWithContext(ctx context.Context) PolicyFileShareRetentionMonthlyPtrOutput

func (PolicyFileShareRetentionMonthlyPtrOutput) Weekdays added in v4.1.0

The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.

func (PolicyFileShareRetentionMonthlyPtrOutput) Weeks added in v4.1.0

The weeks of the month to retain backups of. Must be one of `First`, `Second`, `Third`, `Fourth`, `Last`.

type PolicyFileShareRetentionWeekly added in v4.1.0

type PolicyFileShareRetentionWeekly struct {
	// The number of yearly backups to keep. Must be between `1` and `10`
	Count int `pulumi:"count"`
	// The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.
	Weekdays []string `pulumi:"weekdays"`
}

type PolicyFileShareRetentionWeeklyArgs added in v4.1.0

type PolicyFileShareRetentionWeeklyArgs struct {
	// The number of yearly backups to keep. Must be between `1` and `10`
	Count pulumi.IntInput `pulumi:"count"`
	// The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.
	Weekdays pulumi.StringArrayInput `pulumi:"weekdays"`
}

func (PolicyFileShareRetentionWeeklyArgs) ElementType added in v4.1.0

func (PolicyFileShareRetentionWeeklyArgs) ToPolicyFileShareRetentionWeeklyOutput added in v4.1.0

func (i PolicyFileShareRetentionWeeklyArgs) ToPolicyFileShareRetentionWeeklyOutput() PolicyFileShareRetentionWeeklyOutput

func (PolicyFileShareRetentionWeeklyArgs) ToPolicyFileShareRetentionWeeklyOutputWithContext added in v4.1.0

func (i PolicyFileShareRetentionWeeklyArgs) ToPolicyFileShareRetentionWeeklyOutputWithContext(ctx context.Context) PolicyFileShareRetentionWeeklyOutput

func (PolicyFileShareRetentionWeeklyArgs) ToPolicyFileShareRetentionWeeklyPtrOutput added in v4.1.0

func (i PolicyFileShareRetentionWeeklyArgs) ToPolicyFileShareRetentionWeeklyPtrOutput() PolicyFileShareRetentionWeeklyPtrOutput

func (PolicyFileShareRetentionWeeklyArgs) ToPolicyFileShareRetentionWeeklyPtrOutputWithContext added in v4.1.0

func (i PolicyFileShareRetentionWeeklyArgs) ToPolicyFileShareRetentionWeeklyPtrOutputWithContext(ctx context.Context) PolicyFileShareRetentionWeeklyPtrOutput

type PolicyFileShareRetentionWeeklyInput added in v4.1.0

type PolicyFileShareRetentionWeeklyInput interface {
	pulumi.Input

	ToPolicyFileShareRetentionWeeklyOutput() PolicyFileShareRetentionWeeklyOutput
	ToPolicyFileShareRetentionWeeklyOutputWithContext(context.Context) PolicyFileShareRetentionWeeklyOutput
}

PolicyFileShareRetentionWeeklyInput is an input type that accepts PolicyFileShareRetentionWeeklyArgs and PolicyFileShareRetentionWeeklyOutput values. You can construct a concrete instance of `PolicyFileShareRetentionWeeklyInput` via:

PolicyFileShareRetentionWeeklyArgs{...}

type PolicyFileShareRetentionWeeklyOutput added in v4.1.0

type PolicyFileShareRetentionWeeklyOutput struct{ *pulumi.OutputState }

func (PolicyFileShareRetentionWeeklyOutput) Count added in v4.1.0

The number of yearly backups to keep. Must be between `1` and `10`

func (PolicyFileShareRetentionWeeklyOutput) ElementType added in v4.1.0

func (PolicyFileShareRetentionWeeklyOutput) ToPolicyFileShareRetentionWeeklyOutput added in v4.1.0

func (o PolicyFileShareRetentionWeeklyOutput) ToPolicyFileShareRetentionWeeklyOutput() PolicyFileShareRetentionWeeklyOutput

func (PolicyFileShareRetentionWeeklyOutput) ToPolicyFileShareRetentionWeeklyOutputWithContext added in v4.1.0

func (o PolicyFileShareRetentionWeeklyOutput) ToPolicyFileShareRetentionWeeklyOutputWithContext(ctx context.Context) PolicyFileShareRetentionWeeklyOutput

func (PolicyFileShareRetentionWeeklyOutput) ToPolicyFileShareRetentionWeeklyPtrOutput added in v4.1.0

func (o PolicyFileShareRetentionWeeklyOutput) ToPolicyFileShareRetentionWeeklyPtrOutput() PolicyFileShareRetentionWeeklyPtrOutput

func (PolicyFileShareRetentionWeeklyOutput) ToPolicyFileShareRetentionWeeklyPtrOutputWithContext added in v4.1.0

func (o PolicyFileShareRetentionWeeklyOutput) ToPolicyFileShareRetentionWeeklyPtrOutputWithContext(ctx context.Context) PolicyFileShareRetentionWeeklyPtrOutput

func (PolicyFileShareRetentionWeeklyOutput) Weekdays added in v4.1.0

The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.

type PolicyFileShareRetentionWeeklyPtrInput added in v4.1.0

type PolicyFileShareRetentionWeeklyPtrInput interface {
	pulumi.Input

	ToPolicyFileShareRetentionWeeklyPtrOutput() PolicyFileShareRetentionWeeklyPtrOutput
	ToPolicyFileShareRetentionWeeklyPtrOutputWithContext(context.Context) PolicyFileShareRetentionWeeklyPtrOutput
}

PolicyFileShareRetentionWeeklyPtrInput is an input type that accepts PolicyFileShareRetentionWeeklyArgs, PolicyFileShareRetentionWeeklyPtr and PolicyFileShareRetentionWeeklyPtrOutput values. You can construct a concrete instance of `PolicyFileShareRetentionWeeklyPtrInput` via:

        PolicyFileShareRetentionWeeklyArgs{...}

or:

        nil

type PolicyFileShareRetentionWeeklyPtrOutput added in v4.1.0

type PolicyFileShareRetentionWeeklyPtrOutput struct{ *pulumi.OutputState }

func (PolicyFileShareRetentionWeeklyPtrOutput) Count added in v4.1.0

The number of yearly backups to keep. Must be between `1` and `10`

func (PolicyFileShareRetentionWeeklyPtrOutput) Elem added in v4.1.0

func (PolicyFileShareRetentionWeeklyPtrOutput) ElementType added in v4.1.0

func (PolicyFileShareRetentionWeeklyPtrOutput) ToPolicyFileShareRetentionWeeklyPtrOutput added in v4.1.0

func (o PolicyFileShareRetentionWeeklyPtrOutput) ToPolicyFileShareRetentionWeeklyPtrOutput() PolicyFileShareRetentionWeeklyPtrOutput

func (PolicyFileShareRetentionWeeklyPtrOutput) ToPolicyFileShareRetentionWeeklyPtrOutputWithContext added in v4.1.0

func (o PolicyFileShareRetentionWeeklyPtrOutput) ToPolicyFileShareRetentionWeeklyPtrOutputWithContext(ctx context.Context) PolicyFileShareRetentionWeeklyPtrOutput

func (PolicyFileShareRetentionWeeklyPtrOutput) Weekdays added in v4.1.0

The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.

type PolicyFileShareRetentionYearly added in v4.1.0

type PolicyFileShareRetentionYearly struct {
	// The number of yearly backups to keep. Must be between `1` and `10`
	Count int `pulumi:"count"`
	// The months of the year to retain backups of. Must be one of `January`, `February`, `March`, `April`, `May`, `June`, `July`, `Augest`, `September`, `October`, `November` and `December`.
	Months []string `pulumi:"months"`
	// The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.
	Weekdays []string `pulumi:"weekdays"`
	// The weeks of the month to retain backups of. Must be one of `First`, `Second`, `Third`, `Fourth`, `Last`.
	Weeks []string `pulumi:"weeks"`
}

type PolicyFileShareRetentionYearlyArgs added in v4.1.0

type PolicyFileShareRetentionYearlyArgs struct {
	// The number of yearly backups to keep. Must be between `1` and `10`
	Count pulumi.IntInput `pulumi:"count"`
	// The months of the year to retain backups of. Must be one of `January`, `February`, `March`, `April`, `May`, `June`, `July`, `Augest`, `September`, `October`, `November` and `December`.
	Months pulumi.StringArrayInput `pulumi:"months"`
	// The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.
	Weekdays pulumi.StringArrayInput `pulumi:"weekdays"`
	// The weeks of the month to retain backups of. Must be one of `First`, `Second`, `Third`, `Fourth`, `Last`.
	Weeks pulumi.StringArrayInput `pulumi:"weeks"`
}

func (PolicyFileShareRetentionYearlyArgs) ElementType added in v4.1.0

func (PolicyFileShareRetentionYearlyArgs) ToPolicyFileShareRetentionYearlyOutput added in v4.1.0

func (i PolicyFileShareRetentionYearlyArgs) ToPolicyFileShareRetentionYearlyOutput() PolicyFileShareRetentionYearlyOutput

func (PolicyFileShareRetentionYearlyArgs) ToPolicyFileShareRetentionYearlyOutputWithContext added in v4.1.0

func (i PolicyFileShareRetentionYearlyArgs) ToPolicyFileShareRetentionYearlyOutputWithContext(ctx context.Context) PolicyFileShareRetentionYearlyOutput

func (PolicyFileShareRetentionYearlyArgs) ToPolicyFileShareRetentionYearlyPtrOutput added in v4.1.0

func (i PolicyFileShareRetentionYearlyArgs) ToPolicyFileShareRetentionYearlyPtrOutput() PolicyFileShareRetentionYearlyPtrOutput

func (PolicyFileShareRetentionYearlyArgs) ToPolicyFileShareRetentionYearlyPtrOutputWithContext added in v4.1.0

func (i PolicyFileShareRetentionYearlyArgs) ToPolicyFileShareRetentionYearlyPtrOutputWithContext(ctx context.Context) PolicyFileShareRetentionYearlyPtrOutput

type PolicyFileShareRetentionYearlyInput added in v4.1.0

type PolicyFileShareRetentionYearlyInput interface {
	pulumi.Input

	ToPolicyFileShareRetentionYearlyOutput() PolicyFileShareRetentionYearlyOutput
	ToPolicyFileShareRetentionYearlyOutputWithContext(context.Context) PolicyFileShareRetentionYearlyOutput
}

PolicyFileShareRetentionYearlyInput is an input type that accepts PolicyFileShareRetentionYearlyArgs and PolicyFileShareRetentionYearlyOutput values. You can construct a concrete instance of `PolicyFileShareRetentionYearlyInput` via:

PolicyFileShareRetentionYearlyArgs{...}

type PolicyFileShareRetentionYearlyOutput added in v4.1.0

type PolicyFileShareRetentionYearlyOutput struct{ *pulumi.OutputState }

func (PolicyFileShareRetentionYearlyOutput) Count added in v4.1.0

The number of yearly backups to keep. Must be between `1` and `10`

func (PolicyFileShareRetentionYearlyOutput) ElementType added in v4.1.0

func (PolicyFileShareRetentionYearlyOutput) Months added in v4.1.0

The months of the year to retain backups of. Must be one of `January`, `February`, `March`, `April`, `May`, `June`, `July`, `Augest`, `September`, `October`, `November` and `December`.

func (PolicyFileShareRetentionYearlyOutput) ToPolicyFileShareRetentionYearlyOutput added in v4.1.0

func (o PolicyFileShareRetentionYearlyOutput) ToPolicyFileShareRetentionYearlyOutput() PolicyFileShareRetentionYearlyOutput

func (PolicyFileShareRetentionYearlyOutput) ToPolicyFileShareRetentionYearlyOutputWithContext added in v4.1.0

func (o PolicyFileShareRetentionYearlyOutput) ToPolicyFileShareRetentionYearlyOutputWithContext(ctx context.Context) PolicyFileShareRetentionYearlyOutput

func (PolicyFileShareRetentionYearlyOutput) ToPolicyFileShareRetentionYearlyPtrOutput added in v4.1.0

func (o PolicyFileShareRetentionYearlyOutput) ToPolicyFileShareRetentionYearlyPtrOutput() PolicyFileShareRetentionYearlyPtrOutput

func (PolicyFileShareRetentionYearlyOutput) ToPolicyFileShareRetentionYearlyPtrOutputWithContext added in v4.1.0

func (o PolicyFileShareRetentionYearlyOutput) ToPolicyFileShareRetentionYearlyPtrOutputWithContext(ctx context.Context) PolicyFileShareRetentionYearlyPtrOutput

func (PolicyFileShareRetentionYearlyOutput) Weekdays added in v4.1.0

The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.

func (PolicyFileShareRetentionYearlyOutput) Weeks added in v4.1.0

The weeks of the month to retain backups of. Must be one of `First`, `Second`, `Third`, `Fourth`, `Last`.

type PolicyFileShareRetentionYearlyPtrInput added in v4.1.0

type PolicyFileShareRetentionYearlyPtrInput interface {
	pulumi.Input

	ToPolicyFileShareRetentionYearlyPtrOutput() PolicyFileShareRetentionYearlyPtrOutput
	ToPolicyFileShareRetentionYearlyPtrOutputWithContext(context.Context) PolicyFileShareRetentionYearlyPtrOutput
}

PolicyFileShareRetentionYearlyPtrInput is an input type that accepts PolicyFileShareRetentionYearlyArgs, PolicyFileShareRetentionYearlyPtr and PolicyFileShareRetentionYearlyPtrOutput values. You can construct a concrete instance of `PolicyFileShareRetentionYearlyPtrInput` via:

        PolicyFileShareRetentionYearlyArgs{...}

or:

        nil

type PolicyFileShareRetentionYearlyPtrOutput added in v4.1.0

type PolicyFileShareRetentionYearlyPtrOutput struct{ *pulumi.OutputState }

func (PolicyFileShareRetentionYearlyPtrOutput) Count added in v4.1.0

The number of yearly backups to keep. Must be between `1` and `10`

func (PolicyFileShareRetentionYearlyPtrOutput) Elem added in v4.1.0

func (PolicyFileShareRetentionYearlyPtrOutput) ElementType added in v4.1.0

func (PolicyFileShareRetentionYearlyPtrOutput) Months added in v4.1.0

The months of the year to retain backups of. Must be one of `January`, `February`, `March`, `April`, `May`, `June`, `July`, `Augest`, `September`, `October`, `November` and `December`.

func (PolicyFileShareRetentionYearlyPtrOutput) ToPolicyFileShareRetentionYearlyPtrOutput added in v4.1.0

func (o PolicyFileShareRetentionYearlyPtrOutput) ToPolicyFileShareRetentionYearlyPtrOutput() PolicyFileShareRetentionYearlyPtrOutput

func (PolicyFileShareRetentionYearlyPtrOutput) ToPolicyFileShareRetentionYearlyPtrOutputWithContext added in v4.1.0

func (o PolicyFileShareRetentionYearlyPtrOutput) ToPolicyFileShareRetentionYearlyPtrOutputWithContext(ctx context.Context) PolicyFileShareRetentionYearlyPtrOutput

func (PolicyFileShareRetentionYearlyPtrOutput) Weekdays added in v4.1.0

The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.

func (PolicyFileShareRetentionYearlyPtrOutput) Weeks added in v4.1.0

The weeks of the month to retain backups of. Must be one of `First`, `Second`, `Third`, `Fourth`, `Last`.

type PolicyFileShareState

type PolicyFileShareState struct {
	// Configures the Policy backup frequency and times as documented in the `backup` block below.
	Backup PolicyFileShareBackupPtrInput
	// Specifies the name of the policy. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Specifies the name of the Recovery Services Vault to use. Changing this forces a new resource to be created.
	RecoveryVaultName pulumi.StringPtrInput
	// The name of the resource group in which to create the policy. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// Configures the policy daily retention as documented in the `retentionDaily` block below.
	RetentionDaily PolicyFileShareRetentionDailyPtrInput
	// Configures the policy monthly retention as documented in the `retentionMonthly` block below.
	RetentionMonthly PolicyFileShareRetentionMonthlyPtrInput
	// Configures the policy weekly retention as documented in the `retentionWeekly` block below.
	RetentionWeekly PolicyFileShareRetentionWeeklyPtrInput
	// Configures the policy yearly retention as documented in the `retentionYearly` block below.
	RetentionYearly PolicyFileShareRetentionYearlyPtrInput
	Tags            pulumi.StringMapInput
	// Specifies the timezone. [the possible values are defined here](http://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/). Defaults to `UTC`
	Timezone pulumi.StringPtrInput
}

func (PolicyFileShareState) ElementType

func (PolicyFileShareState) ElementType() reflect.Type

type PolicyVM

type PolicyVM struct {
	pulumi.CustomResourceState

	// Configures the Policy backup frequency, times & days as documented in the `backup` block below.
	Backup PolicyVMBackupOutput `pulumi:"backup"`
	// Specifies the instant restore retention range in days.
	InstantRestoreRetentionDays pulumi.IntOutput `pulumi:"instantRestoreRetentionDays"`
	// Specifies the name of the Backup Policy. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies the name of the Recovery Services Vault to use. Changing this forces a new resource to be created.
	RecoveryVaultName pulumi.StringOutput `pulumi:"recoveryVaultName"`
	// The name of the resource group in which to create the policy. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// Configures the policy daily retention as documented in the `retentionDaily` block below. Required when backup frequency is `Daily`.
	RetentionDaily PolicyVMRetentionDailyPtrOutput `pulumi:"retentionDaily"`
	// Configures the policy monthly retention as documented in the `retentionMonthly` block below.
	RetentionMonthly PolicyVMRetentionMonthlyPtrOutput `pulumi:"retentionMonthly"`
	// Configures the policy weekly retention as documented in the `retentionWeekly` block below. Required when backup frequency is `Weekly`.
	RetentionWeekly PolicyVMRetentionWeeklyPtrOutput `pulumi:"retentionWeekly"`
	// Configures the policy yearly retention as documented in the `retentionYearly` block below.
	RetentionYearly PolicyVMRetentionYearlyPtrOutput `pulumi:"retentionYearly"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Specifies the timezone. [the possible values are defined here](http://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/). Defaults to `UTC`
	Timezone pulumi.StringPtrOutput `pulumi:"timezone"`
}

Manages an Azure Backup VM Backup Policy.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/backup"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/recoveryservices"
"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("West Europe"),
		})
		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
		}
		_, err = backup.NewPolicyVM(ctx, "examplePolicyVM", &backup.PolicyVMArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			RecoveryVaultName: exampleVault.Name,
			Timezone:          pulumi.String("UTC"),
			Backup: &backup.PolicyVMBackupArgs{
				Frequency: pulumi.String("Daily"),
				Time:      pulumi.String("23:00"),
			},
			RetentionDaily: &backup.PolicyVMRetentionDailyArgs{
				Count: pulumi.Int(10),
			},
			RetentionWeekly: &backup.PolicyVMRetentionWeeklyArgs{
				Count: pulumi.Int(42),
				Weekdays: pulumi.StringArray{
					pulumi.String("Sunday"),
					pulumi.String("Wednesday"),
					pulumi.String("Friday"),
					pulumi.String("Saturday"),
				},
			},
			RetentionMonthly: &backup.PolicyVMRetentionMonthlyArgs{
				Count: pulumi.Int(7),
				Weekdays: pulumi.StringArray{
					pulumi.String("Sunday"),
					pulumi.String("Wednesday"),
				},
				Weeks: pulumi.StringArray{
					pulumi.String("First"),
					pulumi.String("Last"),
				},
			},
			RetentionYearly: &backup.PolicyVMRetentionYearlyArgs{
				Count: pulumi.Int(77),
				Weekdays: pulumi.StringArray{
					pulumi.String("Sunday"),
				},
				Weeks: pulumi.StringArray{
					pulumi.String("Last"),
				},
				Months: pulumi.StringArray{
					pulumi.String("January"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VM Backup Policies can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:backup/policyVM:PolicyVM policy1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.RecoveryServices/vaults/example-recovery-vault/backupPolicies/policy1

```

func GetPolicyVM

func GetPolicyVM(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PolicyVMState, opts ...pulumi.ResourceOption) (*PolicyVM, error)

GetPolicyVM gets an existing PolicyVM 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 NewPolicyVM

func NewPolicyVM(ctx *pulumi.Context,
	name string, args *PolicyVMArgs, opts ...pulumi.ResourceOption) (*PolicyVM, error)

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

func (*PolicyVM) ElementType

func (*PolicyVM) ElementType() reflect.Type

func (*PolicyVM) ToPolicyVMOutput

func (i *PolicyVM) ToPolicyVMOutput() PolicyVMOutput

func (*PolicyVM) ToPolicyVMOutputWithContext

func (i *PolicyVM) ToPolicyVMOutputWithContext(ctx context.Context) PolicyVMOutput

type PolicyVMArgs

type PolicyVMArgs struct {
	// Configures the Policy backup frequency, times & days as documented in the `backup` block below.
	Backup PolicyVMBackupInput
	// Specifies the instant restore retention range in days.
	InstantRestoreRetentionDays pulumi.IntPtrInput
	// Specifies the name of the Backup Policy. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Specifies the name of the Recovery Services Vault to use. Changing this forces a new resource to be created.
	RecoveryVaultName pulumi.StringInput
	// The name of the resource group in which to create the policy. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// Configures the policy daily retention as documented in the `retentionDaily` block below. Required when backup frequency is `Daily`.
	RetentionDaily PolicyVMRetentionDailyPtrInput
	// Configures the policy monthly retention as documented in the `retentionMonthly` block below.
	RetentionMonthly PolicyVMRetentionMonthlyPtrInput
	// Configures the policy weekly retention as documented in the `retentionWeekly` block below. Required when backup frequency is `Weekly`.
	RetentionWeekly PolicyVMRetentionWeeklyPtrInput
	// Configures the policy yearly retention as documented in the `retentionYearly` block below.
	RetentionYearly PolicyVMRetentionYearlyPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Specifies the timezone. [the possible values are defined here](http://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/). Defaults to `UTC`
	Timezone pulumi.StringPtrInput
}

The set of arguments for constructing a PolicyVM resource.

func (PolicyVMArgs) ElementType

func (PolicyVMArgs) ElementType() reflect.Type

type PolicyVMArray

type PolicyVMArray []PolicyVMInput

func (PolicyVMArray) ElementType

func (PolicyVMArray) ElementType() reflect.Type

func (PolicyVMArray) ToPolicyVMArrayOutput

func (i PolicyVMArray) ToPolicyVMArrayOutput() PolicyVMArrayOutput

func (PolicyVMArray) ToPolicyVMArrayOutputWithContext

func (i PolicyVMArray) ToPolicyVMArrayOutputWithContext(ctx context.Context) PolicyVMArrayOutput

type PolicyVMArrayInput

type PolicyVMArrayInput interface {
	pulumi.Input

	ToPolicyVMArrayOutput() PolicyVMArrayOutput
	ToPolicyVMArrayOutputWithContext(context.Context) PolicyVMArrayOutput
}

PolicyVMArrayInput is an input type that accepts PolicyVMArray and PolicyVMArrayOutput values. You can construct a concrete instance of `PolicyVMArrayInput` via:

PolicyVMArray{ PolicyVMArgs{...} }

type PolicyVMArrayOutput

type PolicyVMArrayOutput struct{ *pulumi.OutputState }

func (PolicyVMArrayOutput) ElementType

func (PolicyVMArrayOutput) ElementType() reflect.Type

func (PolicyVMArrayOutput) Index

func (PolicyVMArrayOutput) ToPolicyVMArrayOutput

func (o PolicyVMArrayOutput) ToPolicyVMArrayOutput() PolicyVMArrayOutput

func (PolicyVMArrayOutput) ToPolicyVMArrayOutputWithContext

func (o PolicyVMArrayOutput) ToPolicyVMArrayOutputWithContext(ctx context.Context) PolicyVMArrayOutput

type PolicyVMBackup

type PolicyVMBackup struct {
	// Sets the backup frequency. Must be either `Daily` or`Weekly`.
	Frequency string `pulumi:"frequency"`
	// The time of day to perform the backup in 24hour format.
	Time string `pulumi:"time"`
	// The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.
	Weekdays []string `pulumi:"weekdays"`
}

type PolicyVMBackupArgs

type PolicyVMBackupArgs struct {
	// Sets the backup frequency. Must be either `Daily` or`Weekly`.
	Frequency pulumi.StringInput `pulumi:"frequency"`
	// The time of day to perform the backup in 24hour format.
	Time pulumi.StringInput `pulumi:"time"`
	// The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.
	Weekdays pulumi.StringArrayInput `pulumi:"weekdays"`
}

func (PolicyVMBackupArgs) ElementType

func (PolicyVMBackupArgs) ElementType() reflect.Type

func (PolicyVMBackupArgs) ToPolicyVMBackupOutput

func (i PolicyVMBackupArgs) ToPolicyVMBackupOutput() PolicyVMBackupOutput

func (PolicyVMBackupArgs) ToPolicyVMBackupOutputWithContext

func (i PolicyVMBackupArgs) ToPolicyVMBackupOutputWithContext(ctx context.Context) PolicyVMBackupOutput

func (PolicyVMBackupArgs) ToPolicyVMBackupPtrOutput

func (i PolicyVMBackupArgs) ToPolicyVMBackupPtrOutput() PolicyVMBackupPtrOutput

func (PolicyVMBackupArgs) ToPolicyVMBackupPtrOutputWithContext

func (i PolicyVMBackupArgs) ToPolicyVMBackupPtrOutputWithContext(ctx context.Context) PolicyVMBackupPtrOutput

type PolicyVMBackupInput

type PolicyVMBackupInput interface {
	pulumi.Input

	ToPolicyVMBackupOutput() PolicyVMBackupOutput
	ToPolicyVMBackupOutputWithContext(context.Context) PolicyVMBackupOutput
}

PolicyVMBackupInput is an input type that accepts PolicyVMBackupArgs and PolicyVMBackupOutput values. You can construct a concrete instance of `PolicyVMBackupInput` via:

PolicyVMBackupArgs{...}

type PolicyVMBackupOutput

type PolicyVMBackupOutput struct{ *pulumi.OutputState }

func (PolicyVMBackupOutput) ElementType

func (PolicyVMBackupOutput) ElementType() reflect.Type

func (PolicyVMBackupOutput) Frequency

Sets the backup frequency. Must be either `Daily` or`Weekly`.

func (PolicyVMBackupOutput) Time

The time of day to perform the backup in 24hour format.

func (PolicyVMBackupOutput) ToPolicyVMBackupOutput

func (o PolicyVMBackupOutput) ToPolicyVMBackupOutput() PolicyVMBackupOutput

func (PolicyVMBackupOutput) ToPolicyVMBackupOutputWithContext

func (o PolicyVMBackupOutput) ToPolicyVMBackupOutputWithContext(ctx context.Context) PolicyVMBackupOutput

func (PolicyVMBackupOutput) ToPolicyVMBackupPtrOutput

func (o PolicyVMBackupOutput) ToPolicyVMBackupPtrOutput() PolicyVMBackupPtrOutput

func (PolicyVMBackupOutput) ToPolicyVMBackupPtrOutputWithContext

func (o PolicyVMBackupOutput) ToPolicyVMBackupPtrOutputWithContext(ctx context.Context) PolicyVMBackupPtrOutput

func (PolicyVMBackupOutput) Weekdays

The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.

type PolicyVMBackupPtrInput

type PolicyVMBackupPtrInput interface {
	pulumi.Input

	ToPolicyVMBackupPtrOutput() PolicyVMBackupPtrOutput
	ToPolicyVMBackupPtrOutputWithContext(context.Context) PolicyVMBackupPtrOutput
}

PolicyVMBackupPtrInput is an input type that accepts PolicyVMBackupArgs, PolicyVMBackupPtr and PolicyVMBackupPtrOutput values. You can construct a concrete instance of `PolicyVMBackupPtrInput` via:

        PolicyVMBackupArgs{...}

or:

        nil

type PolicyVMBackupPtrOutput

type PolicyVMBackupPtrOutput struct{ *pulumi.OutputState }

func (PolicyVMBackupPtrOutput) Elem

func (PolicyVMBackupPtrOutput) ElementType

func (PolicyVMBackupPtrOutput) ElementType() reflect.Type

func (PolicyVMBackupPtrOutput) Frequency

Sets the backup frequency. Must be either `Daily` or`Weekly`.

func (PolicyVMBackupPtrOutput) Time

The time of day to perform the backup in 24hour format.

func (PolicyVMBackupPtrOutput) ToPolicyVMBackupPtrOutput

func (o PolicyVMBackupPtrOutput) ToPolicyVMBackupPtrOutput() PolicyVMBackupPtrOutput

func (PolicyVMBackupPtrOutput) ToPolicyVMBackupPtrOutputWithContext

func (o PolicyVMBackupPtrOutput) ToPolicyVMBackupPtrOutputWithContext(ctx context.Context) PolicyVMBackupPtrOutput

func (PolicyVMBackupPtrOutput) Weekdays

The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.

type PolicyVMInput

type PolicyVMInput interface {
	pulumi.Input

	ToPolicyVMOutput() PolicyVMOutput
	ToPolicyVMOutputWithContext(ctx context.Context) PolicyVMOutput
}

type PolicyVMMap

type PolicyVMMap map[string]PolicyVMInput

func (PolicyVMMap) ElementType

func (PolicyVMMap) ElementType() reflect.Type

func (PolicyVMMap) ToPolicyVMMapOutput

func (i PolicyVMMap) ToPolicyVMMapOutput() PolicyVMMapOutput

func (PolicyVMMap) ToPolicyVMMapOutputWithContext

func (i PolicyVMMap) ToPolicyVMMapOutputWithContext(ctx context.Context) PolicyVMMapOutput

type PolicyVMMapInput

type PolicyVMMapInput interface {
	pulumi.Input

	ToPolicyVMMapOutput() PolicyVMMapOutput
	ToPolicyVMMapOutputWithContext(context.Context) PolicyVMMapOutput
}

PolicyVMMapInput is an input type that accepts PolicyVMMap and PolicyVMMapOutput values. You can construct a concrete instance of `PolicyVMMapInput` via:

PolicyVMMap{ "key": PolicyVMArgs{...} }

type PolicyVMMapOutput

type PolicyVMMapOutput struct{ *pulumi.OutputState }

func (PolicyVMMapOutput) ElementType

func (PolicyVMMapOutput) ElementType() reflect.Type

func (PolicyVMMapOutput) MapIndex

func (PolicyVMMapOutput) ToPolicyVMMapOutput

func (o PolicyVMMapOutput) ToPolicyVMMapOutput() PolicyVMMapOutput

func (PolicyVMMapOutput) ToPolicyVMMapOutputWithContext

func (o PolicyVMMapOutput) ToPolicyVMMapOutputWithContext(ctx context.Context) PolicyVMMapOutput

type PolicyVMOutput

type PolicyVMOutput struct{ *pulumi.OutputState }

func (PolicyVMOutput) ElementType

func (PolicyVMOutput) ElementType() reflect.Type

func (PolicyVMOutput) ToPolicyVMOutput

func (o PolicyVMOutput) ToPolicyVMOutput() PolicyVMOutput

func (PolicyVMOutput) ToPolicyVMOutputWithContext

func (o PolicyVMOutput) ToPolicyVMOutputWithContext(ctx context.Context) PolicyVMOutput

type PolicyVMRetentionDaily

type PolicyVMRetentionDaily struct {
	// The number of yearly backups to keep. Must be between `1` and `9999`
	Count int `pulumi:"count"`
}

type PolicyVMRetentionDailyArgs

type PolicyVMRetentionDailyArgs struct {
	// The number of yearly backups to keep. Must be between `1` and `9999`
	Count pulumi.IntInput `pulumi:"count"`
}

func (PolicyVMRetentionDailyArgs) ElementType

func (PolicyVMRetentionDailyArgs) ElementType() reflect.Type

func (PolicyVMRetentionDailyArgs) ToPolicyVMRetentionDailyOutput

func (i PolicyVMRetentionDailyArgs) ToPolicyVMRetentionDailyOutput() PolicyVMRetentionDailyOutput

func (PolicyVMRetentionDailyArgs) ToPolicyVMRetentionDailyOutputWithContext

func (i PolicyVMRetentionDailyArgs) ToPolicyVMRetentionDailyOutputWithContext(ctx context.Context) PolicyVMRetentionDailyOutput

func (PolicyVMRetentionDailyArgs) ToPolicyVMRetentionDailyPtrOutput

func (i PolicyVMRetentionDailyArgs) ToPolicyVMRetentionDailyPtrOutput() PolicyVMRetentionDailyPtrOutput

func (PolicyVMRetentionDailyArgs) ToPolicyVMRetentionDailyPtrOutputWithContext

func (i PolicyVMRetentionDailyArgs) ToPolicyVMRetentionDailyPtrOutputWithContext(ctx context.Context) PolicyVMRetentionDailyPtrOutput

type PolicyVMRetentionDailyInput

type PolicyVMRetentionDailyInput interface {
	pulumi.Input

	ToPolicyVMRetentionDailyOutput() PolicyVMRetentionDailyOutput
	ToPolicyVMRetentionDailyOutputWithContext(context.Context) PolicyVMRetentionDailyOutput
}

PolicyVMRetentionDailyInput is an input type that accepts PolicyVMRetentionDailyArgs and PolicyVMRetentionDailyOutput values. You can construct a concrete instance of `PolicyVMRetentionDailyInput` via:

PolicyVMRetentionDailyArgs{...}

type PolicyVMRetentionDailyOutput

type PolicyVMRetentionDailyOutput struct{ *pulumi.OutputState }

func (PolicyVMRetentionDailyOutput) Count

The number of yearly backups to keep. Must be between `1` and `9999`

func (PolicyVMRetentionDailyOutput) ElementType

func (PolicyVMRetentionDailyOutput) ToPolicyVMRetentionDailyOutput

func (o PolicyVMRetentionDailyOutput) ToPolicyVMRetentionDailyOutput() PolicyVMRetentionDailyOutput

func (PolicyVMRetentionDailyOutput) ToPolicyVMRetentionDailyOutputWithContext

func (o PolicyVMRetentionDailyOutput) ToPolicyVMRetentionDailyOutputWithContext(ctx context.Context) PolicyVMRetentionDailyOutput

func (PolicyVMRetentionDailyOutput) ToPolicyVMRetentionDailyPtrOutput

func (o PolicyVMRetentionDailyOutput) ToPolicyVMRetentionDailyPtrOutput() PolicyVMRetentionDailyPtrOutput

func (PolicyVMRetentionDailyOutput) ToPolicyVMRetentionDailyPtrOutputWithContext

func (o PolicyVMRetentionDailyOutput) ToPolicyVMRetentionDailyPtrOutputWithContext(ctx context.Context) PolicyVMRetentionDailyPtrOutput

type PolicyVMRetentionDailyPtrInput

type PolicyVMRetentionDailyPtrInput interface {
	pulumi.Input

	ToPolicyVMRetentionDailyPtrOutput() PolicyVMRetentionDailyPtrOutput
	ToPolicyVMRetentionDailyPtrOutputWithContext(context.Context) PolicyVMRetentionDailyPtrOutput
}

PolicyVMRetentionDailyPtrInput is an input type that accepts PolicyVMRetentionDailyArgs, PolicyVMRetentionDailyPtr and PolicyVMRetentionDailyPtrOutput values. You can construct a concrete instance of `PolicyVMRetentionDailyPtrInput` via:

        PolicyVMRetentionDailyArgs{...}

or:

        nil

type PolicyVMRetentionDailyPtrOutput

type PolicyVMRetentionDailyPtrOutput struct{ *pulumi.OutputState }

func (PolicyVMRetentionDailyPtrOutput) Count

The number of yearly backups to keep. Must be between `1` and `9999`

func (PolicyVMRetentionDailyPtrOutput) Elem

func (PolicyVMRetentionDailyPtrOutput) ElementType

func (PolicyVMRetentionDailyPtrOutput) ToPolicyVMRetentionDailyPtrOutput

func (o PolicyVMRetentionDailyPtrOutput) ToPolicyVMRetentionDailyPtrOutput() PolicyVMRetentionDailyPtrOutput

func (PolicyVMRetentionDailyPtrOutput) ToPolicyVMRetentionDailyPtrOutputWithContext

func (o PolicyVMRetentionDailyPtrOutput) ToPolicyVMRetentionDailyPtrOutputWithContext(ctx context.Context) PolicyVMRetentionDailyPtrOutput

type PolicyVMRetentionMonthly

type PolicyVMRetentionMonthly struct {
	// The number of yearly backups to keep. Must be between `1` and `9999`
	Count int `pulumi:"count"`
	// The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.
	Weekdays []string `pulumi:"weekdays"`
	// The weeks of the month to retain backups of. Must be one of `First`, `Second`, `Third`, `Fourth`, `Last`.
	Weeks []string `pulumi:"weeks"`
}

type PolicyVMRetentionMonthlyArgs

type PolicyVMRetentionMonthlyArgs struct {
	// The number of yearly backups to keep. Must be between `1` and `9999`
	Count pulumi.IntInput `pulumi:"count"`
	// The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.
	Weekdays pulumi.StringArrayInput `pulumi:"weekdays"`
	// The weeks of the month to retain backups of. Must be one of `First`, `Second`, `Third`, `Fourth`, `Last`.
	Weeks pulumi.StringArrayInput `pulumi:"weeks"`
}

func (PolicyVMRetentionMonthlyArgs) ElementType

func (PolicyVMRetentionMonthlyArgs) ToPolicyVMRetentionMonthlyOutput

func (i PolicyVMRetentionMonthlyArgs) ToPolicyVMRetentionMonthlyOutput() PolicyVMRetentionMonthlyOutput

func (PolicyVMRetentionMonthlyArgs) ToPolicyVMRetentionMonthlyOutputWithContext

func (i PolicyVMRetentionMonthlyArgs) ToPolicyVMRetentionMonthlyOutputWithContext(ctx context.Context) PolicyVMRetentionMonthlyOutput

func (PolicyVMRetentionMonthlyArgs) ToPolicyVMRetentionMonthlyPtrOutput

func (i PolicyVMRetentionMonthlyArgs) ToPolicyVMRetentionMonthlyPtrOutput() PolicyVMRetentionMonthlyPtrOutput

func (PolicyVMRetentionMonthlyArgs) ToPolicyVMRetentionMonthlyPtrOutputWithContext

func (i PolicyVMRetentionMonthlyArgs) ToPolicyVMRetentionMonthlyPtrOutputWithContext(ctx context.Context) PolicyVMRetentionMonthlyPtrOutput

type PolicyVMRetentionMonthlyInput

type PolicyVMRetentionMonthlyInput interface {
	pulumi.Input

	ToPolicyVMRetentionMonthlyOutput() PolicyVMRetentionMonthlyOutput
	ToPolicyVMRetentionMonthlyOutputWithContext(context.Context) PolicyVMRetentionMonthlyOutput
}

PolicyVMRetentionMonthlyInput is an input type that accepts PolicyVMRetentionMonthlyArgs and PolicyVMRetentionMonthlyOutput values. You can construct a concrete instance of `PolicyVMRetentionMonthlyInput` via:

PolicyVMRetentionMonthlyArgs{...}

type PolicyVMRetentionMonthlyOutput

type PolicyVMRetentionMonthlyOutput struct{ *pulumi.OutputState }

func (PolicyVMRetentionMonthlyOutput) Count

The number of yearly backups to keep. Must be between `1` and `9999`

func (PolicyVMRetentionMonthlyOutput) ElementType

func (PolicyVMRetentionMonthlyOutput) ToPolicyVMRetentionMonthlyOutput

func (o PolicyVMRetentionMonthlyOutput) ToPolicyVMRetentionMonthlyOutput() PolicyVMRetentionMonthlyOutput

func (PolicyVMRetentionMonthlyOutput) ToPolicyVMRetentionMonthlyOutputWithContext

func (o PolicyVMRetentionMonthlyOutput) ToPolicyVMRetentionMonthlyOutputWithContext(ctx context.Context) PolicyVMRetentionMonthlyOutput

func (PolicyVMRetentionMonthlyOutput) ToPolicyVMRetentionMonthlyPtrOutput

func (o PolicyVMRetentionMonthlyOutput) ToPolicyVMRetentionMonthlyPtrOutput() PolicyVMRetentionMonthlyPtrOutput

func (PolicyVMRetentionMonthlyOutput) ToPolicyVMRetentionMonthlyPtrOutputWithContext

func (o PolicyVMRetentionMonthlyOutput) ToPolicyVMRetentionMonthlyPtrOutputWithContext(ctx context.Context) PolicyVMRetentionMonthlyPtrOutput

func (PolicyVMRetentionMonthlyOutput) Weekdays

The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.

func (PolicyVMRetentionMonthlyOutput) Weeks

The weeks of the month to retain backups of. Must be one of `First`, `Second`, `Third`, `Fourth`, `Last`.

type PolicyVMRetentionMonthlyPtrInput

type PolicyVMRetentionMonthlyPtrInput interface {
	pulumi.Input

	ToPolicyVMRetentionMonthlyPtrOutput() PolicyVMRetentionMonthlyPtrOutput
	ToPolicyVMRetentionMonthlyPtrOutputWithContext(context.Context) PolicyVMRetentionMonthlyPtrOutput
}

PolicyVMRetentionMonthlyPtrInput is an input type that accepts PolicyVMRetentionMonthlyArgs, PolicyVMRetentionMonthlyPtr and PolicyVMRetentionMonthlyPtrOutput values. You can construct a concrete instance of `PolicyVMRetentionMonthlyPtrInput` via:

        PolicyVMRetentionMonthlyArgs{...}

or:

        nil

type PolicyVMRetentionMonthlyPtrOutput

type PolicyVMRetentionMonthlyPtrOutput struct{ *pulumi.OutputState }

func (PolicyVMRetentionMonthlyPtrOutput) Count

The number of yearly backups to keep. Must be between `1` and `9999`

func (PolicyVMRetentionMonthlyPtrOutput) Elem

func (PolicyVMRetentionMonthlyPtrOutput) ElementType

func (PolicyVMRetentionMonthlyPtrOutput) ToPolicyVMRetentionMonthlyPtrOutput

func (o PolicyVMRetentionMonthlyPtrOutput) ToPolicyVMRetentionMonthlyPtrOutput() PolicyVMRetentionMonthlyPtrOutput

func (PolicyVMRetentionMonthlyPtrOutput) ToPolicyVMRetentionMonthlyPtrOutputWithContext

func (o PolicyVMRetentionMonthlyPtrOutput) ToPolicyVMRetentionMonthlyPtrOutputWithContext(ctx context.Context) PolicyVMRetentionMonthlyPtrOutput

func (PolicyVMRetentionMonthlyPtrOutput) Weekdays

The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.

func (PolicyVMRetentionMonthlyPtrOutput) Weeks

The weeks of the month to retain backups of. Must be one of `First`, `Second`, `Third`, `Fourth`, `Last`.

type PolicyVMRetentionWeekly

type PolicyVMRetentionWeekly struct {
	// The number of yearly backups to keep. Must be between `1` and `9999`
	Count int `pulumi:"count"`
	// The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.
	Weekdays []string `pulumi:"weekdays"`
}

type PolicyVMRetentionWeeklyArgs

type PolicyVMRetentionWeeklyArgs struct {
	// The number of yearly backups to keep. Must be between `1` and `9999`
	Count pulumi.IntInput `pulumi:"count"`
	// The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.
	Weekdays pulumi.StringArrayInput `pulumi:"weekdays"`
}

func (PolicyVMRetentionWeeklyArgs) ElementType

func (PolicyVMRetentionWeeklyArgs) ToPolicyVMRetentionWeeklyOutput

func (i PolicyVMRetentionWeeklyArgs) ToPolicyVMRetentionWeeklyOutput() PolicyVMRetentionWeeklyOutput

func (PolicyVMRetentionWeeklyArgs) ToPolicyVMRetentionWeeklyOutputWithContext

func (i PolicyVMRetentionWeeklyArgs) ToPolicyVMRetentionWeeklyOutputWithContext(ctx context.Context) PolicyVMRetentionWeeklyOutput

func (PolicyVMRetentionWeeklyArgs) ToPolicyVMRetentionWeeklyPtrOutput

func (i PolicyVMRetentionWeeklyArgs) ToPolicyVMRetentionWeeklyPtrOutput() PolicyVMRetentionWeeklyPtrOutput

func (PolicyVMRetentionWeeklyArgs) ToPolicyVMRetentionWeeklyPtrOutputWithContext

func (i PolicyVMRetentionWeeklyArgs) ToPolicyVMRetentionWeeklyPtrOutputWithContext(ctx context.Context) PolicyVMRetentionWeeklyPtrOutput

type PolicyVMRetentionWeeklyInput

type PolicyVMRetentionWeeklyInput interface {
	pulumi.Input

	ToPolicyVMRetentionWeeklyOutput() PolicyVMRetentionWeeklyOutput
	ToPolicyVMRetentionWeeklyOutputWithContext(context.Context) PolicyVMRetentionWeeklyOutput
}

PolicyVMRetentionWeeklyInput is an input type that accepts PolicyVMRetentionWeeklyArgs and PolicyVMRetentionWeeklyOutput values. You can construct a concrete instance of `PolicyVMRetentionWeeklyInput` via:

PolicyVMRetentionWeeklyArgs{...}

type PolicyVMRetentionWeeklyOutput

type PolicyVMRetentionWeeklyOutput struct{ *pulumi.OutputState }

func (PolicyVMRetentionWeeklyOutput) Count

The number of yearly backups to keep. Must be between `1` and `9999`

func (PolicyVMRetentionWeeklyOutput) ElementType

func (PolicyVMRetentionWeeklyOutput) ToPolicyVMRetentionWeeklyOutput

func (o PolicyVMRetentionWeeklyOutput) ToPolicyVMRetentionWeeklyOutput() PolicyVMRetentionWeeklyOutput

func (PolicyVMRetentionWeeklyOutput) ToPolicyVMRetentionWeeklyOutputWithContext

func (o PolicyVMRetentionWeeklyOutput) ToPolicyVMRetentionWeeklyOutputWithContext(ctx context.Context) PolicyVMRetentionWeeklyOutput

func (PolicyVMRetentionWeeklyOutput) ToPolicyVMRetentionWeeklyPtrOutput

func (o PolicyVMRetentionWeeklyOutput) ToPolicyVMRetentionWeeklyPtrOutput() PolicyVMRetentionWeeklyPtrOutput

func (PolicyVMRetentionWeeklyOutput) ToPolicyVMRetentionWeeklyPtrOutputWithContext

func (o PolicyVMRetentionWeeklyOutput) ToPolicyVMRetentionWeeklyPtrOutputWithContext(ctx context.Context) PolicyVMRetentionWeeklyPtrOutput

func (PolicyVMRetentionWeeklyOutput) Weekdays

The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.

type PolicyVMRetentionWeeklyPtrInput

type PolicyVMRetentionWeeklyPtrInput interface {
	pulumi.Input

	ToPolicyVMRetentionWeeklyPtrOutput() PolicyVMRetentionWeeklyPtrOutput
	ToPolicyVMRetentionWeeklyPtrOutputWithContext(context.Context) PolicyVMRetentionWeeklyPtrOutput
}

PolicyVMRetentionWeeklyPtrInput is an input type that accepts PolicyVMRetentionWeeklyArgs, PolicyVMRetentionWeeklyPtr and PolicyVMRetentionWeeklyPtrOutput values. You can construct a concrete instance of `PolicyVMRetentionWeeklyPtrInput` via:

        PolicyVMRetentionWeeklyArgs{...}

or:

        nil

type PolicyVMRetentionWeeklyPtrOutput

type PolicyVMRetentionWeeklyPtrOutput struct{ *pulumi.OutputState }

func (PolicyVMRetentionWeeklyPtrOutput) Count

The number of yearly backups to keep. Must be between `1` and `9999`

func (PolicyVMRetentionWeeklyPtrOutput) Elem

func (PolicyVMRetentionWeeklyPtrOutput) ElementType

func (PolicyVMRetentionWeeklyPtrOutput) ToPolicyVMRetentionWeeklyPtrOutput

func (o PolicyVMRetentionWeeklyPtrOutput) ToPolicyVMRetentionWeeklyPtrOutput() PolicyVMRetentionWeeklyPtrOutput

func (PolicyVMRetentionWeeklyPtrOutput) ToPolicyVMRetentionWeeklyPtrOutputWithContext

func (o PolicyVMRetentionWeeklyPtrOutput) ToPolicyVMRetentionWeeklyPtrOutputWithContext(ctx context.Context) PolicyVMRetentionWeeklyPtrOutput

func (PolicyVMRetentionWeeklyPtrOutput) Weekdays

The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.

type PolicyVMRetentionYearly

type PolicyVMRetentionYearly struct {
	// The number of yearly backups to keep. Must be between `1` and `9999`
	Count int `pulumi:"count"`
	// The months of the year to retain backups of. Must be one of `January`, `February`, `March`, `April`, `May`, `June`, `July`, `August`, `September`, `October`, `November` and `December`.
	Months []string `pulumi:"months"`
	// The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.
	Weekdays []string `pulumi:"weekdays"`
	// The weeks of the month to retain backups of. Must be one of `First`, `Second`, `Third`, `Fourth`, `Last`.
	Weeks []string `pulumi:"weeks"`
}

type PolicyVMRetentionYearlyArgs

type PolicyVMRetentionYearlyArgs struct {
	// The number of yearly backups to keep. Must be between `1` and `9999`
	Count pulumi.IntInput `pulumi:"count"`
	// The months of the year to retain backups of. Must be one of `January`, `February`, `March`, `April`, `May`, `June`, `July`, `August`, `September`, `October`, `November` and `December`.
	Months pulumi.StringArrayInput `pulumi:"months"`
	// The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.
	Weekdays pulumi.StringArrayInput `pulumi:"weekdays"`
	// The weeks of the month to retain backups of. Must be one of `First`, `Second`, `Third`, `Fourth`, `Last`.
	Weeks pulumi.StringArrayInput `pulumi:"weeks"`
}

func (PolicyVMRetentionYearlyArgs) ElementType

func (PolicyVMRetentionYearlyArgs) ToPolicyVMRetentionYearlyOutput

func (i PolicyVMRetentionYearlyArgs) ToPolicyVMRetentionYearlyOutput() PolicyVMRetentionYearlyOutput

func (PolicyVMRetentionYearlyArgs) ToPolicyVMRetentionYearlyOutputWithContext

func (i PolicyVMRetentionYearlyArgs) ToPolicyVMRetentionYearlyOutputWithContext(ctx context.Context) PolicyVMRetentionYearlyOutput

func (PolicyVMRetentionYearlyArgs) ToPolicyVMRetentionYearlyPtrOutput

func (i PolicyVMRetentionYearlyArgs) ToPolicyVMRetentionYearlyPtrOutput() PolicyVMRetentionYearlyPtrOutput

func (PolicyVMRetentionYearlyArgs) ToPolicyVMRetentionYearlyPtrOutputWithContext

func (i PolicyVMRetentionYearlyArgs) ToPolicyVMRetentionYearlyPtrOutputWithContext(ctx context.Context) PolicyVMRetentionYearlyPtrOutput

type PolicyVMRetentionYearlyInput

type PolicyVMRetentionYearlyInput interface {
	pulumi.Input

	ToPolicyVMRetentionYearlyOutput() PolicyVMRetentionYearlyOutput
	ToPolicyVMRetentionYearlyOutputWithContext(context.Context) PolicyVMRetentionYearlyOutput
}

PolicyVMRetentionYearlyInput is an input type that accepts PolicyVMRetentionYearlyArgs and PolicyVMRetentionYearlyOutput values. You can construct a concrete instance of `PolicyVMRetentionYearlyInput` via:

PolicyVMRetentionYearlyArgs{...}

type PolicyVMRetentionYearlyOutput

type PolicyVMRetentionYearlyOutput struct{ *pulumi.OutputState }

func (PolicyVMRetentionYearlyOutput) Count

The number of yearly backups to keep. Must be between `1` and `9999`

func (PolicyVMRetentionYearlyOutput) ElementType

func (PolicyVMRetentionYearlyOutput) Months

The months of the year to retain backups of. Must be one of `January`, `February`, `March`, `April`, `May`, `June`, `July`, `August`, `September`, `October`, `November` and `December`.

func (PolicyVMRetentionYearlyOutput) ToPolicyVMRetentionYearlyOutput

func (o PolicyVMRetentionYearlyOutput) ToPolicyVMRetentionYearlyOutput() PolicyVMRetentionYearlyOutput

func (PolicyVMRetentionYearlyOutput) ToPolicyVMRetentionYearlyOutputWithContext

func (o PolicyVMRetentionYearlyOutput) ToPolicyVMRetentionYearlyOutputWithContext(ctx context.Context) PolicyVMRetentionYearlyOutput

func (PolicyVMRetentionYearlyOutput) ToPolicyVMRetentionYearlyPtrOutput

func (o PolicyVMRetentionYearlyOutput) ToPolicyVMRetentionYearlyPtrOutput() PolicyVMRetentionYearlyPtrOutput

func (PolicyVMRetentionYearlyOutput) ToPolicyVMRetentionYearlyPtrOutputWithContext

func (o PolicyVMRetentionYearlyOutput) ToPolicyVMRetentionYearlyPtrOutputWithContext(ctx context.Context) PolicyVMRetentionYearlyPtrOutput

func (PolicyVMRetentionYearlyOutput) Weekdays

The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.

func (PolicyVMRetentionYearlyOutput) Weeks

The weeks of the month to retain backups of. Must be one of `First`, `Second`, `Third`, `Fourth`, `Last`.

type PolicyVMRetentionYearlyPtrInput

type PolicyVMRetentionYearlyPtrInput interface {
	pulumi.Input

	ToPolicyVMRetentionYearlyPtrOutput() PolicyVMRetentionYearlyPtrOutput
	ToPolicyVMRetentionYearlyPtrOutputWithContext(context.Context) PolicyVMRetentionYearlyPtrOutput
}

PolicyVMRetentionYearlyPtrInput is an input type that accepts PolicyVMRetentionYearlyArgs, PolicyVMRetentionYearlyPtr and PolicyVMRetentionYearlyPtrOutput values. You can construct a concrete instance of `PolicyVMRetentionYearlyPtrInput` via:

        PolicyVMRetentionYearlyArgs{...}

or:

        nil

type PolicyVMRetentionYearlyPtrOutput

type PolicyVMRetentionYearlyPtrOutput struct{ *pulumi.OutputState }

func (PolicyVMRetentionYearlyPtrOutput) Count

The number of yearly backups to keep. Must be between `1` and `9999`

func (PolicyVMRetentionYearlyPtrOutput) Elem

func (PolicyVMRetentionYearlyPtrOutput) ElementType

func (PolicyVMRetentionYearlyPtrOutput) Months

The months of the year to retain backups of. Must be one of `January`, `February`, `March`, `April`, `May`, `June`, `July`, `August`, `September`, `October`, `November` and `December`.

func (PolicyVMRetentionYearlyPtrOutput) ToPolicyVMRetentionYearlyPtrOutput

func (o PolicyVMRetentionYearlyPtrOutput) ToPolicyVMRetentionYearlyPtrOutput() PolicyVMRetentionYearlyPtrOutput

func (PolicyVMRetentionYearlyPtrOutput) ToPolicyVMRetentionYearlyPtrOutputWithContext

func (o PolicyVMRetentionYearlyPtrOutput) ToPolicyVMRetentionYearlyPtrOutputWithContext(ctx context.Context) PolicyVMRetentionYearlyPtrOutput

func (PolicyVMRetentionYearlyPtrOutput) Weekdays

The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.

func (PolicyVMRetentionYearlyPtrOutput) Weeks

The weeks of the month to retain backups of. Must be one of `First`, `Second`, `Third`, `Fourth`, `Last`.

type PolicyVMState

type PolicyVMState struct {
	// Configures the Policy backup frequency, times & days as documented in the `backup` block below.
	Backup PolicyVMBackupPtrInput
	// Specifies the instant restore retention range in days.
	InstantRestoreRetentionDays pulumi.IntPtrInput
	// Specifies the name of the Backup Policy. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Specifies the name of the Recovery Services Vault to use. Changing this forces a new resource to be created.
	RecoveryVaultName pulumi.StringPtrInput
	// The name of the resource group in which to create the policy. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// Configures the policy daily retention as documented in the `retentionDaily` block below. Required when backup frequency is `Daily`.
	RetentionDaily PolicyVMRetentionDailyPtrInput
	// Configures the policy monthly retention as documented in the `retentionMonthly` block below.
	RetentionMonthly PolicyVMRetentionMonthlyPtrInput
	// Configures the policy weekly retention as documented in the `retentionWeekly` block below. Required when backup frequency is `Weekly`.
	RetentionWeekly PolicyVMRetentionWeeklyPtrInput
	// Configures the policy yearly retention as documented in the `retentionYearly` block below.
	RetentionYearly PolicyVMRetentionYearlyPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Specifies the timezone. [the possible values are defined here](http://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/). Defaults to `UTC`
	Timezone pulumi.StringPtrInput
}

func (PolicyVMState) ElementType

func (PolicyVMState) ElementType() reflect.Type

type ProtectedFileShare

type ProtectedFileShare struct {
	pulumi.CustomResourceState

	// Specifies the ID of the backup policy to use. The policy must be an Azure File Share backup policy. Other types are not supported.
	BackupPolicyId pulumi.StringOutput `pulumi:"backupPolicyId"`
	// Specifies the name of the Recovery Services Vault to use. Changing this forces a new resource to be created.
	RecoveryVaultName pulumi.StringOutput `pulumi:"recoveryVaultName"`
	// The name of the resource group in which to create the Azure Backup Protected File Share. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// Specifies the name of the file share to backup. Changing this forces a new resource to be created.
	SourceFileShareName pulumi.StringOutput `pulumi:"sourceFileShareName"`
	// Specifies the ID of the storage account of the file share to backup. Changing this forces a new resource to be created.
	SourceStorageAccountId pulumi.StringOutput `pulumi:"sourceStorageAccountId"`
}

Manages an Azure Backup Protected File Share to enable backups for file shares within an Azure Storage Account

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/backup"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/recoveryservices"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		rg, err := core.NewResourceGroup(ctx, "rg", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		vault, err := recoveryservices.NewVault(ctx, "vault", &recoveryservices.VaultArgs{
			Location:          rg.Location,
			ResourceGroupName: rg.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		sa, err := storage.NewAccount(ctx, "sa", &storage.AccountArgs{
			Location:               rg.Location,
			ResourceGroupName:      rg.Name,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("LRS"),
		})
		if err != nil {
			return err
		}
		exampleShare, err := storage.NewShare(ctx, "exampleShare", &storage.ShareArgs{
			StorageAccountName: sa.Name,
		})
		if err != nil {
			return err
		}
		_, err = backup.NewContainerStorageAccount(ctx, "protection-container", &backup.ContainerStorageAccountArgs{
			ResourceGroupName: rg.Name,
			RecoveryVaultName: vault.Name,
			StorageAccountId:  sa.ID(),
		})
		if err != nil {
			return err
		}
		examplePolicyFileShare, err := backup.NewPolicyFileShare(ctx, "examplePolicyFileShare", &backup.PolicyFileShareArgs{
			ResourceGroupName: rg.Name,
			RecoveryVaultName: vault.Name,
			Backup: &backup.PolicyFileShareBackupArgs{
				Frequency: pulumi.String("Daily"),
				Time:      pulumi.String("23:00"),
			},
			RetentionDaily: &backup.PolicyFileShareRetentionDailyArgs{
				Count: pulumi.Int(10),
			},
		})
		if err != nil {
			return err
		}
		_, err = backup.NewProtectedFileShare(ctx, "share1", &backup.ProtectedFileShareArgs{
			ResourceGroupName:      rg.Name,
			RecoveryVaultName:      vault.Name,
			SourceStorageAccountId: protection_container.StorageAccountId,
			SourceFileShareName:    exampleShare.Name,
			BackupPolicyId:         examplePolicyFileShare.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Azure Backup Protected File Shares can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:backup/protectedFileShare:ProtectedFileShare item1 "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.RecoveryServices/vaults/example-recovery-vault/backupFabrics/Azure/protectionContainers/StorageContainer;storage;group2;example-storage-account/protectedItems/AzureFileShare;3f6e3108a45793581bcbd1c61c87a3b2ceeb4ff4bc02a95ce9d1022b23722935"

```

-> **NOTE** The ID requires quoting as there are semicolons. This user unfriendly ID can be found in the Deployments of the used resourcegroup, look for an Deployment which starts with `ConfigureAFSProtection-`, click then `Go to resource`.

func GetProtectedFileShare

func GetProtectedFileShare(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ProtectedFileShareState, opts ...pulumi.ResourceOption) (*ProtectedFileShare, error)

GetProtectedFileShare gets an existing ProtectedFileShare 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 NewProtectedFileShare

func NewProtectedFileShare(ctx *pulumi.Context,
	name string, args *ProtectedFileShareArgs, opts ...pulumi.ResourceOption) (*ProtectedFileShare, error)

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

func (*ProtectedFileShare) ElementType

func (*ProtectedFileShare) ElementType() reflect.Type

func (*ProtectedFileShare) ToProtectedFileShareOutput

func (i *ProtectedFileShare) ToProtectedFileShareOutput() ProtectedFileShareOutput

func (*ProtectedFileShare) ToProtectedFileShareOutputWithContext

func (i *ProtectedFileShare) ToProtectedFileShareOutputWithContext(ctx context.Context) ProtectedFileShareOutput

type ProtectedFileShareArgs

type ProtectedFileShareArgs struct {
	// Specifies the ID of the backup policy to use. The policy must be an Azure File Share backup policy. Other types are not supported.
	BackupPolicyId pulumi.StringInput
	// Specifies the name of the Recovery Services Vault to use. Changing this forces a new resource to be created.
	RecoveryVaultName pulumi.StringInput
	// The name of the resource group in which to create the Azure Backup Protected File Share. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// Specifies the name of the file share to backup. Changing this forces a new resource to be created.
	SourceFileShareName pulumi.StringInput
	// Specifies the ID of the storage account of the file share to backup. Changing this forces a new resource to be created.
	SourceStorageAccountId pulumi.StringInput
}

The set of arguments for constructing a ProtectedFileShare resource.

func (ProtectedFileShareArgs) ElementType

func (ProtectedFileShareArgs) ElementType() reflect.Type

type ProtectedFileShareArray

type ProtectedFileShareArray []ProtectedFileShareInput

func (ProtectedFileShareArray) ElementType

func (ProtectedFileShareArray) ElementType() reflect.Type

func (ProtectedFileShareArray) ToProtectedFileShareArrayOutput

func (i ProtectedFileShareArray) ToProtectedFileShareArrayOutput() ProtectedFileShareArrayOutput

func (ProtectedFileShareArray) ToProtectedFileShareArrayOutputWithContext

func (i ProtectedFileShareArray) ToProtectedFileShareArrayOutputWithContext(ctx context.Context) ProtectedFileShareArrayOutput

type ProtectedFileShareArrayInput

type ProtectedFileShareArrayInput interface {
	pulumi.Input

	ToProtectedFileShareArrayOutput() ProtectedFileShareArrayOutput
	ToProtectedFileShareArrayOutputWithContext(context.Context) ProtectedFileShareArrayOutput
}

ProtectedFileShareArrayInput is an input type that accepts ProtectedFileShareArray and ProtectedFileShareArrayOutput values. You can construct a concrete instance of `ProtectedFileShareArrayInput` via:

ProtectedFileShareArray{ ProtectedFileShareArgs{...} }

type ProtectedFileShareArrayOutput

type ProtectedFileShareArrayOutput struct{ *pulumi.OutputState }

func (ProtectedFileShareArrayOutput) ElementType

func (ProtectedFileShareArrayOutput) Index

func (ProtectedFileShareArrayOutput) ToProtectedFileShareArrayOutput

func (o ProtectedFileShareArrayOutput) ToProtectedFileShareArrayOutput() ProtectedFileShareArrayOutput

func (ProtectedFileShareArrayOutput) ToProtectedFileShareArrayOutputWithContext

func (o ProtectedFileShareArrayOutput) ToProtectedFileShareArrayOutputWithContext(ctx context.Context) ProtectedFileShareArrayOutput

type ProtectedFileShareInput

type ProtectedFileShareInput interface {
	pulumi.Input

	ToProtectedFileShareOutput() ProtectedFileShareOutput
	ToProtectedFileShareOutputWithContext(ctx context.Context) ProtectedFileShareOutput
}

type ProtectedFileShareMap

type ProtectedFileShareMap map[string]ProtectedFileShareInput

func (ProtectedFileShareMap) ElementType

func (ProtectedFileShareMap) ElementType() reflect.Type

func (ProtectedFileShareMap) ToProtectedFileShareMapOutput

func (i ProtectedFileShareMap) ToProtectedFileShareMapOutput() ProtectedFileShareMapOutput

func (ProtectedFileShareMap) ToProtectedFileShareMapOutputWithContext

func (i ProtectedFileShareMap) ToProtectedFileShareMapOutputWithContext(ctx context.Context) ProtectedFileShareMapOutput

type ProtectedFileShareMapInput

type ProtectedFileShareMapInput interface {
	pulumi.Input

	ToProtectedFileShareMapOutput() ProtectedFileShareMapOutput
	ToProtectedFileShareMapOutputWithContext(context.Context) ProtectedFileShareMapOutput
}

ProtectedFileShareMapInput is an input type that accepts ProtectedFileShareMap and ProtectedFileShareMapOutput values. You can construct a concrete instance of `ProtectedFileShareMapInput` via:

ProtectedFileShareMap{ "key": ProtectedFileShareArgs{...} }

type ProtectedFileShareMapOutput

type ProtectedFileShareMapOutput struct{ *pulumi.OutputState }

func (ProtectedFileShareMapOutput) ElementType

func (ProtectedFileShareMapOutput) MapIndex

func (ProtectedFileShareMapOutput) ToProtectedFileShareMapOutput

func (o ProtectedFileShareMapOutput) ToProtectedFileShareMapOutput() ProtectedFileShareMapOutput

func (ProtectedFileShareMapOutput) ToProtectedFileShareMapOutputWithContext

func (o ProtectedFileShareMapOutput) ToProtectedFileShareMapOutputWithContext(ctx context.Context) ProtectedFileShareMapOutput

type ProtectedFileShareOutput

type ProtectedFileShareOutput struct{ *pulumi.OutputState }

func (ProtectedFileShareOutput) ElementType

func (ProtectedFileShareOutput) ElementType() reflect.Type

func (ProtectedFileShareOutput) ToProtectedFileShareOutput

func (o ProtectedFileShareOutput) ToProtectedFileShareOutput() ProtectedFileShareOutput

func (ProtectedFileShareOutput) ToProtectedFileShareOutputWithContext

func (o ProtectedFileShareOutput) ToProtectedFileShareOutputWithContext(ctx context.Context) ProtectedFileShareOutput

type ProtectedFileShareState

type ProtectedFileShareState struct {
	// Specifies the ID of the backup policy to use. The policy must be an Azure File Share backup policy. Other types are not supported.
	BackupPolicyId pulumi.StringPtrInput
	// Specifies the name of the Recovery Services Vault to use. Changing this forces a new resource to be created.
	RecoveryVaultName pulumi.StringPtrInput
	// The name of the resource group in which to create the Azure Backup Protected File Share. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// Specifies the name of the file share to backup. Changing this forces a new resource to be created.
	SourceFileShareName pulumi.StringPtrInput
	// Specifies the ID of the storage account of the file share to backup. Changing this forces a new resource to be created.
	SourceStorageAccountId pulumi.StringPtrInput
}

func (ProtectedFileShareState) ElementType

func (ProtectedFileShareState) ElementType() reflect.Type

type ProtectedVM

type ProtectedVM struct {
	pulumi.CustomResourceState

	// Specifies the id of the backup policy to use.
	BackupPolicyId pulumi.StringOutput `pulumi:"backupPolicyId"`
	// A list of Disks' Logical Unit Numbers(LUN) to be excluded for VM Protection.
	ExcludeDiskLuns pulumi.IntArrayOutput `pulumi:"excludeDiskLuns"`
	// A list of Disks' Logical Unit Numbers(LUN) to be included for VM Protection.
	IncludeDiskLuns pulumi.IntArrayOutput `pulumi:"includeDiskLuns"`
	// Specifies the name of the Recovery Services Vault to use. Changing this forces a new resource to be created.
	RecoveryVaultName pulumi.StringOutput `pulumi:"recoveryVaultName"`
	// The name of the resource group in which to create the Recovery Services Vault. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// Specifies the ID of the VM to backup. Changing this forces a new resource to be created.
	SourceVmId pulumi.StringOutput `pulumi:"sourceVmId"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Manages Azure Backup for an Azure VM

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/backup"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/recoveryservices"
"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("West Europe"),
		})
		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
		}
		examplePolicyVM, err := backup.NewPolicyVM(ctx, "examplePolicyVM", &backup.PolicyVMArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			RecoveryVaultName: exampleVault.Name,
			Backup: &backup.PolicyVMBackupArgs{
				Frequency: pulumi.String("Daily"),
				Time:      pulumi.String("23:00"),
			},
		})
		if err != nil {
			return err
		}
		_, err = backup.NewProtectedVM(ctx, "vm1", &backup.ProtectedVMArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			RecoveryVaultName: exampleVault.Name,
			SourceVmId:        pulumi.Any(azurerm_virtual_machine.Example.Id),
			BackupPolicyId:    examplePolicyVM.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh

$ pulumi import azure:backup/protectedVM:ProtectedVM item1 "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.RecoveryServices/vaults/example-recovery-vault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;group1;vm1/protectedItems/vm;iaasvmcontainerv2;group1;vm1"

```

Note the ID requires quoting as there are semicolons

func GetProtectedVM

func GetProtectedVM(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ProtectedVMState, opts ...pulumi.ResourceOption) (*ProtectedVM, error)

GetProtectedVM gets an existing ProtectedVM 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 NewProtectedVM

func NewProtectedVM(ctx *pulumi.Context,
	name string, args *ProtectedVMArgs, opts ...pulumi.ResourceOption) (*ProtectedVM, error)

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

func (*ProtectedVM) ElementType

func (*ProtectedVM) ElementType() reflect.Type

func (*ProtectedVM) ToProtectedVMOutput

func (i *ProtectedVM) ToProtectedVMOutput() ProtectedVMOutput

func (*ProtectedVM) ToProtectedVMOutputWithContext

func (i *ProtectedVM) ToProtectedVMOutputWithContext(ctx context.Context) ProtectedVMOutput

type ProtectedVMArgs

type ProtectedVMArgs struct {
	// Specifies the id of the backup policy to use.
	BackupPolicyId pulumi.StringInput
	// A list of Disks' Logical Unit Numbers(LUN) to be excluded for VM Protection.
	ExcludeDiskLuns pulumi.IntArrayInput
	// A list of Disks' Logical Unit Numbers(LUN) to be included for VM Protection.
	IncludeDiskLuns pulumi.IntArrayInput
	// Specifies the name of the Recovery Services Vault to use. Changing this forces a new resource to be created.
	RecoveryVaultName pulumi.StringInput
	// The name of the resource group in which to create the Recovery Services Vault. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// Specifies the ID of the VM to backup. Changing this forces a new resource to be created.
	SourceVmId pulumi.StringInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a ProtectedVM resource.

func (ProtectedVMArgs) ElementType

func (ProtectedVMArgs) ElementType() reflect.Type

type ProtectedVMArray

type ProtectedVMArray []ProtectedVMInput

func (ProtectedVMArray) ElementType

func (ProtectedVMArray) ElementType() reflect.Type

func (ProtectedVMArray) ToProtectedVMArrayOutput

func (i ProtectedVMArray) ToProtectedVMArrayOutput() ProtectedVMArrayOutput

func (ProtectedVMArray) ToProtectedVMArrayOutputWithContext

func (i ProtectedVMArray) ToProtectedVMArrayOutputWithContext(ctx context.Context) ProtectedVMArrayOutput

type ProtectedVMArrayInput

type ProtectedVMArrayInput interface {
	pulumi.Input

	ToProtectedVMArrayOutput() ProtectedVMArrayOutput
	ToProtectedVMArrayOutputWithContext(context.Context) ProtectedVMArrayOutput
}

ProtectedVMArrayInput is an input type that accepts ProtectedVMArray and ProtectedVMArrayOutput values. You can construct a concrete instance of `ProtectedVMArrayInput` via:

ProtectedVMArray{ ProtectedVMArgs{...} }

type ProtectedVMArrayOutput

type ProtectedVMArrayOutput struct{ *pulumi.OutputState }

func (ProtectedVMArrayOutput) ElementType

func (ProtectedVMArrayOutput) ElementType() reflect.Type

func (ProtectedVMArrayOutput) Index

func (ProtectedVMArrayOutput) ToProtectedVMArrayOutput

func (o ProtectedVMArrayOutput) ToProtectedVMArrayOutput() ProtectedVMArrayOutput

func (ProtectedVMArrayOutput) ToProtectedVMArrayOutputWithContext

func (o ProtectedVMArrayOutput) ToProtectedVMArrayOutputWithContext(ctx context.Context) ProtectedVMArrayOutput

type ProtectedVMInput

type ProtectedVMInput interface {
	pulumi.Input

	ToProtectedVMOutput() ProtectedVMOutput
	ToProtectedVMOutputWithContext(ctx context.Context) ProtectedVMOutput
}

type ProtectedVMMap

type ProtectedVMMap map[string]ProtectedVMInput

func (ProtectedVMMap) ElementType

func (ProtectedVMMap) ElementType() reflect.Type

func (ProtectedVMMap) ToProtectedVMMapOutput

func (i ProtectedVMMap) ToProtectedVMMapOutput() ProtectedVMMapOutput

func (ProtectedVMMap) ToProtectedVMMapOutputWithContext

func (i ProtectedVMMap) ToProtectedVMMapOutputWithContext(ctx context.Context) ProtectedVMMapOutput

type ProtectedVMMapInput

type ProtectedVMMapInput interface {
	pulumi.Input

	ToProtectedVMMapOutput() ProtectedVMMapOutput
	ToProtectedVMMapOutputWithContext(context.Context) ProtectedVMMapOutput
}

ProtectedVMMapInput is an input type that accepts ProtectedVMMap and ProtectedVMMapOutput values. You can construct a concrete instance of `ProtectedVMMapInput` via:

ProtectedVMMap{ "key": ProtectedVMArgs{...} }

type ProtectedVMMapOutput

type ProtectedVMMapOutput struct{ *pulumi.OutputState }

func (ProtectedVMMapOutput) ElementType

func (ProtectedVMMapOutput) ElementType() reflect.Type

func (ProtectedVMMapOutput) MapIndex

func (ProtectedVMMapOutput) ToProtectedVMMapOutput

func (o ProtectedVMMapOutput) ToProtectedVMMapOutput() ProtectedVMMapOutput

func (ProtectedVMMapOutput) ToProtectedVMMapOutputWithContext

func (o ProtectedVMMapOutput) ToProtectedVMMapOutputWithContext(ctx context.Context) ProtectedVMMapOutput

type ProtectedVMOutput

type ProtectedVMOutput struct{ *pulumi.OutputState }

func (ProtectedVMOutput) ElementType

func (ProtectedVMOutput) ElementType() reflect.Type

func (ProtectedVMOutput) ToProtectedVMOutput

func (o ProtectedVMOutput) ToProtectedVMOutput() ProtectedVMOutput

func (ProtectedVMOutput) ToProtectedVMOutputWithContext

func (o ProtectedVMOutput) ToProtectedVMOutputWithContext(ctx context.Context) ProtectedVMOutput

type ProtectedVMState

type ProtectedVMState struct {
	// Specifies the id of the backup policy to use.
	BackupPolicyId pulumi.StringPtrInput
	// A list of Disks' Logical Unit Numbers(LUN) to be excluded for VM Protection.
	ExcludeDiskLuns pulumi.IntArrayInput
	// A list of Disks' Logical Unit Numbers(LUN) to be included for VM Protection.
	IncludeDiskLuns pulumi.IntArrayInput
	// Specifies the name of the Recovery Services Vault to use. Changing this forces a new resource to be created.
	RecoveryVaultName pulumi.StringPtrInput
	// The name of the resource group in which to create the Recovery Services Vault. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// Specifies the ID of the VM to backup. Changing this forces a new resource to be created.
	SourceVmId pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

func (ProtectedVMState) ElementType

func (ProtectedVMState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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