backup

package
v5.70.0 Latest Latest
Warning

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

Go to latest
Published: Mar 27, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ContainerStorageAccount

type ContainerStorageAccount struct {
	pulumi.CustomResourceState

	// The name of the vault where the storage account will be registered. Changing this forces a new resource to be created.
	RecoveryVaultName pulumi.StringOutput `pulumi:"recoveryVaultName"`
	// Name of the resource group where the vault is located. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// The ID of the Storage Account to be registered Changing this forces a new resource to be created.
	//
	// > **NOTE** Azure Backup places a Resource Lock on the storage account that will cause deletion to fail until the account is unregistered from Azure Backup
	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.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

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

)

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

``` <!--End PulumiCodeChooser -->

## 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. Changing this forces a new resource to be created.
	RecoveryVaultName pulumi.StringInput
	// Name of the resource group where the vault is located. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// The ID of the Storage Account to be registered Changing this forces a new resource to be created.
	//
	// > **NOTE** Azure Backup places a Resource Lock on the storage account that will cause deletion to fail until the account is unregistered from Azure Backup
	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) RecoveryVaultName added in v5.5.0

func (o ContainerStorageAccountOutput) RecoveryVaultName() pulumi.StringOutput

The name of the vault where the storage account will be registered. Changing this forces a new resource to be created.

func (ContainerStorageAccountOutput) ResourceGroupName added in v5.5.0

func (o ContainerStorageAccountOutput) ResourceGroupName() pulumi.StringOutput

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

func (ContainerStorageAccountOutput) StorageAccountId added in v5.5.0

func (o ContainerStorageAccountOutput) StorageAccountId() pulumi.StringOutput

The ID of the Storage Account to be registered Changing this forces a new resource to be created.

> **NOTE** Azure Backup places a Resource Lock on the storage account that will cause deletion to fail until the account is unregistered from Azure Backup

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. Changing this forces a new resource to be created.
	RecoveryVaultName pulumi.StringPtrInput
	// Name of the resource group where the vault is located. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// The ID of the Storage Account to be registered Changing this forces a new resource to be created.
	//
	// > **NOTE** Azure Backup places a Resource Lock on the storage account that will cause deletion to fail until the account is unregistered from Azure Backup
	StorageAccountId pulumi.StringPtrInput
}

func (ContainerStorageAccountState) ElementType

type GetPolicyFileshareArgs

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

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

type GetPolicyFileshareResult

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 collection of values returned by getPolicyFileshare.

func GetPolicyFileshare

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

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/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
	})
}

``` <!--End PulumiCodeChooser -->

type GetPolicyFileshareResultOutput

type GetPolicyFileshareResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getPolicyFileshare.

func (GetPolicyFileshareResultOutput) ElementType

func (GetPolicyFileshareResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetPolicyFileshareResultOutput) Name

func (GetPolicyFileshareResultOutput) RecoveryVaultName

func (o GetPolicyFileshareResultOutput) RecoveryVaultName() pulumi.StringOutput

func (GetPolicyFileshareResultOutput) ResourceGroupName

func (o GetPolicyFileshareResultOutput) ResourceGroupName() pulumi.StringOutput

func (GetPolicyFileshareResultOutput) ToGetPolicyFileshareResultOutput

func (o GetPolicyFileshareResultOutput) ToGetPolicyFileshareResultOutput() GetPolicyFileshareResultOutput

func (GetPolicyFileshareResultOutput) ToGetPolicyFileshareResultOutputWithContext

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

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

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

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/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
	})
}

``` <!--End PulumiCodeChooser -->

type LookupPolicyVMResultOutput

type LookupPolicyVMResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getPolicyVM.

func (LookupPolicyVMResultOutput) ElementType

func (LookupPolicyVMResultOutput) ElementType() reflect.Type

func (LookupPolicyVMResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupPolicyVMResultOutput) Name

func (LookupPolicyVMResultOutput) RecoveryVaultName

func (o LookupPolicyVMResultOutput) RecoveryVaultName() pulumi.StringOutput

func (LookupPolicyVMResultOutput) ResourceGroupName

func (o LookupPolicyVMResultOutput) ResourceGroupName() pulumi.StringOutput

func (LookupPolicyVMResultOutput) ToLookupPolicyVMResultOutput

func (o LookupPolicyVMResultOutput) ToLookupPolicyVMResultOutput() LookupPolicyVMResultOutput

func (LookupPolicyVMResultOutput) ToLookupPolicyVMResultOutputWithContext

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"`
	// Specifies the timezone. [the possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/). Defaults to `UTC`
	//
	// > **NOTE:** The maximum number of snapshots that Azure Files can retain is 200. If your combined snapshot count exceeds 200 based on your retention policies, it will result in an error. See [this](https://docs.microsoft.com/azure/backup/backup-azure-files-faq#what-is-the-maximum-retention-i-can-configure-for-backups) article for more information.
	Timezone pulumi.StringPtrOutput `pulumi:"timezone"`
}

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

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("tfex-recovery_vault"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleVault, err := recoveryservices.NewVault(ctx, "example", &recoveryservices.VaultArgs{
			Name:              pulumi.String("tfex-recovery-vault"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		_, err = backup.NewPolicyFileShare(ctx, "policy", &backup.PolicyFileShareArgs{
			Name:              pulumi.String("tfex-recovery-vault-policy"),
			ResourceGroupName: example.Name,
			RecoveryVaultName: exampleVault.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
	})
}

``` <!--End PulumiCodeChooser -->

## 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
	// Specifies the timezone. [the possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/). Defaults to `UTC`
	//
	// > **NOTE:** The maximum number of snapshots that Azure Files can retain is 200. If your combined snapshot count exceeds 200 based on your retention policies, it will result in an error. See [this](https://docs.microsoft.com/azure/backup/backup-azure-files-faq#what-is-the-maximum-retention-i-can-configure-for-backups) article for more information.
	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. Possible values are `Daily` and `Hourly`.
	//
	// > **NOTE:** This argument is made available for consistency with VM backup policies and to allow for potential future support of weekly backups
	Frequency string `pulumi:"frequency"`
	// A `hourly` block defined as below. This is required when `frequency` is set to `Hourly`.
	Hourly *PolicyFileShareBackupHourly `pulumi:"hourly"`
	// 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.)
	//
	// > **NOTE:** `time` is required when `frequency` is set to `Daily`.
	Time *string `pulumi:"time"`
}

type PolicyFileShareBackupArgs

type PolicyFileShareBackupArgs struct {
	// Sets the backup frequency. Possible values are `Daily` and `Hourly`.
	//
	// > **NOTE:** This argument is made available for consistency with VM backup policies and to allow for potential future support of weekly backups
	Frequency pulumi.StringInput `pulumi:"frequency"`
	// A `hourly` block defined as below. This is required when `frequency` is set to `Hourly`.
	Hourly PolicyFileShareBackupHourlyPtrInput `pulumi:"hourly"`
	// 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.)
	//
	// > **NOTE:** `time` is required when `frequency` is set to `Daily`.
	Time pulumi.StringPtrInput `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 PolicyFileShareBackupHourly added in v5.44.0

type PolicyFileShareBackupHourly struct {
	// Specifies the interval at which backup needs to be triggered. Possible values are `4`, `6`, `8` and `12`.
	Interval int `pulumi:"interval"`
	// Specifies the start time of the hourly backup. The time format should be in 24-hour format. Times must be either on the hour or half hour (e.g. 12:00, 12:30, 13:00, etc.).
	StartTime string `pulumi:"startTime"`
	// Species the duration of the backup window in hours. Details could be found [here](https://learn.microsoft.com/en-us/azure/backup/backup-azure-files-faq#what-does-the-duration-attribute-in-azure-files-backup-policy-signify-).
	WindowDuration int `pulumi:"windowDuration"`
}

type PolicyFileShareBackupHourlyArgs added in v5.44.0

type PolicyFileShareBackupHourlyArgs struct {
	// Specifies the interval at which backup needs to be triggered. Possible values are `4`, `6`, `8` and `12`.
	Interval pulumi.IntInput `pulumi:"interval"`
	// Specifies the start time of the hourly backup. The time format should be in 24-hour format. Times must be either on the hour or half hour (e.g. 12:00, 12:30, 13:00, etc.).
	StartTime pulumi.StringInput `pulumi:"startTime"`
	// Species the duration of the backup window in hours. Details could be found [here](https://learn.microsoft.com/en-us/azure/backup/backup-azure-files-faq#what-does-the-duration-attribute-in-azure-files-backup-policy-signify-).
	WindowDuration pulumi.IntInput `pulumi:"windowDuration"`
}

func (PolicyFileShareBackupHourlyArgs) ElementType added in v5.44.0

func (PolicyFileShareBackupHourlyArgs) ToPolicyFileShareBackupHourlyOutput added in v5.44.0

func (i PolicyFileShareBackupHourlyArgs) ToPolicyFileShareBackupHourlyOutput() PolicyFileShareBackupHourlyOutput

func (PolicyFileShareBackupHourlyArgs) ToPolicyFileShareBackupHourlyOutputWithContext added in v5.44.0

func (i PolicyFileShareBackupHourlyArgs) ToPolicyFileShareBackupHourlyOutputWithContext(ctx context.Context) PolicyFileShareBackupHourlyOutput

func (PolicyFileShareBackupHourlyArgs) ToPolicyFileShareBackupHourlyPtrOutput added in v5.44.0

func (i PolicyFileShareBackupHourlyArgs) ToPolicyFileShareBackupHourlyPtrOutput() PolicyFileShareBackupHourlyPtrOutput

func (PolicyFileShareBackupHourlyArgs) ToPolicyFileShareBackupHourlyPtrOutputWithContext added in v5.44.0

func (i PolicyFileShareBackupHourlyArgs) ToPolicyFileShareBackupHourlyPtrOutputWithContext(ctx context.Context) PolicyFileShareBackupHourlyPtrOutput

type PolicyFileShareBackupHourlyInput added in v5.44.0

type PolicyFileShareBackupHourlyInput interface {
	pulumi.Input

	ToPolicyFileShareBackupHourlyOutput() PolicyFileShareBackupHourlyOutput
	ToPolicyFileShareBackupHourlyOutputWithContext(context.Context) PolicyFileShareBackupHourlyOutput
}

PolicyFileShareBackupHourlyInput is an input type that accepts PolicyFileShareBackupHourlyArgs and PolicyFileShareBackupHourlyOutput values. You can construct a concrete instance of `PolicyFileShareBackupHourlyInput` via:

PolicyFileShareBackupHourlyArgs{...}

type PolicyFileShareBackupHourlyOutput added in v5.44.0

type PolicyFileShareBackupHourlyOutput struct{ *pulumi.OutputState }

func (PolicyFileShareBackupHourlyOutput) ElementType added in v5.44.0

func (PolicyFileShareBackupHourlyOutput) Interval added in v5.44.0

Specifies the interval at which backup needs to be triggered. Possible values are `4`, `6`, `8` and `12`.

func (PolicyFileShareBackupHourlyOutput) StartTime added in v5.44.0

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

func (PolicyFileShareBackupHourlyOutput) ToPolicyFileShareBackupHourlyOutput added in v5.44.0

func (o PolicyFileShareBackupHourlyOutput) ToPolicyFileShareBackupHourlyOutput() PolicyFileShareBackupHourlyOutput

func (PolicyFileShareBackupHourlyOutput) ToPolicyFileShareBackupHourlyOutputWithContext added in v5.44.0

func (o PolicyFileShareBackupHourlyOutput) ToPolicyFileShareBackupHourlyOutputWithContext(ctx context.Context) PolicyFileShareBackupHourlyOutput

func (PolicyFileShareBackupHourlyOutput) ToPolicyFileShareBackupHourlyPtrOutput added in v5.44.0

func (o PolicyFileShareBackupHourlyOutput) ToPolicyFileShareBackupHourlyPtrOutput() PolicyFileShareBackupHourlyPtrOutput

func (PolicyFileShareBackupHourlyOutput) ToPolicyFileShareBackupHourlyPtrOutputWithContext added in v5.44.0

func (o PolicyFileShareBackupHourlyOutput) ToPolicyFileShareBackupHourlyPtrOutputWithContext(ctx context.Context) PolicyFileShareBackupHourlyPtrOutput

func (PolicyFileShareBackupHourlyOutput) WindowDuration added in v5.44.0

Species the duration of the backup window in hours. Details could be found [here](https://learn.microsoft.com/en-us/azure/backup/backup-azure-files-faq#what-does-the-duration-attribute-in-azure-files-backup-policy-signify-).

type PolicyFileShareBackupHourlyPtrInput added in v5.44.0

type PolicyFileShareBackupHourlyPtrInput interface {
	pulumi.Input

	ToPolicyFileShareBackupHourlyPtrOutput() PolicyFileShareBackupHourlyPtrOutput
	ToPolicyFileShareBackupHourlyPtrOutputWithContext(context.Context) PolicyFileShareBackupHourlyPtrOutput
}

PolicyFileShareBackupHourlyPtrInput is an input type that accepts PolicyFileShareBackupHourlyArgs, PolicyFileShareBackupHourlyPtr and PolicyFileShareBackupHourlyPtrOutput values. You can construct a concrete instance of `PolicyFileShareBackupHourlyPtrInput` via:

        PolicyFileShareBackupHourlyArgs{...}

or:

        nil

func PolicyFileShareBackupHourlyPtr added in v5.44.0

type PolicyFileShareBackupHourlyPtrOutput added in v5.44.0

type PolicyFileShareBackupHourlyPtrOutput struct{ *pulumi.OutputState }

func (PolicyFileShareBackupHourlyPtrOutput) Elem added in v5.44.0

func (PolicyFileShareBackupHourlyPtrOutput) ElementType added in v5.44.0

func (PolicyFileShareBackupHourlyPtrOutput) Interval added in v5.44.0

Specifies the interval at which backup needs to be triggered. Possible values are `4`, `6`, `8` and `12`.

func (PolicyFileShareBackupHourlyPtrOutput) StartTime added in v5.44.0

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

func (PolicyFileShareBackupHourlyPtrOutput) ToPolicyFileShareBackupHourlyPtrOutput added in v5.44.0

func (o PolicyFileShareBackupHourlyPtrOutput) ToPolicyFileShareBackupHourlyPtrOutput() PolicyFileShareBackupHourlyPtrOutput

func (PolicyFileShareBackupHourlyPtrOutput) ToPolicyFileShareBackupHourlyPtrOutputWithContext added in v5.44.0

func (o PolicyFileShareBackupHourlyPtrOutput) ToPolicyFileShareBackupHourlyPtrOutputWithContext(ctx context.Context) PolicyFileShareBackupHourlyPtrOutput

func (PolicyFileShareBackupHourlyPtrOutput) WindowDuration added in v5.44.0

Species the duration of the backup window in hours. Details could be found [here](https://learn.microsoft.com/en-us/azure/backup/backup-azure-files-faq#what-does-the-duration-attribute-in-azure-files-backup-policy-signify-).

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. Possible values are `Daily` and `Hourly`.

> **NOTE:** This argument is made available for consistency with VM backup policies and to allow for potential future support of weekly backups

func (PolicyFileShareBackupOutput) Hourly added in v5.44.0

A `hourly` block defined as below. This is required when `frequency` is set to `Hourly`.

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

> **NOTE:** `time` is required when `frequency` is set to `Daily`.

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. Possible values are `Daily` and `Hourly`.

> **NOTE:** This argument is made available for consistency with VM backup policies and to allow for potential future support of weekly backups

func (PolicyFileShareBackupPtrOutput) Hourly added in v5.44.0

A `hourly` block defined as below. This is required when `frequency` is set to `Hourly`.

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

> **NOTE:** `time` is required when `frequency` is set to `Daily`.

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

Configures the Policy backup frequency and times as documented in the `backup` block below.

func (PolicyFileShareOutput) ElementType

func (PolicyFileShareOutput) ElementType() reflect.Type

func (PolicyFileShareOutput) Name added in v5.5.0

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

func (PolicyFileShareOutput) RecoveryVaultName added in v5.5.0

func (o PolicyFileShareOutput) RecoveryVaultName() pulumi.StringOutput

Specifies the name of the Recovery Services Vault to use. Changing this forces a new resource to be created.

func (PolicyFileShareOutput) ResourceGroupName added in v5.5.0

func (o PolicyFileShareOutput) ResourceGroupName() pulumi.StringOutput

The name of the resource group in which to create the policy. Changing this forces a new resource to be created.

func (PolicyFileShareOutput) RetentionDaily added in v5.5.0

Configures the policy daily retention as documented in the `retentionDaily` block below.

func (PolicyFileShareOutput) RetentionMonthly added in v5.5.0

Configures the policy monthly retention as documented in the `retentionMonthly` block below.

func (PolicyFileShareOutput) RetentionWeekly added in v5.5.0

Configures the policy weekly retention as documented in the `retentionWeekly` block below.

func (PolicyFileShareOutput) RetentionYearly added in v5.5.0

Configures the policy yearly retention as documented in the `retentionYearly` block below.

func (PolicyFileShareOutput) Timezone added in v5.5.0

Specifies the timezone. [the possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/). Defaults to `UTC`

> **NOTE:** The maximum number of snapshots that Azure Files can retain is 200. If your combined snapshot count exceeds 200 based on your retention policies, it will result in an error. See [this](https://docs.microsoft.com/azure/backup/backup-azure-files-faq#what-is-the-maximum-retention-i-can-configure-for-backups) article for more information.

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 daily backups to keep. Must be between `1` and `200` (inclusive)
	Count int `pulumi:"count"`
}

type PolicyFileShareRetentionDailyArgs

type PolicyFileShareRetentionDailyArgs struct {
	// The number of daily backups to keep. Must be between `1` and `200` (inclusive)
	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 daily backups to keep. Must be between `1` and `200` (inclusive)

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 daily backups to keep. Must be between `1` and `200` (inclusive)

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

type PolicyFileShareRetentionMonthly struct {
	// The number of monthly backups to keep. Must be between `1` and `120`
	Count int `pulumi:"count"`
	// The days of the month to retain backups of. Must be between `1` and `31`.
	Days []int `pulumi:"days"`
	// Including the last day of the month, default to `false`.
	//
	// > **NOTE:**: Either `weekdays` and `weeks` or `days` and `includeLastDays` must be specified.
	IncludeLastDays *bool `pulumi:"includeLastDays"`
	// 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

type PolicyFileShareRetentionMonthlyArgs struct {
	// The number of monthly backups to keep. Must be between `1` and `120`
	Count pulumi.IntInput `pulumi:"count"`
	// The days of the month to retain backups of. Must be between `1` and `31`.
	Days pulumi.IntArrayInput `pulumi:"days"`
	// Including the last day of the month, default to `false`.
	//
	// > **NOTE:**: Either `weekdays` and `weeks` or `days` and `includeLastDays` must be specified.
	IncludeLastDays pulumi.BoolPtrInput `pulumi:"includeLastDays"`
	// 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

func (PolicyFileShareRetentionMonthlyArgs) ToPolicyFileShareRetentionMonthlyOutput

func (i PolicyFileShareRetentionMonthlyArgs) ToPolicyFileShareRetentionMonthlyOutput() PolicyFileShareRetentionMonthlyOutput

func (PolicyFileShareRetentionMonthlyArgs) ToPolicyFileShareRetentionMonthlyOutputWithContext

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

func (PolicyFileShareRetentionMonthlyArgs) ToPolicyFileShareRetentionMonthlyPtrOutput

func (i PolicyFileShareRetentionMonthlyArgs) ToPolicyFileShareRetentionMonthlyPtrOutput() PolicyFileShareRetentionMonthlyPtrOutput

func (PolicyFileShareRetentionMonthlyArgs) ToPolicyFileShareRetentionMonthlyPtrOutputWithContext

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

type PolicyFileShareRetentionMonthlyInput

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

type PolicyFileShareRetentionMonthlyOutput struct{ *pulumi.OutputState }

func (PolicyFileShareRetentionMonthlyOutput) Count

The number of monthly backups to keep. Must be between `1` and `120`

func (PolicyFileShareRetentionMonthlyOutput) Days added in v5.44.0

The days of the month to retain backups of. Must be between `1` and `31`.

func (PolicyFileShareRetentionMonthlyOutput) ElementType

func (PolicyFileShareRetentionMonthlyOutput) IncludeLastDays added in v5.44.0

Including the last day of the month, default to `false`.

> **NOTE:**: Either `weekdays` and `weeks` or `days` and `includeLastDays` must be specified.

func (PolicyFileShareRetentionMonthlyOutput) ToPolicyFileShareRetentionMonthlyOutput

func (o PolicyFileShareRetentionMonthlyOutput) ToPolicyFileShareRetentionMonthlyOutput() PolicyFileShareRetentionMonthlyOutput

func (PolicyFileShareRetentionMonthlyOutput) ToPolicyFileShareRetentionMonthlyOutputWithContext

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

func (PolicyFileShareRetentionMonthlyOutput) ToPolicyFileShareRetentionMonthlyPtrOutput

func (o PolicyFileShareRetentionMonthlyOutput) ToPolicyFileShareRetentionMonthlyPtrOutput() PolicyFileShareRetentionMonthlyPtrOutput

func (PolicyFileShareRetentionMonthlyOutput) ToPolicyFileShareRetentionMonthlyPtrOutputWithContext

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

func (PolicyFileShareRetentionMonthlyOutput) Weekdays

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

func (PolicyFileShareRetentionMonthlyOutput) Weeks

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

type PolicyFileShareRetentionMonthlyPtrInput

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

type PolicyFileShareRetentionMonthlyPtrOutput struct{ *pulumi.OutputState }

func (PolicyFileShareRetentionMonthlyPtrOutput) Count

The number of monthly backups to keep. Must be between `1` and `120`

func (PolicyFileShareRetentionMonthlyPtrOutput) Days added in v5.44.0

The days of the month to retain backups of. Must be between `1` and `31`.

func (PolicyFileShareRetentionMonthlyPtrOutput) Elem

func (PolicyFileShareRetentionMonthlyPtrOutput) ElementType

func (PolicyFileShareRetentionMonthlyPtrOutput) IncludeLastDays added in v5.44.0

Including the last day of the month, default to `false`.

> **NOTE:**: Either `weekdays` and `weeks` or `days` and `includeLastDays` must be specified.

func (PolicyFileShareRetentionMonthlyPtrOutput) ToPolicyFileShareRetentionMonthlyPtrOutput

func (o PolicyFileShareRetentionMonthlyPtrOutput) ToPolicyFileShareRetentionMonthlyPtrOutput() PolicyFileShareRetentionMonthlyPtrOutput

func (PolicyFileShareRetentionMonthlyPtrOutput) ToPolicyFileShareRetentionMonthlyPtrOutputWithContext

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

func (PolicyFileShareRetentionMonthlyPtrOutput) Weekdays

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

func (PolicyFileShareRetentionMonthlyPtrOutput) Weeks

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

type PolicyFileShareRetentionWeekly

type PolicyFileShareRetentionWeekly struct {
	// The number of daily backups to keep. Must be between `1` and `200` (inclusive)
	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

type PolicyFileShareRetentionWeeklyArgs struct {
	// The number of daily backups to keep. Must be between `1` and `200` (inclusive)
	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

func (PolicyFileShareRetentionWeeklyArgs) ToPolicyFileShareRetentionWeeklyOutput

func (i PolicyFileShareRetentionWeeklyArgs) ToPolicyFileShareRetentionWeeklyOutput() PolicyFileShareRetentionWeeklyOutput

func (PolicyFileShareRetentionWeeklyArgs) ToPolicyFileShareRetentionWeeklyOutputWithContext

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

func (PolicyFileShareRetentionWeeklyArgs) ToPolicyFileShareRetentionWeeklyPtrOutput

func (i PolicyFileShareRetentionWeeklyArgs) ToPolicyFileShareRetentionWeeklyPtrOutput() PolicyFileShareRetentionWeeklyPtrOutput

func (PolicyFileShareRetentionWeeklyArgs) ToPolicyFileShareRetentionWeeklyPtrOutputWithContext

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

type PolicyFileShareRetentionWeeklyInput

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

type PolicyFileShareRetentionWeeklyOutput struct{ *pulumi.OutputState }

func (PolicyFileShareRetentionWeeklyOutput) Count

The number of daily backups to keep. Must be between `1` and `200` (inclusive)

func (PolicyFileShareRetentionWeeklyOutput) ElementType

func (PolicyFileShareRetentionWeeklyOutput) ToPolicyFileShareRetentionWeeklyOutput

func (o PolicyFileShareRetentionWeeklyOutput) ToPolicyFileShareRetentionWeeklyOutput() PolicyFileShareRetentionWeeklyOutput

func (PolicyFileShareRetentionWeeklyOutput) ToPolicyFileShareRetentionWeeklyOutputWithContext

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

func (PolicyFileShareRetentionWeeklyOutput) ToPolicyFileShareRetentionWeeklyPtrOutput

func (o PolicyFileShareRetentionWeeklyOutput) ToPolicyFileShareRetentionWeeklyPtrOutput() PolicyFileShareRetentionWeeklyPtrOutput

func (PolicyFileShareRetentionWeeklyOutput) ToPolicyFileShareRetentionWeeklyPtrOutputWithContext

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

func (PolicyFileShareRetentionWeeklyOutput) Weekdays

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

type PolicyFileShareRetentionWeeklyPtrInput

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

type PolicyFileShareRetentionWeeklyPtrOutput struct{ *pulumi.OutputState }

func (PolicyFileShareRetentionWeeklyPtrOutput) Count

The number of daily backups to keep. Must be between `1` and `200` (inclusive)

func (PolicyFileShareRetentionWeeklyPtrOutput) Elem

func (PolicyFileShareRetentionWeeklyPtrOutput) ElementType

func (PolicyFileShareRetentionWeeklyPtrOutput) ToPolicyFileShareRetentionWeeklyPtrOutput

func (o PolicyFileShareRetentionWeeklyPtrOutput) ToPolicyFileShareRetentionWeeklyPtrOutput() PolicyFileShareRetentionWeeklyPtrOutput

func (PolicyFileShareRetentionWeeklyPtrOutput) ToPolicyFileShareRetentionWeeklyPtrOutputWithContext

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

func (PolicyFileShareRetentionWeeklyPtrOutput) Weekdays

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

type PolicyFileShareRetentionYearly

type PolicyFileShareRetentionYearly struct {
	// The number of yearly backups to keep. Must be between `1` and `10`
	Count int `pulumi:"count"`
	// The days of the month to retain backups of. Must be between `1` and `31`.
	Days []int `pulumi:"days"`
	// Including the last day of the month, default to `false`.
	//
	// > **NOTE:**: Either `weekdays` and `weeks` or `days` and `includeLastDays` must be specified.
	IncludeLastDays *bool `pulumi:"includeLastDays"`
	// 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

type PolicyFileShareRetentionYearlyArgs struct {
	// The number of yearly backups to keep. Must be between `1` and `10`
	Count pulumi.IntInput `pulumi:"count"`
	// The days of the month to retain backups of. Must be between `1` and `31`.
	Days pulumi.IntArrayInput `pulumi:"days"`
	// Including the last day of the month, default to `false`.
	//
	// > **NOTE:**: Either `weekdays` and `weeks` or `days` and `includeLastDays` must be specified.
	IncludeLastDays pulumi.BoolPtrInput `pulumi:"includeLastDays"`
	// 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

func (PolicyFileShareRetentionYearlyArgs) ToPolicyFileShareRetentionYearlyOutput

func (i PolicyFileShareRetentionYearlyArgs) ToPolicyFileShareRetentionYearlyOutput() PolicyFileShareRetentionYearlyOutput

func (PolicyFileShareRetentionYearlyArgs) ToPolicyFileShareRetentionYearlyOutputWithContext

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

func (PolicyFileShareRetentionYearlyArgs) ToPolicyFileShareRetentionYearlyPtrOutput

func (i PolicyFileShareRetentionYearlyArgs) ToPolicyFileShareRetentionYearlyPtrOutput() PolicyFileShareRetentionYearlyPtrOutput

func (PolicyFileShareRetentionYearlyArgs) ToPolicyFileShareRetentionYearlyPtrOutputWithContext

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

type PolicyFileShareRetentionYearlyInput

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

type PolicyFileShareRetentionYearlyOutput struct{ *pulumi.OutputState }

func (PolicyFileShareRetentionYearlyOutput) Count

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

func (PolicyFileShareRetentionYearlyOutput) Days added in v5.44.0

The days of the month to retain backups of. Must be between `1` and `31`.

func (PolicyFileShareRetentionYearlyOutput) ElementType

func (PolicyFileShareRetentionYearlyOutput) IncludeLastDays added in v5.44.0

Including the last day of the month, default to `false`.

> **NOTE:**: Either `weekdays` and `weeks` or `days` and `includeLastDays` must be specified.

func (PolicyFileShareRetentionYearlyOutput) Months

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

func (o PolicyFileShareRetentionYearlyOutput) ToPolicyFileShareRetentionYearlyOutput() PolicyFileShareRetentionYearlyOutput

func (PolicyFileShareRetentionYearlyOutput) ToPolicyFileShareRetentionYearlyOutputWithContext

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

func (PolicyFileShareRetentionYearlyOutput) ToPolicyFileShareRetentionYearlyPtrOutput

func (o PolicyFileShareRetentionYearlyOutput) ToPolicyFileShareRetentionYearlyPtrOutput() PolicyFileShareRetentionYearlyPtrOutput

func (PolicyFileShareRetentionYearlyOutput) ToPolicyFileShareRetentionYearlyPtrOutputWithContext

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

func (PolicyFileShareRetentionYearlyOutput) Weekdays

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

func (PolicyFileShareRetentionYearlyOutput) Weeks

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

type PolicyFileShareRetentionYearlyPtrInput

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

type PolicyFileShareRetentionYearlyPtrOutput struct{ *pulumi.OutputState }

func (PolicyFileShareRetentionYearlyPtrOutput) Count

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

func (PolicyFileShareRetentionYearlyPtrOutput) Days added in v5.44.0

The days of the month to retain backups of. Must be between `1` and `31`.

func (PolicyFileShareRetentionYearlyPtrOutput) Elem

func (PolicyFileShareRetentionYearlyPtrOutput) ElementType

func (PolicyFileShareRetentionYearlyPtrOutput) IncludeLastDays added in v5.44.0

Including the last day of the month, default to `false`.

> **NOTE:**: Either `weekdays` and `weeks` or `days` and `includeLastDays` must be specified.

func (PolicyFileShareRetentionYearlyPtrOutput) Months

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

func (o PolicyFileShareRetentionYearlyPtrOutput) ToPolicyFileShareRetentionYearlyPtrOutput() PolicyFileShareRetentionYearlyPtrOutput

func (PolicyFileShareRetentionYearlyPtrOutput) ToPolicyFileShareRetentionYearlyPtrOutputWithContext

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

func (PolicyFileShareRetentionYearlyPtrOutput) Weekdays

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

func (PolicyFileShareRetentionYearlyPtrOutput) Weeks

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
	// Specifies the timezone. [the possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/). Defaults to `UTC`
	//
	// > **NOTE:** The maximum number of snapshots that Azure Files can retain is 200. If your combined snapshot count exceeds 200 based on your retention policies, it will result in an error. See [this](https://docs.microsoft.com/azure/backup/backup-azure-files-faq#what-is-the-maximum-retention-i-can-configure-for-backups) article for more information.
	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 resource group name as documented in the `instantRestoreResourceGroup` block below.
	InstantRestoreResourceGroup PolicyVMInstantRestoreResourceGroupPtrOutput `pulumi:"instantRestoreResourceGroup"`
	// Specifies the instant restore retention range in days. Possible values are between `1` and `5` when `policyType` is `V1`, and `1` to `30` when `policyType` is `V2`.
	//
	// > **NOTE:** `instantRestoreRetentionDays` **must** be set to `5` if the backup frequency is set to `Weekly`.
	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"`
	// Type of the Backup Policy. Possible values are `V1` and `V2` where `V2` stands for the Enhanced Policy. Defaults to `V1`. Changing this forces a new resource to be created.
	PolicyType pulumi.StringPtrOutput `pulumi:"policyType"`
	// 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"`
	// Specifies the timezone. [the possible values are defined here](https://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

<!--Start PulumiCodeChooser --> ```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("tfex-recovery_vault"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleVault, err := recoveryservices.NewVault(ctx, "example", &recoveryservices.VaultArgs{
			Name:              pulumi.String("tfex-recovery-vault"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		_, err = backup.NewPolicyVM(ctx, "example", &backup.PolicyVMArgs{
			Name:              pulumi.String("tfex-recovery-vault-policy"),
			ResourceGroupName: example.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
	})
}

``` <!--End PulumiCodeChooser -->

## 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 resource group name as documented in the `instantRestoreResourceGroup` block below.
	InstantRestoreResourceGroup PolicyVMInstantRestoreResourceGroupPtrInput
	// Specifies the instant restore retention range in days. Possible values are between `1` and `5` when `policyType` is `V1`, and `1` to `30` when `policyType` is `V2`.
	//
	// > **NOTE:** `instantRestoreRetentionDays` **must** be set to `5` if the backup frequency is set to `Weekly`.
	InstantRestoreRetentionDays pulumi.IntPtrInput
	// Specifies the name of the Backup Policy. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Type of the Backup Policy. Possible values are `V1` and `V2` where `V2` stands for the Enhanced Policy. Defaults to `V1`. Changing this forces a new resource to be created.
	PolicyType 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
	// Specifies the timezone. [the possible values are defined here](https://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. Possible values are `Hourly`, `Daily` and `Weekly`.
	Frequency string `pulumi:"frequency"`
	// Duration of the backup window in hours. Possible values are between `4` and `24` This is used when `frequency` is `Hourly`.
	//
	// > **NOTE:** `hourDuration` must be multiplier of `hourInterval`
	HourDuration *int `pulumi:"hourDuration"`
	// Interval in hour at which backup is triggered. Possible values are `4`, `6`, `8` and `12`. This is used when `frequency` is `Hourly`.
	HourInterval *int `pulumi:"hourInterval"`
	// The time of day to perform the backup in 24hour format.
	Time string `pulumi:"time"`
	// The days of the week to perform backups on. Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`. This is used when `frequency` is `Weekly`.
	Weekdays []string `pulumi:"weekdays"`
}

type PolicyVMBackupArgs

type PolicyVMBackupArgs struct {
	// Sets the backup frequency. Possible values are `Hourly`, `Daily` and `Weekly`.
	Frequency pulumi.StringInput `pulumi:"frequency"`
	// Duration of the backup window in hours. Possible values are between `4` and `24` This is used when `frequency` is `Hourly`.
	//
	// > **NOTE:** `hourDuration` must be multiplier of `hourInterval`
	HourDuration pulumi.IntPtrInput `pulumi:"hourDuration"`
	// Interval in hour at which backup is triggered. Possible values are `4`, `6`, `8` and `12`. This is used when `frequency` is `Hourly`.
	HourInterval pulumi.IntPtrInput `pulumi:"hourInterval"`
	// The time of day to perform the backup in 24hour format.
	Time pulumi.StringInput `pulumi:"time"`
	// The days of the week to perform backups on. Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`. This is used when `frequency` is `Weekly`.
	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. Possible values are `Hourly`, `Daily` and `Weekly`.

func (PolicyVMBackupOutput) HourDuration added in v5.9.0

func (o PolicyVMBackupOutput) HourDuration() pulumi.IntPtrOutput

Duration of the backup window in hours. Possible values are between `4` and `24` This is used when `frequency` is `Hourly`.

> **NOTE:** `hourDuration` must be multiplier of `hourInterval`

func (PolicyVMBackupOutput) HourInterval added in v5.9.0

func (o PolicyVMBackupOutput) HourInterval() pulumi.IntPtrOutput

Interval in hour at which backup is triggered. Possible values are `4`, `6`, `8` and `12`. This is used when `frequency` is `Hourly`.

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 days of the week to perform backups on. Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`. This is used when `frequency` is `Weekly`.

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. Possible values are `Hourly`, `Daily` and `Weekly`.

func (PolicyVMBackupPtrOutput) HourDuration added in v5.9.0

func (o PolicyVMBackupPtrOutput) HourDuration() pulumi.IntPtrOutput

Duration of the backup window in hours. Possible values are between `4` and `24` This is used when `frequency` is `Hourly`.

> **NOTE:** `hourDuration` must be multiplier of `hourInterval`

func (PolicyVMBackupPtrOutput) HourInterval added in v5.9.0

func (o PolicyVMBackupPtrOutput) HourInterval() pulumi.IntPtrOutput

Interval in hour at which backup is triggered. Possible values are `4`, `6`, `8` and `12`. This is used when `frequency` is `Hourly`.

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 days of the week to perform backups on. Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`. This is used when `frequency` is `Weekly`.

type PolicyVMInput

type PolicyVMInput interface {
	pulumi.Input

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

type PolicyVMInstantRestoreResourceGroup added in v5.36.0

type PolicyVMInstantRestoreResourceGroup struct {
	// The prefix for the `instantRestoreResourceGroup` name.
	Prefix string `pulumi:"prefix"`
	// The suffix for the `instantRestoreResourceGroup` name.
	Suffix *string `pulumi:"suffix"`
}

type PolicyVMInstantRestoreResourceGroupArgs added in v5.36.0

type PolicyVMInstantRestoreResourceGroupArgs struct {
	// The prefix for the `instantRestoreResourceGroup` name.
	Prefix pulumi.StringInput `pulumi:"prefix"`
	// The suffix for the `instantRestoreResourceGroup` name.
	Suffix pulumi.StringPtrInput `pulumi:"suffix"`
}

func (PolicyVMInstantRestoreResourceGroupArgs) ElementType added in v5.36.0

func (PolicyVMInstantRestoreResourceGroupArgs) ToPolicyVMInstantRestoreResourceGroupOutput added in v5.36.0

func (i PolicyVMInstantRestoreResourceGroupArgs) ToPolicyVMInstantRestoreResourceGroupOutput() PolicyVMInstantRestoreResourceGroupOutput

func (PolicyVMInstantRestoreResourceGroupArgs) ToPolicyVMInstantRestoreResourceGroupOutputWithContext added in v5.36.0

func (i PolicyVMInstantRestoreResourceGroupArgs) ToPolicyVMInstantRestoreResourceGroupOutputWithContext(ctx context.Context) PolicyVMInstantRestoreResourceGroupOutput

func (PolicyVMInstantRestoreResourceGroupArgs) ToPolicyVMInstantRestoreResourceGroupPtrOutput added in v5.36.0

func (i PolicyVMInstantRestoreResourceGroupArgs) ToPolicyVMInstantRestoreResourceGroupPtrOutput() PolicyVMInstantRestoreResourceGroupPtrOutput

func (PolicyVMInstantRestoreResourceGroupArgs) ToPolicyVMInstantRestoreResourceGroupPtrOutputWithContext added in v5.36.0

func (i PolicyVMInstantRestoreResourceGroupArgs) ToPolicyVMInstantRestoreResourceGroupPtrOutputWithContext(ctx context.Context) PolicyVMInstantRestoreResourceGroupPtrOutput

type PolicyVMInstantRestoreResourceGroupInput added in v5.36.0

type PolicyVMInstantRestoreResourceGroupInput interface {
	pulumi.Input

	ToPolicyVMInstantRestoreResourceGroupOutput() PolicyVMInstantRestoreResourceGroupOutput
	ToPolicyVMInstantRestoreResourceGroupOutputWithContext(context.Context) PolicyVMInstantRestoreResourceGroupOutput
}

PolicyVMInstantRestoreResourceGroupInput is an input type that accepts PolicyVMInstantRestoreResourceGroupArgs and PolicyVMInstantRestoreResourceGroupOutput values. You can construct a concrete instance of `PolicyVMInstantRestoreResourceGroupInput` via:

PolicyVMInstantRestoreResourceGroupArgs{...}

type PolicyVMInstantRestoreResourceGroupOutput added in v5.36.0

type PolicyVMInstantRestoreResourceGroupOutput struct{ *pulumi.OutputState }

func (PolicyVMInstantRestoreResourceGroupOutput) ElementType added in v5.36.0

func (PolicyVMInstantRestoreResourceGroupOutput) Prefix added in v5.36.0

The prefix for the `instantRestoreResourceGroup` name.

func (PolicyVMInstantRestoreResourceGroupOutput) Suffix added in v5.36.0

The suffix for the `instantRestoreResourceGroup` name.

func (PolicyVMInstantRestoreResourceGroupOutput) ToPolicyVMInstantRestoreResourceGroupOutput added in v5.36.0

func (o PolicyVMInstantRestoreResourceGroupOutput) ToPolicyVMInstantRestoreResourceGroupOutput() PolicyVMInstantRestoreResourceGroupOutput

func (PolicyVMInstantRestoreResourceGroupOutput) ToPolicyVMInstantRestoreResourceGroupOutputWithContext added in v5.36.0

func (o PolicyVMInstantRestoreResourceGroupOutput) ToPolicyVMInstantRestoreResourceGroupOutputWithContext(ctx context.Context) PolicyVMInstantRestoreResourceGroupOutput

func (PolicyVMInstantRestoreResourceGroupOutput) ToPolicyVMInstantRestoreResourceGroupPtrOutput added in v5.36.0

func (o PolicyVMInstantRestoreResourceGroupOutput) ToPolicyVMInstantRestoreResourceGroupPtrOutput() PolicyVMInstantRestoreResourceGroupPtrOutput

func (PolicyVMInstantRestoreResourceGroupOutput) ToPolicyVMInstantRestoreResourceGroupPtrOutputWithContext added in v5.36.0

func (o PolicyVMInstantRestoreResourceGroupOutput) ToPolicyVMInstantRestoreResourceGroupPtrOutputWithContext(ctx context.Context) PolicyVMInstantRestoreResourceGroupPtrOutput

type PolicyVMInstantRestoreResourceGroupPtrInput added in v5.36.0

type PolicyVMInstantRestoreResourceGroupPtrInput interface {
	pulumi.Input

	ToPolicyVMInstantRestoreResourceGroupPtrOutput() PolicyVMInstantRestoreResourceGroupPtrOutput
	ToPolicyVMInstantRestoreResourceGroupPtrOutputWithContext(context.Context) PolicyVMInstantRestoreResourceGroupPtrOutput
}

PolicyVMInstantRestoreResourceGroupPtrInput is an input type that accepts PolicyVMInstantRestoreResourceGroupArgs, PolicyVMInstantRestoreResourceGroupPtr and PolicyVMInstantRestoreResourceGroupPtrOutput values. You can construct a concrete instance of `PolicyVMInstantRestoreResourceGroupPtrInput` via:

        PolicyVMInstantRestoreResourceGroupArgs{...}

or:

        nil

type PolicyVMInstantRestoreResourceGroupPtrOutput added in v5.36.0

type PolicyVMInstantRestoreResourceGroupPtrOutput struct{ *pulumi.OutputState }

func (PolicyVMInstantRestoreResourceGroupPtrOutput) Elem added in v5.36.0

func (PolicyVMInstantRestoreResourceGroupPtrOutput) ElementType added in v5.36.0

func (PolicyVMInstantRestoreResourceGroupPtrOutput) Prefix added in v5.36.0

The prefix for the `instantRestoreResourceGroup` name.

func (PolicyVMInstantRestoreResourceGroupPtrOutput) Suffix added in v5.36.0

The suffix for the `instantRestoreResourceGroup` name.

func (PolicyVMInstantRestoreResourceGroupPtrOutput) ToPolicyVMInstantRestoreResourceGroupPtrOutput added in v5.36.0

func (o PolicyVMInstantRestoreResourceGroupPtrOutput) ToPolicyVMInstantRestoreResourceGroupPtrOutput() PolicyVMInstantRestoreResourceGroupPtrOutput

func (PolicyVMInstantRestoreResourceGroupPtrOutput) ToPolicyVMInstantRestoreResourceGroupPtrOutputWithContext added in v5.36.0

func (o PolicyVMInstantRestoreResourceGroupPtrOutput) ToPolicyVMInstantRestoreResourceGroupPtrOutputWithContext(ctx context.Context) PolicyVMInstantRestoreResourceGroupPtrOutput

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

Configures the Policy backup frequency, times & days as documented in the `backup` block below.

func (PolicyVMOutput) ElementType

func (PolicyVMOutput) ElementType() reflect.Type

func (PolicyVMOutput) InstantRestoreResourceGroup added in v5.36.0

func (o PolicyVMOutput) InstantRestoreResourceGroup() PolicyVMInstantRestoreResourceGroupPtrOutput

Specifies the instant restore resource group name as documented in the `instantRestoreResourceGroup` block below.

func (PolicyVMOutput) InstantRestoreRetentionDays added in v5.5.0

func (o PolicyVMOutput) InstantRestoreRetentionDays() pulumi.IntOutput

Specifies the instant restore retention range in days. Possible values are between `1` and `5` when `policyType` is `V1`, and `1` to `30` when `policyType` is `V2`.

> **NOTE:** `instantRestoreRetentionDays` **must** be set to `5` if the backup frequency is set to `Weekly`.

func (PolicyVMOutput) Name added in v5.5.0

Specifies the name of the Backup Policy. Changing this forces a new resource to be created.

func (PolicyVMOutput) PolicyType added in v5.9.0

func (o PolicyVMOutput) PolicyType() pulumi.StringPtrOutput

Type of the Backup Policy. Possible values are `V1` and `V2` where `V2` stands for the Enhanced Policy. Defaults to `V1`. Changing this forces a new resource to be created.

func (PolicyVMOutput) RecoveryVaultName added in v5.5.0

func (o PolicyVMOutput) RecoveryVaultName() pulumi.StringOutput

Specifies the name of the Recovery Services Vault to use. Changing this forces a new resource to be created.

func (PolicyVMOutput) ResourceGroupName added in v5.5.0

func (o PolicyVMOutput) ResourceGroupName() pulumi.StringOutput

The name of the resource group in which to create the policy. Changing this forces a new resource to be created.

func (PolicyVMOutput) RetentionDaily added in v5.5.0

Configures the policy daily retention as documented in the `retentionDaily` block below. Required when backup frequency is `Daily`.

func (PolicyVMOutput) RetentionMonthly added in v5.5.0

Configures the policy monthly retention as documented in the `retentionMonthly` block below.

func (PolicyVMOutput) RetentionWeekly added in v5.5.0

Configures the policy weekly retention as documented in the `retentionWeekly` block below. Required when backup frequency is `Weekly`.

func (PolicyVMOutput) RetentionYearly added in v5.5.0

Configures the policy yearly retention as documented in the `retentionYearly` block below.

func (PolicyVMOutput) Timezone added in v5.5.0

func (o PolicyVMOutput) Timezone() pulumi.StringPtrOutput

Specifies the timezone. [the possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/). Defaults to `UTC`

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 daily backups to keep. Must be between `7` and `9999`.
	//
	// > **Note:** Azure previously allows this field to be set to a minimum of 1 (day) - but for new resources/to update this value on existing Backup Policies - this value must now be at least 7 (days).
	Count int `pulumi:"count"`
}

type PolicyVMRetentionDailyArgs

type PolicyVMRetentionDailyArgs struct {
	// The number of daily backups to keep. Must be between `7` and `9999`.
	//
	// > **Note:** Azure previously allows this field to be set to a minimum of 1 (day) - but for new resources/to update this value on existing Backup Policies - this value must now be at least 7 (days).
	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 daily backups to keep. Must be between `7` and `9999`.

> **Note:** Azure previously allows this field to be set to a minimum of 1 (day) - but for new resources/to update this value on existing Backup Policies - this value must now be at least 7 (days).

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 daily backups to keep. Must be between `7` and `9999`.

> **Note:** Azure previously allows this field to be set to a minimum of 1 (day) - but for new resources/to update this value on existing Backup Policies - this value must now be at least 7 (days).

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 monthly backups to keep. Must be between `1` and `9999`
	Count int `pulumi:"count"`
	// The days of the month to retain backups of. Must be between `1` and `31`.
	Days []int `pulumi:"days"`
	// Including the last day of the month, default to `false`.
	//
	// > **NOTE:**: Either `weekdays` and `weeks` or `days` and `includeLastDays` must be specified.
	IncludeLastDays *bool `pulumi:"includeLastDays"`
	// 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 monthly backups to keep. Must be between `1` and `9999`
	Count pulumi.IntInput `pulumi:"count"`
	// The days of the month to retain backups of. Must be between `1` and `31`.
	Days pulumi.IntArrayInput `pulumi:"days"`
	// Including the last day of the month, default to `false`.
	//
	// > **NOTE:**: Either `weekdays` and `weeks` or `days` and `includeLastDays` must be specified.
	IncludeLastDays pulumi.BoolPtrInput `pulumi:"includeLastDays"`
	// 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 monthly backups to keep. Must be between `1` and `9999`

func (PolicyVMRetentionMonthlyOutput) Days added in v5.44.0

The days of the month to retain backups of. Must be between `1` and `31`.

func (PolicyVMRetentionMonthlyOutput) ElementType

func (PolicyVMRetentionMonthlyOutput) IncludeLastDays added in v5.44.0

Including the last day of the month, default to `false`.

> **NOTE:**: Either `weekdays` and `weeks` or `days` and `includeLastDays` must be specified.

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 monthly backups to keep. Must be between `1` and `9999`

func (PolicyVMRetentionMonthlyPtrOutput) Days added in v5.44.0

The days of the month to retain backups of. Must be between `1` and `31`.

func (PolicyVMRetentionMonthlyPtrOutput) Elem

func (PolicyVMRetentionMonthlyPtrOutput) ElementType

func (PolicyVMRetentionMonthlyPtrOutput) IncludeLastDays added in v5.44.0

Including the last day of the month, default to `false`.

> **NOTE:**: Either `weekdays` and `weeks` or `days` and `includeLastDays` must be specified.

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 weekly 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 weekly 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 weekly 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 weekly 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 days of the month to retain backups of. Must be between `1` and `31`.
	Days []int `pulumi:"days"`
	// Including the last day of the month, default to `false`.
	//
	// > **NOTE:**: Either `weekdays` and `weeks` or `days` and `includeLastDays` must be specified.
	IncludeLastDays *bool `pulumi:"includeLastDays"`
	// 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 days of the month to retain backups of. Must be between `1` and `31`.
	Days pulumi.IntArrayInput `pulumi:"days"`
	// Including the last day of the month, default to `false`.
	//
	// > **NOTE:**: Either `weekdays` and `weeks` or `days` and `includeLastDays` must be specified.
	IncludeLastDays pulumi.BoolPtrInput `pulumi:"includeLastDays"`
	// 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) Days added in v5.44.0

The days of the month to retain backups of. Must be between `1` and `31`.

func (PolicyVMRetentionYearlyOutput) ElementType

func (PolicyVMRetentionYearlyOutput) IncludeLastDays added in v5.44.0

Including the last day of the month, default to `false`.

> **NOTE:**: Either `weekdays` and `weeks` or `days` and `includeLastDays` must be specified.

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

The days of the month to retain backups of. Must be between `1` and `31`.

func (PolicyVMRetentionYearlyPtrOutput) Elem

func (PolicyVMRetentionYearlyPtrOutput) ElementType

func (PolicyVMRetentionYearlyPtrOutput) IncludeLastDays added in v5.44.0

Including the last day of the month, default to `false`.

> **NOTE:**: Either `weekdays` and `weeks` or `days` and `includeLastDays` must be specified.

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 resource group name as documented in the `instantRestoreResourceGroup` block below.
	InstantRestoreResourceGroup PolicyVMInstantRestoreResourceGroupPtrInput
	// Specifies the instant restore retention range in days. Possible values are between `1` and `5` when `policyType` is `V1`, and `1` to `30` when `policyType` is `V2`.
	//
	// > **NOTE:** `instantRestoreRetentionDays` **must** be set to `5` if the backup frequency is set to `Weekly`.
	InstantRestoreRetentionDays pulumi.IntPtrInput
	// Specifies the name of the Backup Policy. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Type of the Backup Policy. Possible values are `V1` and `V2` where `V2` stands for the Enhanced Policy. Defaults to `V1`. Changing this forces a new resource to be created.
	PolicyType 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
	// Specifies the timezone. [the possible values are defined here](https://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 PolicyVMWorkload added in v5.17.0

type PolicyVMWorkload struct {
	pulumi.CustomResourceState

	// The name of the VM Workload Backup Policy. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// One or more `protectionPolicy` blocks as defined below.
	ProtectionPolicies PolicyVMWorkloadProtectionPolicyArrayOutput `pulumi:"protectionPolicies"`
	// 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 VM Workload Backup Policy. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// A `settings` block as defined below.
	Settings PolicyVMWorkloadSettingsOutput `pulumi:"settings"`
	// The VM Workload type for the Backup Policy. Possible values are `SQLDataBase` and `SAPHanaDatabase`. Changing this forces a new resource to be created.
	WorkloadType pulumi.StringOutput `pulumi:"workloadType"`
}

Manages an Azure VM Workload Backup Policy within a Recovery Services vault.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-bpvmw"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleVault, err := recoveryservices.NewVault(ctx, "example", &recoveryservices.VaultArgs{
			Name:              pulumi.String("example-rsv"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku:               pulumi.String("Standard"),
			SoftDeleteEnabled: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		_, err = backup.NewPolicyVMWorkload(ctx, "example", &backup.PolicyVMWorkloadArgs{
			Name:              pulumi.String("example-bpvmw"),
			ResourceGroupName: example.Name,
			RecoveryVaultName: exampleVault.Name,
			WorkloadType:      pulumi.String("SQLDataBase"),
			Settings: &backup.PolicyVMWorkloadSettingsArgs{
				TimeZone:           pulumi.String("UTC"),
				CompressionEnabled: pulumi.Bool(false),
			},
			ProtectionPolicies: backup.PolicyVMWorkloadProtectionPolicyArray{
				&backup.PolicyVMWorkloadProtectionPolicyArgs{
					PolicyType: pulumi.String("Full"),
					Backup: &backup.PolicyVMWorkloadProtectionPolicyBackupArgs{
						Frequency: pulumi.String("Daily"),
						Time:      pulumi.String("15:00"),
					},
					RetentionDaily: &backup.PolicyVMWorkloadProtectionPolicyRetentionDailyArgs{
						Count: pulumi.Int(8),
					},
				},
				&backup.PolicyVMWorkloadProtectionPolicyArgs{
					PolicyType: pulumi.String("Log"),
					Backup: &backup.PolicyVMWorkloadProtectionPolicyBackupArgs{
						FrequencyInMinutes: pulumi.Int(15),
					},
					SimpleRetention: &backup.PolicyVMWorkloadProtectionPolicySimpleRetentionArgs{
						Count: pulumi.Int(8),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

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

```sh $ pulumi import azure:backup/policyVMWorkload:PolicyVMWorkload policy1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.RecoveryServices/vaults/vault1/backupPolicies/policy1 ```

func GetPolicyVMWorkload added in v5.17.0

func GetPolicyVMWorkload(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PolicyVMWorkloadState, opts ...pulumi.ResourceOption) (*PolicyVMWorkload, error)

GetPolicyVMWorkload gets an existing PolicyVMWorkload 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 NewPolicyVMWorkload added in v5.17.0

func NewPolicyVMWorkload(ctx *pulumi.Context,
	name string, args *PolicyVMWorkloadArgs, opts ...pulumi.ResourceOption) (*PolicyVMWorkload, error)

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

func (*PolicyVMWorkload) ElementType added in v5.17.0

func (*PolicyVMWorkload) ElementType() reflect.Type

func (*PolicyVMWorkload) ToPolicyVMWorkloadOutput added in v5.17.0

func (i *PolicyVMWorkload) ToPolicyVMWorkloadOutput() PolicyVMWorkloadOutput

func (*PolicyVMWorkload) ToPolicyVMWorkloadOutputWithContext added in v5.17.0

func (i *PolicyVMWorkload) ToPolicyVMWorkloadOutputWithContext(ctx context.Context) PolicyVMWorkloadOutput

type PolicyVMWorkloadArgs added in v5.17.0

type PolicyVMWorkloadArgs struct {
	// The name of the VM Workload Backup Policy. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// One or more `protectionPolicy` blocks as defined below.
	ProtectionPolicies PolicyVMWorkloadProtectionPolicyArrayInput
	// 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 VM Workload Backup Policy. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// A `settings` block as defined below.
	Settings PolicyVMWorkloadSettingsInput
	// The VM Workload type for the Backup Policy. Possible values are `SQLDataBase` and `SAPHanaDatabase`. Changing this forces a new resource to be created.
	WorkloadType pulumi.StringInput
}

The set of arguments for constructing a PolicyVMWorkload resource.

func (PolicyVMWorkloadArgs) ElementType added in v5.17.0

func (PolicyVMWorkloadArgs) ElementType() reflect.Type

type PolicyVMWorkloadArray added in v5.17.0

type PolicyVMWorkloadArray []PolicyVMWorkloadInput

func (PolicyVMWorkloadArray) ElementType added in v5.17.0

func (PolicyVMWorkloadArray) ElementType() reflect.Type

func (PolicyVMWorkloadArray) ToPolicyVMWorkloadArrayOutput added in v5.17.0

func (i PolicyVMWorkloadArray) ToPolicyVMWorkloadArrayOutput() PolicyVMWorkloadArrayOutput

func (PolicyVMWorkloadArray) ToPolicyVMWorkloadArrayOutputWithContext added in v5.17.0

func (i PolicyVMWorkloadArray) ToPolicyVMWorkloadArrayOutputWithContext(ctx context.Context) PolicyVMWorkloadArrayOutput

type PolicyVMWorkloadArrayInput added in v5.17.0

type PolicyVMWorkloadArrayInput interface {
	pulumi.Input

	ToPolicyVMWorkloadArrayOutput() PolicyVMWorkloadArrayOutput
	ToPolicyVMWorkloadArrayOutputWithContext(context.Context) PolicyVMWorkloadArrayOutput
}

PolicyVMWorkloadArrayInput is an input type that accepts PolicyVMWorkloadArray and PolicyVMWorkloadArrayOutput values. You can construct a concrete instance of `PolicyVMWorkloadArrayInput` via:

PolicyVMWorkloadArray{ PolicyVMWorkloadArgs{...} }

type PolicyVMWorkloadArrayOutput added in v5.17.0

type PolicyVMWorkloadArrayOutput struct{ *pulumi.OutputState }

func (PolicyVMWorkloadArrayOutput) ElementType added in v5.17.0

func (PolicyVMWorkloadArrayOutput) Index added in v5.17.0

func (PolicyVMWorkloadArrayOutput) ToPolicyVMWorkloadArrayOutput added in v5.17.0

func (o PolicyVMWorkloadArrayOutput) ToPolicyVMWorkloadArrayOutput() PolicyVMWorkloadArrayOutput

func (PolicyVMWorkloadArrayOutput) ToPolicyVMWorkloadArrayOutputWithContext added in v5.17.0

func (o PolicyVMWorkloadArrayOutput) ToPolicyVMWorkloadArrayOutputWithContext(ctx context.Context) PolicyVMWorkloadArrayOutput

type PolicyVMWorkloadInput added in v5.17.0

type PolicyVMWorkloadInput interface {
	pulumi.Input

	ToPolicyVMWorkloadOutput() PolicyVMWorkloadOutput
	ToPolicyVMWorkloadOutputWithContext(ctx context.Context) PolicyVMWorkloadOutput
}

type PolicyVMWorkloadMap added in v5.17.0

type PolicyVMWorkloadMap map[string]PolicyVMWorkloadInput

func (PolicyVMWorkloadMap) ElementType added in v5.17.0

func (PolicyVMWorkloadMap) ElementType() reflect.Type

func (PolicyVMWorkloadMap) ToPolicyVMWorkloadMapOutput added in v5.17.0

func (i PolicyVMWorkloadMap) ToPolicyVMWorkloadMapOutput() PolicyVMWorkloadMapOutput

func (PolicyVMWorkloadMap) ToPolicyVMWorkloadMapOutputWithContext added in v5.17.0

func (i PolicyVMWorkloadMap) ToPolicyVMWorkloadMapOutputWithContext(ctx context.Context) PolicyVMWorkloadMapOutput

type PolicyVMWorkloadMapInput added in v5.17.0

type PolicyVMWorkloadMapInput interface {
	pulumi.Input

	ToPolicyVMWorkloadMapOutput() PolicyVMWorkloadMapOutput
	ToPolicyVMWorkloadMapOutputWithContext(context.Context) PolicyVMWorkloadMapOutput
}

PolicyVMWorkloadMapInput is an input type that accepts PolicyVMWorkloadMap and PolicyVMWorkloadMapOutput values. You can construct a concrete instance of `PolicyVMWorkloadMapInput` via:

PolicyVMWorkloadMap{ "key": PolicyVMWorkloadArgs{...} }

type PolicyVMWorkloadMapOutput added in v5.17.0

type PolicyVMWorkloadMapOutput struct{ *pulumi.OutputState }

func (PolicyVMWorkloadMapOutput) ElementType added in v5.17.0

func (PolicyVMWorkloadMapOutput) ElementType() reflect.Type

func (PolicyVMWorkloadMapOutput) MapIndex added in v5.17.0

func (PolicyVMWorkloadMapOutput) ToPolicyVMWorkloadMapOutput added in v5.17.0

func (o PolicyVMWorkloadMapOutput) ToPolicyVMWorkloadMapOutput() PolicyVMWorkloadMapOutput

func (PolicyVMWorkloadMapOutput) ToPolicyVMWorkloadMapOutputWithContext added in v5.17.0

func (o PolicyVMWorkloadMapOutput) ToPolicyVMWorkloadMapOutputWithContext(ctx context.Context) PolicyVMWorkloadMapOutput

type PolicyVMWorkloadOutput added in v5.17.0

type PolicyVMWorkloadOutput struct{ *pulumi.OutputState }

func (PolicyVMWorkloadOutput) ElementType added in v5.17.0

func (PolicyVMWorkloadOutput) ElementType() reflect.Type

func (PolicyVMWorkloadOutput) Name added in v5.17.0

The name of the VM Workload Backup Policy. Changing this forces a new resource to be created.

func (PolicyVMWorkloadOutput) ProtectionPolicies added in v5.17.0

One or more `protectionPolicy` blocks as defined below.

func (PolicyVMWorkloadOutput) RecoveryVaultName added in v5.17.0

func (o PolicyVMWorkloadOutput) RecoveryVaultName() pulumi.StringOutput

The name of the Recovery Services Vault to use. Changing this forces a new resource to be created.

func (PolicyVMWorkloadOutput) ResourceGroupName added in v5.17.0

func (o PolicyVMWorkloadOutput) ResourceGroupName() pulumi.StringOutput

The name of the resource group in which to create the VM Workload Backup Policy. Changing this forces a new resource to be created.

func (PolicyVMWorkloadOutput) Settings added in v5.17.0

A `settings` block as defined below.

func (PolicyVMWorkloadOutput) ToPolicyVMWorkloadOutput added in v5.17.0

func (o PolicyVMWorkloadOutput) ToPolicyVMWorkloadOutput() PolicyVMWorkloadOutput

func (PolicyVMWorkloadOutput) ToPolicyVMWorkloadOutputWithContext added in v5.17.0

func (o PolicyVMWorkloadOutput) ToPolicyVMWorkloadOutputWithContext(ctx context.Context) PolicyVMWorkloadOutput

func (PolicyVMWorkloadOutput) WorkloadType added in v5.17.0

func (o PolicyVMWorkloadOutput) WorkloadType() pulumi.StringOutput

The VM Workload type for the Backup Policy. Possible values are `SQLDataBase` and `SAPHanaDatabase`. Changing this forces a new resource to be created.

type PolicyVMWorkloadProtectionPolicy added in v5.17.0

type PolicyVMWorkloadProtectionPolicy struct {
	// A `backup` block as defined below.
	Backup PolicyVMWorkloadProtectionPolicyBackup `pulumi:"backup"`
	// The type of the VM Workload Backup Policy. Possible values are `Differential`, `Full`, `Incremental` and `Log`.
	PolicyType string `pulumi:"policyType"`
	// A `retentionDaily` block as defined below.
	RetentionDaily *PolicyVMWorkloadProtectionPolicyRetentionDaily `pulumi:"retentionDaily"`
	// A `retentionMonthly` block as defined below.
	RetentionMonthly *PolicyVMWorkloadProtectionPolicyRetentionMonthly `pulumi:"retentionMonthly"`
	// A `retentionWeekly` block as defined below.
	RetentionWeekly *PolicyVMWorkloadProtectionPolicyRetentionWeekly `pulumi:"retentionWeekly"`
	// A `retentionYearly` block as defined below.
	RetentionYearly *PolicyVMWorkloadProtectionPolicyRetentionYearly `pulumi:"retentionYearly"`
	// A `simpleRetention` block as defined below.
	SimpleRetention *PolicyVMWorkloadProtectionPolicySimpleRetention `pulumi:"simpleRetention"`
}

type PolicyVMWorkloadProtectionPolicyArgs added in v5.17.0

type PolicyVMWorkloadProtectionPolicyArgs struct {
	// A `backup` block as defined below.
	Backup PolicyVMWorkloadProtectionPolicyBackupInput `pulumi:"backup"`
	// The type of the VM Workload Backup Policy. Possible values are `Differential`, `Full`, `Incremental` and `Log`.
	PolicyType pulumi.StringInput `pulumi:"policyType"`
	// A `retentionDaily` block as defined below.
	RetentionDaily PolicyVMWorkloadProtectionPolicyRetentionDailyPtrInput `pulumi:"retentionDaily"`
	// A `retentionMonthly` block as defined below.
	RetentionMonthly PolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrInput `pulumi:"retentionMonthly"`
	// A `retentionWeekly` block as defined below.
	RetentionWeekly PolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrInput `pulumi:"retentionWeekly"`
	// A `retentionYearly` block as defined below.
	RetentionYearly PolicyVMWorkloadProtectionPolicyRetentionYearlyPtrInput `pulumi:"retentionYearly"`
	// A `simpleRetention` block as defined below.
	SimpleRetention PolicyVMWorkloadProtectionPolicySimpleRetentionPtrInput `pulumi:"simpleRetention"`
}

func (PolicyVMWorkloadProtectionPolicyArgs) ElementType added in v5.17.0

func (PolicyVMWorkloadProtectionPolicyArgs) ToPolicyVMWorkloadProtectionPolicyOutput added in v5.17.0

func (i PolicyVMWorkloadProtectionPolicyArgs) ToPolicyVMWorkloadProtectionPolicyOutput() PolicyVMWorkloadProtectionPolicyOutput

func (PolicyVMWorkloadProtectionPolicyArgs) ToPolicyVMWorkloadProtectionPolicyOutputWithContext added in v5.17.0

func (i PolicyVMWorkloadProtectionPolicyArgs) ToPolicyVMWorkloadProtectionPolicyOutputWithContext(ctx context.Context) PolicyVMWorkloadProtectionPolicyOutput

type PolicyVMWorkloadProtectionPolicyArray added in v5.17.0

type PolicyVMWorkloadProtectionPolicyArray []PolicyVMWorkloadProtectionPolicyInput

func (PolicyVMWorkloadProtectionPolicyArray) ElementType added in v5.17.0

func (PolicyVMWorkloadProtectionPolicyArray) ToPolicyVMWorkloadProtectionPolicyArrayOutput added in v5.17.0

func (i PolicyVMWorkloadProtectionPolicyArray) ToPolicyVMWorkloadProtectionPolicyArrayOutput() PolicyVMWorkloadProtectionPolicyArrayOutput

func (PolicyVMWorkloadProtectionPolicyArray) ToPolicyVMWorkloadProtectionPolicyArrayOutputWithContext added in v5.17.0

func (i PolicyVMWorkloadProtectionPolicyArray) ToPolicyVMWorkloadProtectionPolicyArrayOutputWithContext(ctx context.Context) PolicyVMWorkloadProtectionPolicyArrayOutput

type PolicyVMWorkloadProtectionPolicyArrayInput added in v5.17.0

type PolicyVMWorkloadProtectionPolicyArrayInput interface {
	pulumi.Input

	ToPolicyVMWorkloadProtectionPolicyArrayOutput() PolicyVMWorkloadProtectionPolicyArrayOutput
	ToPolicyVMWorkloadProtectionPolicyArrayOutputWithContext(context.Context) PolicyVMWorkloadProtectionPolicyArrayOutput
}

PolicyVMWorkloadProtectionPolicyArrayInput is an input type that accepts PolicyVMWorkloadProtectionPolicyArray and PolicyVMWorkloadProtectionPolicyArrayOutput values. You can construct a concrete instance of `PolicyVMWorkloadProtectionPolicyArrayInput` via:

PolicyVMWorkloadProtectionPolicyArray{ PolicyVMWorkloadProtectionPolicyArgs{...} }

type PolicyVMWorkloadProtectionPolicyArrayOutput added in v5.17.0

type PolicyVMWorkloadProtectionPolicyArrayOutput struct{ *pulumi.OutputState }

func (PolicyVMWorkloadProtectionPolicyArrayOutput) ElementType added in v5.17.0

func (PolicyVMWorkloadProtectionPolicyArrayOutput) Index added in v5.17.0

func (PolicyVMWorkloadProtectionPolicyArrayOutput) ToPolicyVMWorkloadProtectionPolicyArrayOutput added in v5.17.0

func (o PolicyVMWorkloadProtectionPolicyArrayOutput) ToPolicyVMWorkloadProtectionPolicyArrayOutput() PolicyVMWorkloadProtectionPolicyArrayOutput

func (PolicyVMWorkloadProtectionPolicyArrayOutput) ToPolicyVMWorkloadProtectionPolicyArrayOutputWithContext added in v5.17.0

func (o PolicyVMWorkloadProtectionPolicyArrayOutput) ToPolicyVMWorkloadProtectionPolicyArrayOutputWithContext(ctx context.Context) PolicyVMWorkloadProtectionPolicyArrayOutput

type PolicyVMWorkloadProtectionPolicyBackup added in v5.17.0

type PolicyVMWorkloadProtectionPolicyBackup struct {
	// The backup frequency for the VM Workload Backup Policy. Possible values are `Daily` and `Weekly`.
	Frequency *string `pulumi:"frequency"`
	// The backup frequency in minutes for the VM Workload Backup Policy. Possible values are `15`, `30`, `60`, `120`, `240`, `480`, `720` and `1440`.
	FrequencyInMinutes *int `pulumi:"frequencyInMinutes"`
	// The time of day to perform the backup in 24hour format.
	Time *string `pulumi:"time"`
	// The days of the week to perform backups on. Possible values are `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`. This is used when `frequency` is `Weekly`.
	Weekdays []string `pulumi:"weekdays"`
}

type PolicyVMWorkloadProtectionPolicyBackupArgs added in v5.17.0

type PolicyVMWorkloadProtectionPolicyBackupArgs struct {
	// The backup frequency for the VM Workload Backup Policy. Possible values are `Daily` and `Weekly`.
	Frequency pulumi.StringPtrInput `pulumi:"frequency"`
	// The backup frequency in minutes for the VM Workload Backup Policy. Possible values are `15`, `30`, `60`, `120`, `240`, `480`, `720` and `1440`.
	FrequencyInMinutes pulumi.IntPtrInput `pulumi:"frequencyInMinutes"`
	// The time of day to perform the backup in 24hour format.
	Time pulumi.StringPtrInput `pulumi:"time"`
	// The days of the week to perform backups on. Possible values are `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`. This is used when `frequency` is `Weekly`.
	Weekdays pulumi.StringArrayInput `pulumi:"weekdays"`
}

func (PolicyVMWorkloadProtectionPolicyBackupArgs) ElementType added in v5.17.0

func (PolicyVMWorkloadProtectionPolicyBackupArgs) ToPolicyVMWorkloadProtectionPolicyBackupOutput added in v5.17.0

func (i PolicyVMWorkloadProtectionPolicyBackupArgs) ToPolicyVMWorkloadProtectionPolicyBackupOutput() PolicyVMWorkloadProtectionPolicyBackupOutput

func (PolicyVMWorkloadProtectionPolicyBackupArgs) ToPolicyVMWorkloadProtectionPolicyBackupOutputWithContext added in v5.17.0

func (i PolicyVMWorkloadProtectionPolicyBackupArgs) ToPolicyVMWorkloadProtectionPolicyBackupOutputWithContext(ctx context.Context) PolicyVMWorkloadProtectionPolicyBackupOutput

type PolicyVMWorkloadProtectionPolicyBackupInput added in v5.17.0

type PolicyVMWorkloadProtectionPolicyBackupInput interface {
	pulumi.Input

	ToPolicyVMWorkloadProtectionPolicyBackupOutput() PolicyVMWorkloadProtectionPolicyBackupOutput
	ToPolicyVMWorkloadProtectionPolicyBackupOutputWithContext(context.Context) PolicyVMWorkloadProtectionPolicyBackupOutput
}

PolicyVMWorkloadProtectionPolicyBackupInput is an input type that accepts PolicyVMWorkloadProtectionPolicyBackupArgs and PolicyVMWorkloadProtectionPolicyBackupOutput values. You can construct a concrete instance of `PolicyVMWorkloadProtectionPolicyBackupInput` via:

PolicyVMWorkloadProtectionPolicyBackupArgs{...}

type PolicyVMWorkloadProtectionPolicyBackupOutput added in v5.17.0

type PolicyVMWorkloadProtectionPolicyBackupOutput struct{ *pulumi.OutputState }

func (PolicyVMWorkloadProtectionPolicyBackupOutput) ElementType added in v5.17.0

func (PolicyVMWorkloadProtectionPolicyBackupOutput) Frequency added in v5.17.0

The backup frequency for the VM Workload Backup Policy. Possible values are `Daily` and `Weekly`.

func (PolicyVMWorkloadProtectionPolicyBackupOutput) FrequencyInMinutes added in v5.17.0

The backup frequency in minutes for the VM Workload Backup Policy. Possible values are `15`, `30`, `60`, `120`, `240`, `480`, `720` and `1440`.

func (PolicyVMWorkloadProtectionPolicyBackupOutput) Time added in v5.17.0

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

func (PolicyVMWorkloadProtectionPolicyBackupOutput) ToPolicyVMWorkloadProtectionPolicyBackupOutput added in v5.17.0

func (o PolicyVMWorkloadProtectionPolicyBackupOutput) ToPolicyVMWorkloadProtectionPolicyBackupOutput() PolicyVMWorkloadProtectionPolicyBackupOutput

func (PolicyVMWorkloadProtectionPolicyBackupOutput) ToPolicyVMWorkloadProtectionPolicyBackupOutputWithContext added in v5.17.0

func (o PolicyVMWorkloadProtectionPolicyBackupOutput) ToPolicyVMWorkloadProtectionPolicyBackupOutputWithContext(ctx context.Context) PolicyVMWorkloadProtectionPolicyBackupOutput

func (PolicyVMWorkloadProtectionPolicyBackupOutput) Weekdays added in v5.17.0

The days of the week to perform backups on. Possible values are `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`. This is used when `frequency` is `Weekly`.

type PolicyVMWorkloadProtectionPolicyInput added in v5.17.0

type PolicyVMWorkloadProtectionPolicyInput interface {
	pulumi.Input

	ToPolicyVMWorkloadProtectionPolicyOutput() PolicyVMWorkloadProtectionPolicyOutput
	ToPolicyVMWorkloadProtectionPolicyOutputWithContext(context.Context) PolicyVMWorkloadProtectionPolicyOutput
}

PolicyVMWorkloadProtectionPolicyInput is an input type that accepts PolicyVMWorkloadProtectionPolicyArgs and PolicyVMWorkloadProtectionPolicyOutput values. You can construct a concrete instance of `PolicyVMWorkloadProtectionPolicyInput` via:

PolicyVMWorkloadProtectionPolicyArgs{...}

type PolicyVMWorkloadProtectionPolicyOutput added in v5.17.0

type PolicyVMWorkloadProtectionPolicyOutput struct{ *pulumi.OutputState }

func (PolicyVMWorkloadProtectionPolicyOutput) Backup added in v5.17.0

A `backup` block as defined below.

func (PolicyVMWorkloadProtectionPolicyOutput) ElementType added in v5.17.0

func (PolicyVMWorkloadProtectionPolicyOutput) PolicyType added in v5.17.0

The type of the VM Workload Backup Policy. Possible values are `Differential`, `Full`, `Incremental` and `Log`.

func (PolicyVMWorkloadProtectionPolicyOutput) RetentionDaily added in v5.17.0

A `retentionDaily` block as defined below.

func (PolicyVMWorkloadProtectionPolicyOutput) RetentionMonthly added in v5.17.0

A `retentionMonthly` block as defined below.

func (PolicyVMWorkloadProtectionPolicyOutput) RetentionWeekly added in v5.17.0

A `retentionWeekly` block as defined below.

func (PolicyVMWorkloadProtectionPolicyOutput) RetentionYearly added in v5.17.0

A `retentionYearly` block as defined below.

func (PolicyVMWorkloadProtectionPolicyOutput) SimpleRetention added in v5.17.0

A `simpleRetention` block as defined below.

func (PolicyVMWorkloadProtectionPolicyOutput) ToPolicyVMWorkloadProtectionPolicyOutput added in v5.17.0

func (o PolicyVMWorkloadProtectionPolicyOutput) ToPolicyVMWorkloadProtectionPolicyOutput() PolicyVMWorkloadProtectionPolicyOutput

func (PolicyVMWorkloadProtectionPolicyOutput) ToPolicyVMWorkloadProtectionPolicyOutputWithContext added in v5.17.0

func (o PolicyVMWorkloadProtectionPolicyOutput) ToPolicyVMWorkloadProtectionPolicyOutputWithContext(ctx context.Context) PolicyVMWorkloadProtectionPolicyOutput

type PolicyVMWorkloadProtectionPolicyRetentionDaily added in v5.17.0

type PolicyVMWorkloadProtectionPolicyRetentionDaily struct {
	// The number of daily backups to keep. Possible values are between `7` and `9999`.
	Count int `pulumi:"count"`
}

type PolicyVMWorkloadProtectionPolicyRetentionDailyArgs added in v5.17.0

type PolicyVMWorkloadProtectionPolicyRetentionDailyArgs struct {
	// The number of daily backups to keep. Possible values are between `7` and `9999`.
	Count pulumi.IntInput `pulumi:"count"`
}

func (PolicyVMWorkloadProtectionPolicyRetentionDailyArgs) ElementType added in v5.17.0

func (PolicyVMWorkloadProtectionPolicyRetentionDailyArgs) ToPolicyVMWorkloadProtectionPolicyRetentionDailyOutput added in v5.17.0

func (i PolicyVMWorkloadProtectionPolicyRetentionDailyArgs) ToPolicyVMWorkloadProtectionPolicyRetentionDailyOutput() PolicyVMWorkloadProtectionPolicyRetentionDailyOutput

func (PolicyVMWorkloadProtectionPolicyRetentionDailyArgs) ToPolicyVMWorkloadProtectionPolicyRetentionDailyOutputWithContext added in v5.17.0

func (i PolicyVMWorkloadProtectionPolicyRetentionDailyArgs) ToPolicyVMWorkloadProtectionPolicyRetentionDailyOutputWithContext(ctx context.Context) PolicyVMWorkloadProtectionPolicyRetentionDailyOutput

func (PolicyVMWorkloadProtectionPolicyRetentionDailyArgs) ToPolicyVMWorkloadProtectionPolicyRetentionDailyPtrOutput added in v5.17.0

func (i PolicyVMWorkloadProtectionPolicyRetentionDailyArgs) ToPolicyVMWorkloadProtectionPolicyRetentionDailyPtrOutput() PolicyVMWorkloadProtectionPolicyRetentionDailyPtrOutput

func (PolicyVMWorkloadProtectionPolicyRetentionDailyArgs) ToPolicyVMWorkloadProtectionPolicyRetentionDailyPtrOutputWithContext added in v5.17.0

func (i PolicyVMWorkloadProtectionPolicyRetentionDailyArgs) ToPolicyVMWorkloadProtectionPolicyRetentionDailyPtrOutputWithContext(ctx context.Context) PolicyVMWorkloadProtectionPolicyRetentionDailyPtrOutput

type PolicyVMWorkloadProtectionPolicyRetentionDailyInput added in v5.17.0

type PolicyVMWorkloadProtectionPolicyRetentionDailyInput interface {
	pulumi.Input

	ToPolicyVMWorkloadProtectionPolicyRetentionDailyOutput() PolicyVMWorkloadProtectionPolicyRetentionDailyOutput
	ToPolicyVMWorkloadProtectionPolicyRetentionDailyOutputWithContext(context.Context) PolicyVMWorkloadProtectionPolicyRetentionDailyOutput
}

PolicyVMWorkloadProtectionPolicyRetentionDailyInput is an input type that accepts PolicyVMWorkloadProtectionPolicyRetentionDailyArgs and PolicyVMWorkloadProtectionPolicyRetentionDailyOutput values. You can construct a concrete instance of `PolicyVMWorkloadProtectionPolicyRetentionDailyInput` via:

PolicyVMWorkloadProtectionPolicyRetentionDailyArgs{...}

type PolicyVMWorkloadProtectionPolicyRetentionDailyOutput added in v5.17.0

type PolicyVMWorkloadProtectionPolicyRetentionDailyOutput struct{ *pulumi.OutputState }

func (PolicyVMWorkloadProtectionPolicyRetentionDailyOutput) Count added in v5.17.0

The number of daily backups to keep. Possible values are between `7` and `9999`.

func (PolicyVMWorkloadProtectionPolicyRetentionDailyOutput) ElementType added in v5.17.0

func (PolicyVMWorkloadProtectionPolicyRetentionDailyOutput) ToPolicyVMWorkloadProtectionPolicyRetentionDailyOutput added in v5.17.0

func (PolicyVMWorkloadProtectionPolicyRetentionDailyOutput) ToPolicyVMWorkloadProtectionPolicyRetentionDailyOutputWithContext added in v5.17.0

func (o PolicyVMWorkloadProtectionPolicyRetentionDailyOutput) ToPolicyVMWorkloadProtectionPolicyRetentionDailyOutputWithContext(ctx context.Context) PolicyVMWorkloadProtectionPolicyRetentionDailyOutput

func (PolicyVMWorkloadProtectionPolicyRetentionDailyOutput) ToPolicyVMWorkloadProtectionPolicyRetentionDailyPtrOutput added in v5.17.0

func (o PolicyVMWorkloadProtectionPolicyRetentionDailyOutput) ToPolicyVMWorkloadProtectionPolicyRetentionDailyPtrOutput() PolicyVMWorkloadProtectionPolicyRetentionDailyPtrOutput

func (PolicyVMWorkloadProtectionPolicyRetentionDailyOutput) ToPolicyVMWorkloadProtectionPolicyRetentionDailyPtrOutputWithContext added in v5.17.0

func (o PolicyVMWorkloadProtectionPolicyRetentionDailyOutput) ToPolicyVMWorkloadProtectionPolicyRetentionDailyPtrOutputWithContext(ctx context.Context) PolicyVMWorkloadProtectionPolicyRetentionDailyPtrOutput

type PolicyVMWorkloadProtectionPolicyRetentionDailyPtrInput added in v5.17.0

type PolicyVMWorkloadProtectionPolicyRetentionDailyPtrInput interface {
	pulumi.Input

	ToPolicyVMWorkloadProtectionPolicyRetentionDailyPtrOutput() PolicyVMWorkloadProtectionPolicyRetentionDailyPtrOutput
	ToPolicyVMWorkloadProtectionPolicyRetentionDailyPtrOutputWithContext(context.Context) PolicyVMWorkloadProtectionPolicyRetentionDailyPtrOutput
}

PolicyVMWorkloadProtectionPolicyRetentionDailyPtrInput is an input type that accepts PolicyVMWorkloadProtectionPolicyRetentionDailyArgs, PolicyVMWorkloadProtectionPolicyRetentionDailyPtr and PolicyVMWorkloadProtectionPolicyRetentionDailyPtrOutput values. You can construct a concrete instance of `PolicyVMWorkloadProtectionPolicyRetentionDailyPtrInput` via:

        PolicyVMWorkloadProtectionPolicyRetentionDailyArgs{...}

or:

        nil

type PolicyVMWorkloadProtectionPolicyRetentionDailyPtrOutput added in v5.17.0

type PolicyVMWorkloadProtectionPolicyRetentionDailyPtrOutput struct{ *pulumi.OutputState }

func (PolicyVMWorkloadProtectionPolicyRetentionDailyPtrOutput) Count added in v5.17.0

The number of daily backups to keep. Possible values are between `7` and `9999`.

func (PolicyVMWorkloadProtectionPolicyRetentionDailyPtrOutput) Elem added in v5.17.0

func (PolicyVMWorkloadProtectionPolicyRetentionDailyPtrOutput) ElementType added in v5.17.0

func (PolicyVMWorkloadProtectionPolicyRetentionDailyPtrOutput) ToPolicyVMWorkloadProtectionPolicyRetentionDailyPtrOutput added in v5.17.0

func (PolicyVMWorkloadProtectionPolicyRetentionDailyPtrOutput) ToPolicyVMWorkloadProtectionPolicyRetentionDailyPtrOutputWithContext added in v5.17.0

func (o PolicyVMWorkloadProtectionPolicyRetentionDailyPtrOutput) ToPolicyVMWorkloadProtectionPolicyRetentionDailyPtrOutputWithContext(ctx context.Context) PolicyVMWorkloadProtectionPolicyRetentionDailyPtrOutput

type PolicyVMWorkloadProtectionPolicyRetentionMonthly added in v5.17.0

type PolicyVMWorkloadProtectionPolicyRetentionMonthly struct {
	// The number of monthly backups to keep. Must be between `1` and `1188`.
	Count int `pulumi:"count"`
	// The retention schedule format type for monthly retention policy. Possible values are `Daily` and `Weekly`.
	FormatType string `pulumi:"formatType"`
	// The monthday backups to retain. Possible values are between `0` and `28`.
	Monthdays []int `pulumi:"monthdays"`
	// The weekday backups to retain. Possible values are `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.
	Weekdays []string `pulumi:"weekdays"`
	// The weeks of the month to retain backups of. Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`.
	Weeks []string `pulumi:"weeks"`
}

type PolicyVMWorkloadProtectionPolicyRetentionMonthlyArgs added in v5.17.0

type PolicyVMWorkloadProtectionPolicyRetentionMonthlyArgs struct {
	// The number of monthly backups to keep. Must be between `1` and `1188`.
	Count pulumi.IntInput `pulumi:"count"`
	// The retention schedule format type for monthly retention policy. Possible values are `Daily` and `Weekly`.
	FormatType pulumi.StringInput `pulumi:"formatType"`
	// The monthday backups to retain. Possible values are between `0` and `28`.
	Monthdays pulumi.IntArrayInput `pulumi:"monthdays"`
	// The weekday backups to retain. Possible values are `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.
	Weekdays pulumi.StringArrayInput `pulumi:"weekdays"`
	// The weeks of the month to retain backups of. Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`.
	Weeks pulumi.StringArrayInput `pulumi:"weeks"`
}

func (PolicyVMWorkloadProtectionPolicyRetentionMonthlyArgs) ElementType added in v5.17.0

func (PolicyVMWorkloadProtectionPolicyRetentionMonthlyArgs) ToPolicyVMWorkloadProtectionPolicyRetentionMonthlyOutput added in v5.17.0

func (i PolicyVMWorkloadProtectionPolicyRetentionMonthlyArgs) ToPolicyVMWorkloadProtectionPolicyRetentionMonthlyOutput() PolicyVMWorkloadProtectionPolicyRetentionMonthlyOutput

func (PolicyVMWorkloadProtectionPolicyRetentionMonthlyArgs) ToPolicyVMWorkloadProtectionPolicyRetentionMonthlyOutputWithContext added in v5.17.0

func (i PolicyVMWorkloadProtectionPolicyRetentionMonthlyArgs) ToPolicyVMWorkloadProtectionPolicyRetentionMonthlyOutputWithContext(ctx context.Context) PolicyVMWorkloadProtectionPolicyRetentionMonthlyOutput

func (PolicyVMWorkloadProtectionPolicyRetentionMonthlyArgs) ToPolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrOutput added in v5.17.0

func (i PolicyVMWorkloadProtectionPolicyRetentionMonthlyArgs) ToPolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrOutput() PolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrOutput

func (PolicyVMWorkloadProtectionPolicyRetentionMonthlyArgs) ToPolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrOutputWithContext added in v5.17.0

func (i PolicyVMWorkloadProtectionPolicyRetentionMonthlyArgs) ToPolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrOutputWithContext(ctx context.Context) PolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrOutput

type PolicyVMWorkloadProtectionPolicyRetentionMonthlyInput added in v5.17.0

type PolicyVMWorkloadProtectionPolicyRetentionMonthlyInput interface {
	pulumi.Input

	ToPolicyVMWorkloadProtectionPolicyRetentionMonthlyOutput() PolicyVMWorkloadProtectionPolicyRetentionMonthlyOutput
	ToPolicyVMWorkloadProtectionPolicyRetentionMonthlyOutputWithContext(context.Context) PolicyVMWorkloadProtectionPolicyRetentionMonthlyOutput
}

PolicyVMWorkloadProtectionPolicyRetentionMonthlyInput is an input type that accepts PolicyVMWorkloadProtectionPolicyRetentionMonthlyArgs and PolicyVMWorkloadProtectionPolicyRetentionMonthlyOutput values. You can construct a concrete instance of `PolicyVMWorkloadProtectionPolicyRetentionMonthlyInput` via:

PolicyVMWorkloadProtectionPolicyRetentionMonthlyArgs{...}

type PolicyVMWorkloadProtectionPolicyRetentionMonthlyOutput added in v5.17.0

type PolicyVMWorkloadProtectionPolicyRetentionMonthlyOutput struct{ *pulumi.OutputState }

func (PolicyVMWorkloadProtectionPolicyRetentionMonthlyOutput) Count added in v5.17.0

The number of monthly backups to keep. Must be between `1` and `1188`.

func (PolicyVMWorkloadProtectionPolicyRetentionMonthlyOutput) ElementType added in v5.17.0

func (PolicyVMWorkloadProtectionPolicyRetentionMonthlyOutput) FormatType added in v5.17.0

The retention schedule format type for monthly retention policy. Possible values are `Daily` and `Weekly`.

func (PolicyVMWorkloadProtectionPolicyRetentionMonthlyOutput) Monthdays added in v5.17.0

The monthday backups to retain. Possible values are between `0` and `28`.

func (PolicyVMWorkloadProtectionPolicyRetentionMonthlyOutput) ToPolicyVMWorkloadProtectionPolicyRetentionMonthlyOutput added in v5.17.0

func (PolicyVMWorkloadProtectionPolicyRetentionMonthlyOutput) ToPolicyVMWorkloadProtectionPolicyRetentionMonthlyOutputWithContext added in v5.17.0

func (o PolicyVMWorkloadProtectionPolicyRetentionMonthlyOutput) ToPolicyVMWorkloadProtectionPolicyRetentionMonthlyOutputWithContext(ctx context.Context) PolicyVMWorkloadProtectionPolicyRetentionMonthlyOutput

func (PolicyVMWorkloadProtectionPolicyRetentionMonthlyOutput) ToPolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrOutput added in v5.17.0

func (o PolicyVMWorkloadProtectionPolicyRetentionMonthlyOutput) ToPolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrOutput() PolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrOutput

func (PolicyVMWorkloadProtectionPolicyRetentionMonthlyOutput) ToPolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrOutputWithContext added in v5.17.0

func (o PolicyVMWorkloadProtectionPolicyRetentionMonthlyOutput) ToPolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrOutputWithContext(ctx context.Context) PolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrOutput

func (PolicyVMWorkloadProtectionPolicyRetentionMonthlyOutput) Weekdays added in v5.17.0

The weekday backups to retain. Possible values are `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.

func (PolicyVMWorkloadProtectionPolicyRetentionMonthlyOutput) Weeks added in v5.17.0

The weeks of the month to retain backups of. Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`.

type PolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrInput added in v5.17.0

type PolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrInput interface {
	pulumi.Input

	ToPolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrOutput() PolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrOutput
	ToPolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrOutputWithContext(context.Context) PolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrOutput
}

PolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrInput is an input type that accepts PolicyVMWorkloadProtectionPolicyRetentionMonthlyArgs, PolicyVMWorkloadProtectionPolicyRetentionMonthlyPtr and PolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrOutput values. You can construct a concrete instance of `PolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrInput` via:

        PolicyVMWorkloadProtectionPolicyRetentionMonthlyArgs{...}

or:

        nil

type PolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrOutput added in v5.17.0

type PolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrOutput struct{ *pulumi.OutputState }

func (PolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrOutput) Count added in v5.17.0

The number of monthly backups to keep. Must be between `1` and `1188`.

func (PolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrOutput) Elem added in v5.17.0

func (PolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrOutput) ElementType added in v5.17.0

func (PolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrOutput) FormatType added in v5.17.0

The retention schedule format type for monthly retention policy. Possible values are `Daily` and `Weekly`.

func (PolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrOutput) Monthdays added in v5.17.0

The monthday backups to retain. Possible values are between `0` and `28`.

func (PolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrOutput) ToPolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrOutput added in v5.17.0

func (PolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrOutput) ToPolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrOutputWithContext added in v5.17.0

func (o PolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrOutput) ToPolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrOutputWithContext(ctx context.Context) PolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrOutput

func (PolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrOutput) Weekdays added in v5.17.0

The weekday backups to retain. Possible values are `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.

func (PolicyVMWorkloadProtectionPolicyRetentionMonthlyPtrOutput) Weeks added in v5.17.0

The weeks of the month to retain backups of. Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`.

type PolicyVMWorkloadProtectionPolicyRetentionWeekly added in v5.17.0

type PolicyVMWorkloadProtectionPolicyRetentionWeekly struct {
	// The number of weekly backups to keep. Possible values are between `1` and `5163`.
	Count int `pulumi:"count"`
	// The weekday backups to retain. Possible values are `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.
	Weekdays []string `pulumi:"weekdays"`
}

type PolicyVMWorkloadProtectionPolicyRetentionWeeklyArgs added in v5.17.0

type PolicyVMWorkloadProtectionPolicyRetentionWeeklyArgs struct {
	// The number of weekly backups to keep. Possible values are between `1` and `5163`.
	Count pulumi.IntInput `pulumi:"count"`
	// The weekday backups to retain. Possible values are `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.
	Weekdays pulumi.StringArrayInput `pulumi:"weekdays"`
}

func (PolicyVMWorkloadProtectionPolicyRetentionWeeklyArgs) ElementType added in v5.17.0

func (PolicyVMWorkloadProtectionPolicyRetentionWeeklyArgs) ToPolicyVMWorkloadProtectionPolicyRetentionWeeklyOutput added in v5.17.0

func (i PolicyVMWorkloadProtectionPolicyRetentionWeeklyArgs) ToPolicyVMWorkloadProtectionPolicyRetentionWeeklyOutput() PolicyVMWorkloadProtectionPolicyRetentionWeeklyOutput

func (PolicyVMWorkloadProtectionPolicyRetentionWeeklyArgs) ToPolicyVMWorkloadProtectionPolicyRetentionWeeklyOutputWithContext added in v5.17.0

func (i PolicyVMWorkloadProtectionPolicyRetentionWeeklyArgs) ToPolicyVMWorkloadProtectionPolicyRetentionWeeklyOutputWithContext(ctx context.Context) PolicyVMWorkloadProtectionPolicyRetentionWeeklyOutput

func (PolicyVMWorkloadProtectionPolicyRetentionWeeklyArgs) ToPolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrOutput added in v5.17.0

func (i PolicyVMWorkloadProtectionPolicyRetentionWeeklyArgs) ToPolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrOutput() PolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrOutput

func (PolicyVMWorkloadProtectionPolicyRetentionWeeklyArgs) ToPolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrOutputWithContext added in v5.17.0

func (i PolicyVMWorkloadProtectionPolicyRetentionWeeklyArgs) ToPolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrOutputWithContext(ctx context.Context) PolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrOutput

type PolicyVMWorkloadProtectionPolicyRetentionWeeklyInput added in v5.17.0

type PolicyVMWorkloadProtectionPolicyRetentionWeeklyInput interface {
	pulumi.Input

	ToPolicyVMWorkloadProtectionPolicyRetentionWeeklyOutput() PolicyVMWorkloadProtectionPolicyRetentionWeeklyOutput
	ToPolicyVMWorkloadProtectionPolicyRetentionWeeklyOutputWithContext(context.Context) PolicyVMWorkloadProtectionPolicyRetentionWeeklyOutput
}

PolicyVMWorkloadProtectionPolicyRetentionWeeklyInput is an input type that accepts PolicyVMWorkloadProtectionPolicyRetentionWeeklyArgs and PolicyVMWorkloadProtectionPolicyRetentionWeeklyOutput values. You can construct a concrete instance of `PolicyVMWorkloadProtectionPolicyRetentionWeeklyInput` via:

PolicyVMWorkloadProtectionPolicyRetentionWeeklyArgs{...}

type PolicyVMWorkloadProtectionPolicyRetentionWeeklyOutput added in v5.17.0

type PolicyVMWorkloadProtectionPolicyRetentionWeeklyOutput struct{ *pulumi.OutputState }

func (PolicyVMWorkloadProtectionPolicyRetentionWeeklyOutput) Count added in v5.17.0

The number of weekly backups to keep. Possible values are between `1` and `5163`.

func (PolicyVMWorkloadProtectionPolicyRetentionWeeklyOutput) ElementType added in v5.17.0

func (PolicyVMWorkloadProtectionPolicyRetentionWeeklyOutput) ToPolicyVMWorkloadProtectionPolicyRetentionWeeklyOutput added in v5.17.0

func (PolicyVMWorkloadProtectionPolicyRetentionWeeklyOutput) ToPolicyVMWorkloadProtectionPolicyRetentionWeeklyOutputWithContext added in v5.17.0

func (o PolicyVMWorkloadProtectionPolicyRetentionWeeklyOutput) ToPolicyVMWorkloadProtectionPolicyRetentionWeeklyOutputWithContext(ctx context.Context) PolicyVMWorkloadProtectionPolicyRetentionWeeklyOutput

func (PolicyVMWorkloadProtectionPolicyRetentionWeeklyOutput) ToPolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrOutput added in v5.17.0

func (o PolicyVMWorkloadProtectionPolicyRetentionWeeklyOutput) ToPolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrOutput() PolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrOutput

func (PolicyVMWorkloadProtectionPolicyRetentionWeeklyOutput) ToPolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrOutputWithContext added in v5.17.0

func (o PolicyVMWorkloadProtectionPolicyRetentionWeeklyOutput) ToPolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrOutputWithContext(ctx context.Context) PolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrOutput

func (PolicyVMWorkloadProtectionPolicyRetentionWeeklyOutput) Weekdays added in v5.17.0

The weekday backups to retain. Possible values are `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.

type PolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrInput added in v5.17.0

type PolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrInput interface {
	pulumi.Input

	ToPolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrOutput() PolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrOutput
	ToPolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrOutputWithContext(context.Context) PolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrOutput
}

PolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrInput is an input type that accepts PolicyVMWorkloadProtectionPolicyRetentionWeeklyArgs, PolicyVMWorkloadProtectionPolicyRetentionWeeklyPtr and PolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrOutput values. You can construct a concrete instance of `PolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrInput` via:

        PolicyVMWorkloadProtectionPolicyRetentionWeeklyArgs{...}

or:

        nil

type PolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrOutput added in v5.17.0

type PolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrOutput struct{ *pulumi.OutputState }

func (PolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrOutput) Count added in v5.17.0

The number of weekly backups to keep. Possible values are between `1` and `5163`.

func (PolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrOutput) Elem added in v5.17.0

func (PolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrOutput) ElementType added in v5.17.0

func (PolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrOutput) ToPolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrOutput added in v5.17.0

func (PolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrOutput) ToPolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrOutputWithContext added in v5.17.0

func (o PolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrOutput) ToPolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrOutputWithContext(ctx context.Context) PolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrOutput

func (PolicyVMWorkloadProtectionPolicyRetentionWeeklyPtrOutput) Weekdays added in v5.17.0

The weekday backups to retain. Possible values are `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.

type PolicyVMWorkloadProtectionPolicyRetentionYearly added in v5.17.0

type PolicyVMWorkloadProtectionPolicyRetentionYearly struct {
	// The number of yearly backups to keep. Possible values are between `1` and `99`
	Count int `pulumi:"count"`
	// The retention schedule format type for yearly retention policy. Possible values are `Daily` and `Weekly`.
	FormatType string `pulumi:"formatType"`
	// The monthday backups to retain. Possible values are between `0` and `28`.
	Monthdays []int `pulumi:"monthdays"`
	// The months of the year to retain backups of. Possible values are `January`, `February`, `March`, `April`, `May`, `June`, `July`, `August`, `September`, `October`, `November` and `December`.
	Months []string `pulumi:"months"`
	// The weekday backups to retain. Possible values are `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.
	Weekdays []string `pulumi:"weekdays"`
	// The weeks of the month to retain backups of. Possible values are `First`, `Second`, `Third`, `Fourth`, `Last`.
	Weeks []string `pulumi:"weeks"`
}

type PolicyVMWorkloadProtectionPolicyRetentionYearlyArgs added in v5.17.0

type PolicyVMWorkloadProtectionPolicyRetentionYearlyArgs struct {
	// The number of yearly backups to keep. Possible values are between `1` and `99`
	Count pulumi.IntInput `pulumi:"count"`
	// The retention schedule format type for yearly retention policy. Possible values are `Daily` and `Weekly`.
	FormatType pulumi.StringInput `pulumi:"formatType"`
	// The monthday backups to retain. Possible values are between `0` and `28`.
	Monthdays pulumi.IntArrayInput `pulumi:"monthdays"`
	// The months of the year to retain backups of. Possible values are `January`, `February`, `March`, `April`, `May`, `June`, `July`, `August`, `September`, `October`, `November` and `December`.
	Months pulumi.StringArrayInput `pulumi:"months"`
	// The weekday backups to retain. Possible values are `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.
	Weekdays pulumi.StringArrayInput `pulumi:"weekdays"`
	// The weeks of the month to retain backups of. Possible values are `First`, `Second`, `Third`, `Fourth`, `Last`.
	Weeks pulumi.StringArrayInput `pulumi:"weeks"`
}

func (PolicyVMWorkloadProtectionPolicyRetentionYearlyArgs) ElementType added in v5.17.0

func (PolicyVMWorkloadProtectionPolicyRetentionYearlyArgs) ToPolicyVMWorkloadProtectionPolicyRetentionYearlyOutput added in v5.17.0

func (i PolicyVMWorkloadProtectionPolicyRetentionYearlyArgs) ToPolicyVMWorkloadProtectionPolicyRetentionYearlyOutput() PolicyVMWorkloadProtectionPolicyRetentionYearlyOutput

func (PolicyVMWorkloadProtectionPolicyRetentionYearlyArgs) ToPolicyVMWorkloadProtectionPolicyRetentionYearlyOutputWithContext added in v5.17.0

func (i PolicyVMWorkloadProtectionPolicyRetentionYearlyArgs) ToPolicyVMWorkloadProtectionPolicyRetentionYearlyOutputWithContext(ctx context.Context) PolicyVMWorkloadProtectionPolicyRetentionYearlyOutput

func (PolicyVMWorkloadProtectionPolicyRetentionYearlyArgs) ToPolicyVMWorkloadProtectionPolicyRetentionYearlyPtrOutput added in v5.17.0

func (i PolicyVMWorkloadProtectionPolicyRetentionYearlyArgs) ToPolicyVMWorkloadProtectionPolicyRetentionYearlyPtrOutput() PolicyVMWorkloadProtectionPolicyRetentionYearlyPtrOutput

func (PolicyVMWorkloadProtectionPolicyRetentionYearlyArgs) ToPolicyVMWorkloadProtectionPolicyRetentionYearlyPtrOutputWithContext added in v5.17.0

func (i PolicyVMWorkloadProtectionPolicyRetentionYearlyArgs) ToPolicyVMWorkloadProtectionPolicyRetentionYearlyPtrOutputWithContext(ctx context.Context) PolicyVMWorkloadProtectionPolicyRetentionYearlyPtrOutput

type PolicyVMWorkloadProtectionPolicyRetentionYearlyInput added in v5.17.0

type PolicyVMWorkloadProtectionPolicyRetentionYearlyInput interface {
	pulumi.Input

	ToPolicyVMWorkloadProtectionPolicyRetentionYearlyOutput() PolicyVMWorkloadProtectionPolicyRetentionYearlyOutput
	ToPolicyVMWorkloadProtectionPolicyRetentionYearlyOutputWithContext(context.Context) PolicyVMWorkloadProtectionPolicyRetentionYearlyOutput
}

PolicyVMWorkloadProtectionPolicyRetentionYearlyInput is an input type that accepts PolicyVMWorkloadProtectionPolicyRetentionYearlyArgs and PolicyVMWorkloadProtectionPolicyRetentionYearlyOutput values. You can construct a concrete instance of `PolicyVMWorkloadProtectionPolicyRetentionYearlyInput` via:

PolicyVMWorkloadProtectionPolicyRetentionYearlyArgs{...}

type PolicyVMWorkloadProtectionPolicyRetentionYearlyOutput added in v5.17.0

type PolicyVMWorkloadProtectionPolicyRetentionYearlyOutput struct{ *pulumi.OutputState }

func (PolicyVMWorkloadProtectionPolicyRetentionYearlyOutput) Count added in v5.17.0

The number of yearly backups to keep. Possible values are between `1` and `99`

func (PolicyVMWorkloadProtectionPolicyRetentionYearlyOutput) ElementType added in v5.17.0

func (PolicyVMWorkloadProtectionPolicyRetentionYearlyOutput) FormatType added in v5.17.0

The retention schedule format type for yearly retention policy. Possible values are `Daily` and `Weekly`.

func (PolicyVMWorkloadProtectionPolicyRetentionYearlyOutput) Monthdays added in v5.17.0

The monthday backups to retain. Possible values are between `0` and `28`.

func (PolicyVMWorkloadProtectionPolicyRetentionYearlyOutput) Months added in v5.17.0

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

func (PolicyVMWorkloadProtectionPolicyRetentionYearlyOutput) ToPolicyVMWorkloadProtectionPolicyRetentionYearlyOutput added in v5.17.0

func (PolicyVMWorkloadProtectionPolicyRetentionYearlyOutput) ToPolicyVMWorkloadProtectionPolicyRetentionYearlyOutputWithContext added in v5.17.0

func (o PolicyVMWorkloadProtectionPolicyRetentionYearlyOutput) ToPolicyVMWorkloadProtectionPolicyRetentionYearlyOutputWithContext(ctx context.Context) PolicyVMWorkloadProtectionPolicyRetentionYearlyOutput

func (PolicyVMWorkloadProtectionPolicyRetentionYearlyOutput) ToPolicyVMWorkloadProtectionPolicyRetentionYearlyPtrOutput added in v5.17.0

func (o PolicyVMWorkloadProtectionPolicyRetentionYearlyOutput) ToPolicyVMWorkloadProtectionPolicyRetentionYearlyPtrOutput() PolicyVMWorkloadProtectionPolicyRetentionYearlyPtrOutput

func (PolicyVMWorkloadProtectionPolicyRetentionYearlyOutput) ToPolicyVMWorkloadProtectionPolicyRetentionYearlyPtrOutputWithContext added in v5.17.0

func (o PolicyVMWorkloadProtectionPolicyRetentionYearlyOutput) ToPolicyVMWorkloadProtectionPolicyRetentionYearlyPtrOutputWithContext(ctx context.Context) PolicyVMWorkloadProtectionPolicyRetentionYearlyPtrOutput

func (PolicyVMWorkloadProtectionPolicyRetentionYearlyOutput) Weekdays added in v5.17.0

The weekday backups to retain. Possible values are `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.

func (PolicyVMWorkloadProtectionPolicyRetentionYearlyOutput) Weeks added in v5.17.0

The weeks of the month to retain backups of. Possible values are `First`, `Second`, `Third`, `Fourth`, `Last`.

type PolicyVMWorkloadProtectionPolicyRetentionYearlyPtrInput added in v5.17.0

type PolicyVMWorkloadProtectionPolicyRetentionYearlyPtrInput interface {
	pulumi.Input

	ToPolicyVMWorkloadProtectionPolicyRetentionYearlyPtrOutput() PolicyVMWorkloadProtectionPolicyRetentionYearlyPtrOutput
	ToPolicyVMWorkloadProtectionPolicyRetentionYearlyPtrOutputWithContext(context.Context) PolicyVMWorkloadProtectionPolicyRetentionYearlyPtrOutput
}

PolicyVMWorkloadProtectionPolicyRetentionYearlyPtrInput is an input type that accepts PolicyVMWorkloadProtectionPolicyRetentionYearlyArgs, PolicyVMWorkloadProtectionPolicyRetentionYearlyPtr and PolicyVMWorkloadProtectionPolicyRetentionYearlyPtrOutput values. You can construct a concrete instance of `PolicyVMWorkloadProtectionPolicyRetentionYearlyPtrInput` via:

        PolicyVMWorkloadProtectionPolicyRetentionYearlyArgs{...}

or:

        nil

type PolicyVMWorkloadProtectionPolicyRetentionYearlyPtrOutput added in v5.17.0

type PolicyVMWorkloadProtectionPolicyRetentionYearlyPtrOutput struct{ *pulumi.OutputState }

func (PolicyVMWorkloadProtectionPolicyRetentionYearlyPtrOutput) Count added in v5.17.0

The number of yearly backups to keep. Possible values are between `1` and `99`

func (PolicyVMWorkloadProtectionPolicyRetentionYearlyPtrOutput) Elem added in v5.17.0

func (PolicyVMWorkloadProtectionPolicyRetentionYearlyPtrOutput) ElementType added in v5.17.0

func (PolicyVMWorkloadProtectionPolicyRetentionYearlyPtrOutput) FormatType added in v5.17.0

The retention schedule format type for yearly retention policy. Possible values are `Daily` and `Weekly`.

func (PolicyVMWorkloadProtectionPolicyRetentionYearlyPtrOutput) Monthdays added in v5.17.0

The monthday backups to retain. Possible values are between `0` and `28`.

func (PolicyVMWorkloadProtectionPolicyRetentionYearlyPtrOutput) Months added in v5.17.0

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

func (PolicyVMWorkloadProtectionPolicyRetentionYearlyPtrOutput) ToPolicyVMWorkloadProtectionPolicyRetentionYearlyPtrOutput added in v5.17.0

func (PolicyVMWorkloadProtectionPolicyRetentionYearlyPtrOutput) ToPolicyVMWorkloadProtectionPolicyRetentionYearlyPtrOutputWithContext added in v5.17.0

func (o PolicyVMWorkloadProtectionPolicyRetentionYearlyPtrOutput) ToPolicyVMWorkloadProtectionPolicyRetentionYearlyPtrOutputWithContext(ctx context.Context) PolicyVMWorkloadProtectionPolicyRetentionYearlyPtrOutput

func (PolicyVMWorkloadProtectionPolicyRetentionYearlyPtrOutput) Weekdays added in v5.17.0

The weekday backups to retain. Possible values are `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.

func (PolicyVMWorkloadProtectionPolicyRetentionYearlyPtrOutput) Weeks added in v5.17.0

The weeks of the month to retain backups of. Possible values are `First`, `Second`, `Third`, `Fourth`, `Last`.

type PolicyVMWorkloadProtectionPolicySimpleRetention added in v5.17.0

type PolicyVMWorkloadProtectionPolicySimpleRetention struct {
	// The count that is used to count retention duration with duration type `Days`. Possible values are between `7` and `35`.
	Count int `pulumi:"count"`
}

type PolicyVMWorkloadProtectionPolicySimpleRetentionArgs added in v5.17.0

type PolicyVMWorkloadProtectionPolicySimpleRetentionArgs struct {
	// The count that is used to count retention duration with duration type `Days`. Possible values are between `7` and `35`.
	Count pulumi.IntInput `pulumi:"count"`
}

func (PolicyVMWorkloadProtectionPolicySimpleRetentionArgs) ElementType added in v5.17.0

func (PolicyVMWorkloadProtectionPolicySimpleRetentionArgs) ToPolicyVMWorkloadProtectionPolicySimpleRetentionOutput added in v5.17.0

func (i PolicyVMWorkloadProtectionPolicySimpleRetentionArgs) ToPolicyVMWorkloadProtectionPolicySimpleRetentionOutput() PolicyVMWorkloadProtectionPolicySimpleRetentionOutput

func (PolicyVMWorkloadProtectionPolicySimpleRetentionArgs) ToPolicyVMWorkloadProtectionPolicySimpleRetentionOutputWithContext added in v5.17.0

func (i PolicyVMWorkloadProtectionPolicySimpleRetentionArgs) ToPolicyVMWorkloadProtectionPolicySimpleRetentionOutputWithContext(ctx context.Context) PolicyVMWorkloadProtectionPolicySimpleRetentionOutput

func (PolicyVMWorkloadProtectionPolicySimpleRetentionArgs) ToPolicyVMWorkloadProtectionPolicySimpleRetentionPtrOutput added in v5.17.0

func (i PolicyVMWorkloadProtectionPolicySimpleRetentionArgs) ToPolicyVMWorkloadProtectionPolicySimpleRetentionPtrOutput() PolicyVMWorkloadProtectionPolicySimpleRetentionPtrOutput

func (PolicyVMWorkloadProtectionPolicySimpleRetentionArgs) ToPolicyVMWorkloadProtectionPolicySimpleRetentionPtrOutputWithContext added in v5.17.0

func (i PolicyVMWorkloadProtectionPolicySimpleRetentionArgs) ToPolicyVMWorkloadProtectionPolicySimpleRetentionPtrOutputWithContext(ctx context.Context) PolicyVMWorkloadProtectionPolicySimpleRetentionPtrOutput

type PolicyVMWorkloadProtectionPolicySimpleRetentionInput added in v5.17.0

type PolicyVMWorkloadProtectionPolicySimpleRetentionInput interface {
	pulumi.Input

	ToPolicyVMWorkloadProtectionPolicySimpleRetentionOutput() PolicyVMWorkloadProtectionPolicySimpleRetentionOutput
	ToPolicyVMWorkloadProtectionPolicySimpleRetentionOutputWithContext(context.Context) PolicyVMWorkloadProtectionPolicySimpleRetentionOutput
}

PolicyVMWorkloadProtectionPolicySimpleRetentionInput is an input type that accepts PolicyVMWorkloadProtectionPolicySimpleRetentionArgs and PolicyVMWorkloadProtectionPolicySimpleRetentionOutput values. You can construct a concrete instance of `PolicyVMWorkloadProtectionPolicySimpleRetentionInput` via:

PolicyVMWorkloadProtectionPolicySimpleRetentionArgs{...}

type PolicyVMWorkloadProtectionPolicySimpleRetentionOutput added in v5.17.0

type PolicyVMWorkloadProtectionPolicySimpleRetentionOutput struct{ *pulumi.OutputState }

func (PolicyVMWorkloadProtectionPolicySimpleRetentionOutput) Count added in v5.17.0

The count that is used to count retention duration with duration type `Days`. Possible values are between `7` and `35`.

func (PolicyVMWorkloadProtectionPolicySimpleRetentionOutput) ElementType added in v5.17.0

func (PolicyVMWorkloadProtectionPolicySimpleRetentionOutput) ToPolicyVMWorkloadProtectionPolicySimpleRetentionOutput added in v5.17.0

func (PolicyVMWorkloadProtectionPolicySimpleRetentionOutput) ToPolicyVMWorkloadProtectionPolicySimpleRetentionOutputWithContext added in v5.17.0

func (o PolicyVMWorkloadProtectionPolicySimpleRetentionOutput) ToPolicyVMWorkloadProtectionPolicySimpleRetentionOutputWithContext(ctx context.Context) PolicyVMWorkloadProtectionPolicySimpleRetentionOutput

func (PolicyVMWorkloadProtectionPolicySimpleRetentionOutput) ToPolicyVMWorkloadProtectionPolicySimpleRetentionPtrOutput added in v5.17.0

func (o PolicyVMWorkloadProtectionPolicySimpleRetentionOutput) ToPolicyVMWorkloadProtectionPolicySimpleRetentionPtrOutput() PolicyVMWorkloadProtectionPolicySimpleRetentionPtrOutput

func (PolicyVMWorkloadProtectionPolicySimpleRetentionOutput) ToPolicyVMWorkloadProtectionPolicySimpleRetentionPtrOutputWithContext added in v5.17.0

func (o PolicyVMWorkloadProtectionPolicySimpleRetentionOutput) ToPolicyVMWorkloadProtectionPolicySimpleRetentionPtrOutputWithContext(ctx context.Context) PolicyVMWorkloadProtectionPolicySimpleRetentionPtrOutput

type PolicyVMWorkloadProtectionPolicySimpleRetentionPtrInput added in v5.17.0

type PolicyVMWorkloadProtectionPolicySimpleRetentionPtrInput interface {
	pulumi.Input

	ToPolicyVMWorkloadProtectionPolicySimpleRetentionPtrOutput() PolicyVMWorkloadProtectionPolicySimpleRetentionPtrOutput
	ToPolicyVMWorkloadProtectionPolicySimpleRetentionPtrOutputWithContext(context.Context) PolicyVMWorkloadProtectionPolicySimpleRetentionPtrOutput
}

PolicyVMWorkloadProtectionPolicySimpleRetentionPtrInput is an input type that accepts PolicyVMWorkloadProtectionPolicySimpleRetentionArgs, PolicyVMWorkloadProtectionPolicySimpleRetentionPtr and PolicyVMWorkloadProtectionPolicySimpleRetentionPtrOutput values. You can construct a concrete instance of `PolicyVMWorkloadProtectionPolicySimpleRetentionPtrInput` via:

        PolicyVMWorkloadProtectionPolicySimpleRetentionArgs{...}

or:

        nil

type PolicyVMWorkloadProtectionPolicySimpleRetentionPtrOutput added in v5.17.0

type PolicyVMWorkloadProtectionPolicySimpleRetentionPtrOutput struct{ *pulumi.OutputState }

func (PolicyVMWorkloadProtectionPolicySimpleRetentionPtrOutput) Count added in v5.17.0

The count that is used to count retention duration with duration type `Days`. Possible values are between `7` and `35`.

func (PolicyVMWorkloadProtectionPolicySimpleRetentionPtrOutput) Elem added in v5.17.0

func (PolicyVMWorkloadProtectionPolicySimpleRetentionPtrOutput) ElementType added in v5.17.0

func (PolicyVMWorkloadProtectionPolicySimpleRetentionPtrOutput) ToPolicyVMWorkloadProtectionPolicySimpleRetentionPtrOutput added in v5.17.0

func (PolicyVMWorkloadProtectionPolicySimpleRetentionPtrOutput) ToPolicyVMWorkloadProtectionPolicySimpleRetentionPtrOutputWithContext added in v5.17.0

func (o PolicyVMWorkloadProtectionPolicySimpleRetentionPtrOutput) ToPolicyVMWorkloadProtectionPolicySimpleRetentionPtrOutputWithContext(ctx context.Context) PolicyVMWorkloadProtectionPolicySimpleRetentionPtrOutput

type PolicyVMWorkloadSettings added in v5.17.0

type PolicyVMWorkloadSettings struct {
	// The compression setting for the VM Workload Backup Policy. Defaults to `false`.
	CompressionEnabled *bool `pulumi:"compressionEnabled"`
	// The timezone for the VM Workload Backup Policy. [The possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/).
	TimeZone string `pulumi:"timeZone"`
}

type PolicyVMWorkloadSettingsArgs added in v5.17.0

type PolicyVMWorkloadSettingsArgs struct {
	// The compression setting for the VM Workload Backup Policy. Defaults to `false`.
	CompressionEnabled pulumi.BoolPtrInput `pulumi:"compressionEnabled"`
	// The timezone for the VM Workload Backup Policy. [The possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/).
	TimeZone pulumi.StringInput `pulumi:"timeZone"`
}

func (PolicyVMWorkloadSettingsArgs) ElementType added in v5.17.0

func (PolicyVMWorkloadSettingsArgs) ToPolicyVMWorkloadSettingsOutput added in v5.17.0

func (i PolicyVMWorkloadSettingsArgs) ToPolicyVMWorkloadSettingsOutput() PolicyVMWorkloadSettingsOutput

func (PolicyVMWorkloadSettingsArgs) ToPolicyVMWorkloadSettingsOutputWithContext added in v5.17.0

func (i PolicyVMWorkloadSettingsArgs) ToPolicyVMWorkloadSettingsOutputWithContext(ctx context.Context) PolicyVMWorkloadSettingsOutput

func (PolicyVMWorkloadSettingsArgs) ToPolicyVMWorkloadSettingsPtrOutput added in v5.17.0

func (i PolicyVMWorkloadSettingsArgs) ToPolicyVMWorkloadSettingsPtrOutput() PolicyVMWorkloadSettingsPtrOutput

func (PolicyVMWorkloadSettingsArgs) ToPolicyVMWorkloadSettingsPtrOutputWithContext added in v5.17.0

func (i PolicyVMWorkloadSettingsArgs) ToPolicyVMWorkloadSettingsPtrOutputWithContext(ctx context.Context) PolicyVMWorkloadSettingsPtrOutput

type PolicyVMWorkloadSettingsInput added in v5.17.0

type PolicyVMWorkloadSettingsInput interface {
	pulumi.Input

	ToPolicyVMWorkloadSettingsOutput() PolicyVMWorkloadSettingsOutput
	ToPolicyVMWorkloadSettingsOutputWithContext(context.Context) PolicyVMWorkloadSettingsOutput
}

PolicyVMWorkloadSettingsInput is an input type that accepts PolicyVMWorkloadSettingsArgs and PolicyVMWorkloadSettingsOutput values. You can construct a concrete instance of `PolicyVMWorkloadSettingsInput` via:

PolicyVMWorkloadSettingsArgs{...}

type PolicyVMWorkloadSettingsOutput added in v5.17.0

type PolicyVMWorkloadSettingsOutput struct{ *pulumi.OutputState }

func (PolicyVMWorkloadSettingsOutput) CompressionEnabled added in v5.17.0

func (o PolicyVMWorkloadSettingsOutput) CompressionEnabled() pulumi.BoolPtrOutput

The compression setting for the VM Workload Backup Policy. Defaults to `false`.

func (PolicyVMWorkloadSettingsOutput) ElementType added in v5.17.0

func (PolicyVMWorkloadSettingsOutput) TimeZone added in v5.17.0

The timezone for the VM Workload Backup Policy. [The possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/).

func (PolicyVMWorkloadSettingsOutput) ToPolicyVMWorkloadSettingsOutput added in v5.17.0

func (o PolicyVMWorkloadSettingsOutput) ToPolicyVMWorkloadSettingsOutput() PolicyVMWorkloadSettingsOutput

func (PolicyVMWorkloadSettingsOutput) ToPolicyVMWorkloadSettingsOutputWithContext added in v5.17.0

func (o PolicyVMWorkloadSettingsOutput) ToPolicyVMWorkloadSettingsOutputWithContext(ctx context.Context) PolicyVMWorkloadSettingsOutput

func (PolicyVMWorkloadSettingsOutput) ToPolicyVMWorkloadSettingsPtrOutput added in v5.17.0

func (o PolicyVMWorkloadSettingsOutput) ToPolicyVMWorkloadSettingsPtrOutput() PolicyVMWorkloadSettingsPtrOutput

func (PolicyVMWorkloadSettingsOutput) ToPolicyVMWorkloadSettingsPtrOutputWithContext added in v5.17.0

func (o PolicyVMWorkloadSettingsOutput) ToPolicyVMWorkloadSettingsPtrOutputWithContext(ctx context.Context) PolicyVMWorkloadSettingsPtrOutput

type PolicyVMWorkloadSettingsPtrInput added in v5.17.0

type PolicyVMWorkloadSettingsPtrInput interface {
	pulumi.Input

	ToPolicyVMWorkloadSettingsPtrOutput() PolicyVMWorkloadSettingsPtrOutput
	ToPolicyVMWorkloadSettingsPtrOutputWithContext(context.Context) PolicyVMWorkloadSettingsPtrOutput
}

PolicyVMWorkloadSettingsPtrInput is an input type that accepts PolicyVMWorkloadSettingsArgs, PolicyVMWorkloadSettingsPtr and PolicyVMWorkloadSettingsPtrOutput values. You can construct a concrete instance of `PolicyVMWorkloadSettingsPtrInput` via:

        PolicyVMWorkloadSettingsArgs{...}

or:

        nil

func PolicyVMWorkloadSettingsPtr added in v5.17.0

func PolicyVMWorkloadSettingsPtr(v *PolicyVMWorkloadSettingsArgs) PolicyVMWorkloadSettingsPtrInput

type PolicyVMWorkloadSettingsPtrOutput added in v5.17.0

type PolicyVMWorkloadSettingsPtrOutput struct{ *pulumi.OutputState }

func (PolicyVMWorkloadSettingsPtrOutput) CompressionEnabled added in v5.17.0

The compression setting for the VM Workload Backup Policy. Defaults to `false`.

func (PolicyVMWorkloadSettingsPtrOutput) Elem added in v5.17.0

func (PolicyVMWorkloadSettingsPtrOutput) ElementType added in v5.17.0

func (PolicyVMWorkloadSettingsPtrOutput) TimeZone added in v5.17.0

The timezone for the VM Workload Backup Policy. [The possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/).

func (PolicyVMWorkloadSettingsPtrOutput) ToPolicyVMWorkloadSettingsPtrOutput added in v5.17.0

func (o PolicyVMWorkloadSettingsPtrOutput) ToPolicyVMWorkloadSettingsPtrOutput() PolicyVMWorkloadSettingsPtrOutput

func (PolicyVMWorkloadSettingsPtrOutput) ToPolicyVMWorkloadSettingsPtrOutputWithContext added in v5.17.0

func (o PolicyVMWorkloadSettingsPtrOutput) ToPolicyVMWorkloadSettingsPtrOutputWithContext(ctx context.Context) PolicyVMWorkloadSettingsPtrOutput

type PolicyVMWorkloadState added in v5.17.0

type PolicyVMWorkloadState struct {
	// The name of the VM Workload Backup Policy. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// One or more `protectionPolicy` blocks as defined below.
	ProtectionPolicies PolicyVMWorkloadProtectionPolicyArrayInput
	// 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 VM Workload Backup Policy. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// A `settings` block as defined below.
	Settings PolicyVMWorkloadSettingsPtrInput
	// The VM Workload type for the Backup Policy. Possible values are `SQLDataBase` and `SAPHanaDatabase`. Changing this forces a new resource to be created.
	WorkloadType pulumi.StringPtrInput
}

func (PolicyVMWorkloadState) ElementType added in v5.17.0

func (PolicyVMWorkloadState) 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.
	//
	// > **NOTE** The storage account must already be registered with the recovery vault in order to backup shares within the account. You can use the `backup.ContainerStorageAccount` resource or the [Register-AzRecoveryServicesBackupContainer PowerShell cmdlet](https://docs.microsoft.com/powershell/module/az.recoveryservices/register-azrecoveryservicesbackupcontainer?view=azps-3.2.0) to register a storage account with a vault. When using the `backup.ContainerStorageAccount` resource to register, you can use `dependsOn` to explicitly declare the dependency. It will make sure that the registration is completed before creating the `backup.ProtectedFileShare` resource.
	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

<!--Start PulumiCodeChooser --> ```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("tfex-recovery_vault"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		vault, err := recoveryservices.NewVault(ctx, "vault", &recoveryservices.VaultArgs{
			Name:              pulumi.String("tfex-recovery-vault"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		sa, err := storage.NewAccount(ctx, "sa", &storage.AccountArgs{
			Name:                   pulumi.String("examplesa"),
			Location:               example.Location,
			ResourceGroupName:      example.Name,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("LRS"),
		})
		if err != nil {
			return err
		}
		exampleShare, err := storage.NewShare(ctx, "example", &storage.ShareArgs{
			Name:               pulumi.String("example-share"),
			StorageAccountName: sa.Name,
			Quota:              pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		_, err = backup.NewContainerStorageAccount(ctx, "protection-container", &backup.ContainerStorageAccountArgs{
			ResourceGroupName: example.Name,
			RecoveryVaultName: vault.Name,
			StorageAccountId:  sa.ID(),
		})
		if err != nil {
			return err
		}
		examplePolicyFileShare, err := backup.NewPolicyFileShare(ctx, "example", &backup.PolicyFileShareArgs{
			Name:              pulumi.String("tfex-recovery-vault-policy"),
			ResourceGroupName: example.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:      example.Name,
			RecoveryVaultName:      vault.Name,
			SourceStorageAccountId: protection_container.StorageAccountId,
			SourceFileShareName:    exampleShare.Name,
			BackupPolicyId:         examplePolicyFileShare.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## 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.
	//
	// > **NOTE** The storage account must already be registered with the recovery vault in order to backup shares within the account. You can use the `backup.ContainerStorageAccount` resource or the [Register-AzRecoveryServicesBackupContainer PowerShell cmdlet](https://docs.microsoft.com/powershell/module/az.recoveryservices/register-azrecoveryservicesbackupcontainer?view=azps-3.2.0) to register a storage account with a vault. When using the `backup.ContainerStorageAccount` resource to register, you can use `dependsOn` to explicitly declare the dependency. It will make sure that the registration is completed before creating the `backup.ProtectedFileShare` resource.
	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) BackupPolicyId added in v5.5.0

func (o ProtectedFileShareOutput) BackupPolicyId() pulumi.StringOutput

Specifies the ID of the backup policy to use. The policy must be an Azure File Share backup policy. Other types are not supported.

func (ProtectedFileShareOutput) ElementType

func (ProtectedFileShareOutput) ElementType() reflect.Type

func (ProtectedFileShareOutput) RecoveryVaultName added in v5.5.0

func (o ProtectedFileShareOutput) RecoveryVaultName() pulumi.StringOutput

Specifies the name of the Recovery Services Vault to use. Changing this forces a new resource to be created.

func (ProtectedFileShareOutput) ResourceGroupName added in v5.5.0

func (o ProtectedFileShareOutput) ResourceGroupName() pulumi.StringOutput

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.

func (ProtectedFileShareOutput) SourceFileShareName added in v5.5.0

func (o ProtectedFileShareOutput) SourceFileShareName() pulumi.StringOutput

Specifies the name of the file share to backup. Changing this forces a new resource to be created.

func (ProtectedFileShareOutput) SourceStorageAccountId added in v5.5.0

func (o ProtectedFileShareOutput) SourceStorageAccountId() pulumi.StringOutput

Specifies the ID of the storage account of the file share to backup. Changing this forces a new resource to be created.

> **NOTE** The storage account must already be registered with the recovery vault in order to backup shares within the account. You can use the `backup.ContainerStorageAccount` resource or the [Register-AzRecoveryServicesBackupContainer PowerShell cmdlet](https://docs.microsoft.com/powershell/module/az.recoveryservices/register-azrecoveryservicesbackupcontainer?view=azps-3.2.0) to register a storage account with a vault. When using the `backup.ContainerStorageAccount` resource to register, you can use `dependsOn` to explicitly declare the dependency. It will make sure that the registration is completed before creating the `backup.ProtectedFileShare` resource.

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.
	//
	// > **NOTE** The storage account must already be registered with the recovery vault in order to backup shares within the account. You can use the `backup.ContainerStorageAccount` resource or the [Register-AzRecoveryServicesBackupContainer PowerShell cmdlet](https://docs.microsoft.com/powershell/module/az.recoveryservices/register-azrecoveryservicesbackupcontainer?view=azps-3.2.0) to register a storage account with a vault. When using the `backup.ContainerStorageAccount` resource to register, you can use `dependsOn` to explicitly declare the dependency. It will make sure that the registration is completed before creating the `backup.ProtectedFileShare` resource.
	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. Required in creation or when `protectionStopped` is not specified.
	BackupPolicyId pulumi.StringPtrOutput `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 Protection state of the backup. Possible values are `Invalid`, `IRPending`, `Protected`, `ProtectionStopped`, `ProtectionError` and `ProtectionPaused`.
	ProtectionState pulumi.StringOutput `pulumi:"protectionState"`
	// Specifies the name of the Recovery Services Vault to use. Changing this forces a new resource to be created.
	RecoveryVaultName pulumi.StringOutput `pulumi:"recoveryVaultName"`
	// Specifies the name of the Resource Group **associated with** the Recovery Services Vault to use. 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.
	//
	// > **NOTE:** After creation, the `sourceVmId` property can be removed without forcing a new resource to be created; however, setting it to a different ID will create a new resource.
	// This allows the source vm to be deleted without having to remove the backup.
	SourceVmId pulumi.StringOutput `pulumi:"sourceVmId"`
}

Manages Azure Backup for an Azure VM

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/backup"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/recoveryservices"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("tfex-recovery_vault"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleVault, err := recoveryservices.NewVault(ctx, "example", &recoveryservices.VaultArgs{
			Name:              pulumi.String("tfex-recovery-vault"),
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			Sku:               pulumi.String("Standard"),
		})
		if err != nil {
			return err
		}
		examplePolicyVM, err := backup.NewPolicyVM(ctx, "example", &backup.PolicyVMArgs{
			Name:              pulumi.String("tfex-recovery-vault-policy"),
			ResourceGroupName: exampleResourceGroup.Name,
			RecoveryVaultName: exampleVault.Name,
			Backup: &backup.PolicyVMBackupArgs{
				Frequency: pulumi.String("Daily"),
				Time:      pulumi.String("23:00"),
			},
			RetentionDaily: &backup.PolicyVMRetentionDailyArgs{
				Count: pulumi.Int(10),
			},
		})
		if err != nil {
			return err
		}
		example := compute.LookupVirtualMachineOutput(ctx, compute.GetVirtualMachineOutputArgs{
			Name:              pulumi.String("example-vm"),
			ResourceGroupName: exampleResourceGroup.Name,
		}, nil)
		_, err = backup.NewProtectedVM(ctx, "vm1", &backup.ProtectedVMArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			RecoveryVaultName: exampleVault.Name,
			SourceVmId: example.ApplyT(func(example compute.GetVirtualMachineResult) (*string, error) {
				return &example.Id, nil
			}).(pulumi.StringPtrOutput),
			BackupPolicyId: examplePolicyVM.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## 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. Required in creation or when `protectionStopped` is not specified.
	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 Protection state of the backup. Possible values are `Invalid`, `IRPending`, `Protected`, `ProtectionStopped`, `ProtectionError` and `ProtectionPaused`.
	ProtectionState pulumi.StringPtrInput
	// Specifies the name of the Recovery Services Vault to use. Changing this forces a new resource to be created.
	RecoveryVaultName pulumi.StringInput
	// Specifies the name of the Resource Group **associated with** the Recovery Services Vault to use. 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.
	//
	// > **NOTE:** After creation, the `sourceVmId` property can be removed without forcing a new resource to be created; however, setting it to a different ID will create a new resource.
	// This allows the source vm to be deleted without having to remove the backup.
	SourceVmId pulumi.StringPtrInput
}

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

func (o ProtectedVMOutput) BackupPolicyId() pulumi.StringPtrOutput

Specifies the id of the backup policy to use. Required in creation or when `protectionStopped` is not specified.

func (ProtectedVMOutput) ElementType

func (ProtectedVMOutput) ElementType() reflect.Type

func (ProtectedVMOutput) ExcludeDiskLuns added in v5.5.0

func (o ProtectedVMOutput) ExcludeDiskLuns() pulumi.IntArrayOutput

A list of Disks' Logical Unit Numbers(LUN) to be excluded for VM Protection.

func (ProtectedVMOutput) IncludeDiskLuns added in v5.5.0

func (o ProtectedVMOutput) IncludeDiskLuns() pulumi.IntArrayOutput

A list of Disks' Logical Unit Numbers(LUN) to be included for VM Protection.

func (ProtectedVMOutput) ProtectionState added in v5.44.0

func (o ProtectedVMOutput) ProtectionState() pulumi.StringOutput

Specifies Protection state of the backup. Possible values are `Invalid`, `IRPending`, `Protected`, `ProtectionStopped`, `ProtectionError` and `ProtectionPaused`.

func (ProtectedVMOutput) RecoveryVaultName added in v5.5.0

func (o ProtectedVMOutput) RecoveryVaultName() pulumi.StringOutput

Specifies the name of the Recovery Services Vault to use. Changing this forces a new resource to be created.

func (ProtectedVMOutput) ResourceGroupName added in v5.5.0

func (o ProtectedVMOutput) ResourceGroupName() pulumi.StringOutput

Specifies the name of the Resource Group **associated with** the Recovery Services Vault to use. Changing this forces a new resource to be created.

func (ProtectedVMOutput) SourceVmId added in v5.5.0

func (o ProtectedVMOutput) SourceVmId() pulumi.StringOutput

Specifies the ID of the VM to backup. Changing this forces a new resource to be created.

> **NOTE:** After creation, the `sourceVmId` property can be removed without forcing a new resource to be created; however, setting it to a different ID will create a new resource. This allows the source vm to be deleted without having to remove the backup.

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. Required in creation or when `protectionStopped` is not specified.
	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 Protection state of the backup. Possible values are `Invalid`, `IRPending`, `Protected`, `ProtectionStopped`, `ProtectionError` and `ProtectionPaused`.
	ProtectionState pulumi.StringPtrInput
	// Specifies the name of the Recovery Services Vault to use. Changing this forces a new resource to be created.
	RecoveryVaultName pulumi.StringPtrInput
	// Specifies the name of the Resource Group **associated with** the Recovery Services Vault to use. 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.
	//
	// > **NOTE:** After creation, the `sourceVmId` property can be removed without forcing a new resource to be created; however, setting it to a different ID will create a new resource.
	// This allows the source vm to be deleted without having to remove the backup.
	SourceVmId pulumi.StringPtrInput
}

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