dataprotection

package
v5.74.0 Latest Latest
Warning

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

Go to latest
Published: Apr 29, 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 BackupInstanceBlogStorage

type BackupInstanceBlogStorage struct {
	pulumi.CustomResourceState

	// The ID of the Backup Policy.
	BackupPolicyId pulumi.StringOutput `pulumi:"backupPolicyId"`
	// The location of the source Storage Account. Changing this forces a new Backup Instance Blob Storage to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// The name which should be used for this Backup Instance Blob Storage. Changing this forces a new Backup Instance Blob Storage to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the source Storage Account. Changing this forces a new Backup Instance Blob Storage to be created.
	StorageAccountId pulumi.StringOutput `pulumi:"storageAccountId"`
	// The ID of the Backup Vault within which the Backup Instance Blob Storage should exist. Changing this forces a new Backup Instance Blob Storage to be created.
	VaultId pulumi.StringOutput `pulumi:"vaultId"`
}

Manages a Backup Instance Blob Storage.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/authorization"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/dataprotection"
"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("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleAccount, err := storage.NewAccount(ctx, "example", &storage.AccountArgs{
			Name:                   pulumi.String("storageaccountname"),
			ResourceGroupName:      example.Name,
			Location:               example.Location,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("LRS"),
		})
		if err != nil {
			return err
		}
		exampleBackupVault, err := dataprotection.NewBackupVault(ctx, "example", &dataprotection.BackupVaultArgs{
			Name:              pulumi.String("example-backup-vault"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
			DatastoreType:     pulumi.String("VaultStore"),
			Redundancy:        pulumi.String("LocallyRedundant"),
			Identity: &dataprotection.BackupVaultIdentityArgs{
				Type: pulumi.String("SystemAssigned"),
			},
		})
		if err != nil {
			return err
		}
		_, err = authorization.NewAssignment(ctx, "example", &authorization.AssignmentArgs{
			Scope:              exampleAccount.ID(),
			RoleDefinitionName: pulumi.String("Storage Account Backup Contributor"),
			PrincipalId: exampleBackupVault.Identity.ApplyT(func(identity dataprotection.BackupVaultIdentity) (*string, error) {
				return &identity.PrincipalId, nil
			}).(pulumi.StringPtrOutput),
		})
		if err != nil {
			return err
		}
		exampleBackupPolicyBlobStorage, err := dataprotection.NewBackupPolicyBlobStorage(ctx, "example", &dataprotection.BackupPolicyBlobStorageArgs{
			Name:              pulumi.String("example-backup-policy"),
			VaultId:           exampleBackupVault.ID(),
			RetentionDuration: pulumi.String("P30D"),
		})
		if err != nil {
			return err
		}
		_, err = dataprotection.NewBackupInstanceBlogStorage(ctx, "example", &dataprotection.BackupInstanceBlogStorageArgs{
			Name:             pulumi.String("example-backup-instance"),
			VaultId:          exampleBackupVault.ID(),
			Location:         example.Location,
			StorageAccountId: exampleAccount.ID(),
			BackupPolicyId:   exampleBackupPolicyBlobStorage.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Backup Instance Blob Storages can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:dataprotection/backupInstanceBlogStorage:BackupInstanceBlogStorage example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataProtection/backupVaults/vault1/backupInstances/backupInstance1 ```

func GetBackupInstanceBlogStorage

func GetBackupInstanceBlogStorage(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BackupInstanceBlogStorageState, opts ...pulumi.ResourceOption) (*BackupInstanceBlogStorage, error)

GetBackupInstanceBlogStorage gets an existing BackupInstanceBlogStorage 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 NewBackupInstanceBlogStorage

func NewBackupInstanceBlogStorage(ctx *pulumi.Context,
	name string, args *BackupInstanceBlogStorageArgs, opts ...pulumi.ResourceOption) (*BackupInstanceBlogStorage, error)

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

func (*BackupInstanceBlogStorage) ElementType

func (*BackupInstanceBlogStorage) ElementType() reflect.Type

func (*BackupInstanceBlogStorage) ToBackupInstanceBlogStorageOutput

func (i *BackupInstanceBlogStorage) ToBackupInstanceBlogStorageOutput() BackupInstanceBlogStorageOutput

func (*BackupInstanceBlogStorage) ToBackupInstanceBlogStorageOutputWithContext

func (i *BackupInstanceBlogStorage) ToBackupInstanceBlogStorageOutputWithContext(ctx context.Context) BackupInstanceBlogStorageOutput

type BackupInstanceBlogStorageArgs

type BackupInstanceBlogStorageArgs struct {
	// The ID of the Backup Policy.
	BackupPolicyId pulumi.StringInput
	// The location of the source Storage Account. Changing this forces a new Backup Instance Blob Storage to be created.
	Location pulumi.StringPtrInput
	// The name which should be used for this Backup Instance Blob Storage. Changing this forces a new Backup Instance Blob Storage to be created.
	Name pulumi.StringPtrInput
	// The ID of the source Storage Account. Changing this forces a new Backup Instance Blob Storage to be created.
	StorageAccountId pulumi.StringInput
	// The ID of the Backup Vault within which the Backup Instance Blob Storage should exist. Changing this forces a new Backup Instance Blob Storage to be created.
	VaultId pulumi.StringInput
}

The set of arguments for constructing a BackupInstanceBlogStorage resource.

func (BackupInstanceBlogStorageArgs) ElementType

type BackupInstanceBlogStorageArray

type BackupInstanceBlogStorageArray []BackupInstanceBlogStorageInput

func (BackupInstanceBlogStorageArray) ElementType

func (BackupInstanceBlogStorageArray) ToBackupInstanceBlogStorageArrayOutput

func (i BackupInstanceBlogStorageArray) ToBackupInstanceBlogStorageArrayOutput() BackupInstanceBlogStorageArrayOutput

func (BackupInstanceBlogStorageArray) ToBackupInstanceBlogStorageArrayOutputWithContext

func (i BackupInstanceBlogStorageArray) ToBackupInstanceBlogStorageArrayOutputWithContext(ctx context.Context) BackupInstanceBlogStorageArrayOutput

type BackupInstanceBlogStorageArrayInput

type BackupInstanceBlogStorageArrayInput interface {
	pulumi.Input

	ToBackupInstanceBlogStorageArrayOutput() BackupInstanceBlogStorageArrayOutput
	ToBackupInstanceBlogStorageArrayOutputWithContext(context.Context) BackupInstanceBlogStorageArrayOutput
}

BackupInstanceBlogStorageArrayInput is an input type that accepts BackupInstanceBlogStorageArray and BackupInstanceBlogStorageArrayOutput values. You can construct a concrete instance of `BackupInstanceBlogStorageArrayInput` via:

BackupInstanceBlogStorageArray{ BackupInstanceBlogStorageArgs{...} }

type BackupInstanceBlogStorageArrayOutput

type BackupInstanceBlogStorageArrayOutput struct{ *pulumi.OutputState }

func (BackupInstanceBlogStorageArrayOutput) ElementType

func (BackupInstanceBlogStorageArrayOutput) Index

func (BackupInstanceBlogStorageArrayOutput) ToBackupInstanceBlogStorageArrayOutput

func (o BackupInstanceBlogStorageArrayOutput) ToBackupInstanceBlogStorageArrayOutput() BackupInstanceBlogStorageArrayOutput

func (BackupInstanceBlogStorageArrayOutput) ToBackupInstanceBlogStorageArrayOutputWithContext

func (o BackupInstanceBlogStorageArrayOutput) ToBackupInstanceBlogStorageArrayOutputWithContext(ctx context.Context) BackupInstanceBlogStorageArrayOutput

type BackupInstanceBlogStorageInput

type BackupInstanceBlogStorageInput interface {
	pulumi.Input

	ToBackupInstanceBlogStorageOutput() BackupInstanceBlogStorageOutput
	ToBackupInstanceBlogStorageOutputWithContext(ctx context.Context) BackupInstanceBlogStorageOutput
}

type BackupInstanceBlogStorageMap

type BackupInstanceBlogStorageMap map[string]BackupInstanceBlogStorageInput

func (BackupInstanceBlogStorageMap) ElementType

func (BackupInstanceBlogStorageMap) ToBackupInstanceBlogStorageMapOutput

func (i BackupInstanceBlogStorageMap) ToBackupInstanceBlogStorageMapOutput() BackupInstanceBlogStorageMapOutput

func (BackupInstanceBlogStorageMap) ToBackupInstanceBlogStorageMapOutputWithContext

func (i BackupInstanceBlogStorageMap) ToBackupInstanceBlogStorageMapOutputWithContext(ctx context.Context) BackupInstanceBlogStorageMapOutput

type BackupInstanceBlogStorageMapInput

type BackupInstanceBlogStorageMapInput interface {
	pulumi.Input

	ToBackupInstanceBlogStorageMapOutput() BackupInstanceBlogStorageMapOutput
	ToBackupInstanceBlogStorageMapOutputWithContext(context.Context) BackupInstanceBlogStorageMapOutput
}

BackupInstanceBlogStorageMapInput is an input type that accepts BackupInstanceBlogStorageMap and BackupInstanceBlogStorageMapOutput values. You can construct a concrete instance of `BackupInstanceBlogStorageMapInput` via:

BackupInstanceBlogStorageMap{ "key": BackupInstanceBlogStorageArgs{...} }

type BackupInstanceBlogStorageMapOutput

type BackupInstanceBlogStorageMapOutput struct{ *pulumi.OutputState }

func (BackupInstanceBlogStorageMapOutput) ElementType

func (BackupInstanceBlogStorageMapOutput) MapIndex

func (BackupInstanceBlogStorageMapOutput) ToBackupInstanceBlogStorageMapOutput

func (o BackupInstanceBlogStorageMapOutput) ToBackupInstanceBlogStorageMapOutput() BackupInstanceBlogStorageMapOutput

func (BackupInstanceBlogStorageMapOutput) ToBackupInstanceBlogStorageMapOutputWithContext

func (o BackupInstanceBlogStorageMapOutput) ToBackupInstanceBlogStorageMapOutputWithContext(ctx context.Context) BackupInstanceBlogStorageMapOutput

type BackupInstanceBlogStorageOutput

type BackupInstanceBlogStorageOutput struct{ *pulumi.OutputState }

func (BackupInstanceBlogStorageOutput) BackupPolicyId added in v5.5.0

The ID of the Backup Policy.

func (BackupInstanceBlogStorageOutput) ElementType

func (BackupInstanceBlogStorageOutput) Location added in v5.5.0

The location of the source Storage Account. Changing this forces a new Backup Instance Blob Storage to be created.

func (BackupInstanceBlogStorageOutput) Name added in v5.5.0

The name which should be used for this Backup Instance Blob Storage. Changing this forces a new Backup Instance Blob Storage to be created.

func (BackupInstanceBlogStorageOutput) StorageAccountId added in v5.5.0

The ID of the source Storage Account. Changing this forces a new Backup Instance Blob Storage to be created.

func (BackupInstanceBlogStorageOutput) ToBackupInstanceBlogStorageOutput

func (o BackupInstanceBlogStorageOutput) ToBackupInstanceBlogStorageOutput() BackupInstanceBlogStorageOutput

func (BackupInstanceBlogStorageOutput) ToBackupInstanceBlogStorageOutputWithContext

func (o BackupInstanceBlogStorageOutput) ToBackupInstanceBlogStorageOutputWithContext(ctx context.Context) BackupInstanceBlogStorageOutput

func (BackupInstanceBlogStorageOutput) VaultId added in v5.5.0

The ID of the Backup Vault within which the Backup Instance Blob Storage should exist. Changing this forces a new Backup Instance Blob Storage to be created.

type BackupInstanceBlogStorageState

type BackupInstanceBlogStorageState struct {
	// The ID of the Backup Policy.
	BackupPolicyId pulumi.StringPtrInput
	// The location of the source Storage Account. Changing this forces a new Backup Instance Blob Storage to be created.
	Location pulumi.StringPtrInput
	// The name which should be used for this Backup Instance Blob Storage. Changing this forces a new Backup Instance Blob Storage to be created.
	Name pulumi.StringPtrInput
	// The ID of the source Storage Account. Changing this forces a new Backup Instance Blob Storage to be created.
	StorageAccountId pulumi.StringPtrInput
	// The ID of the Backup Vault within which the Backup Instance Blob Storage should exist. Changing this forces a new Backup Instance Blob Storage to be created.
	VaultId pulumi.StringPtrInput
}

func (BackupInstanceBlogStorageState) ElementType

type BackupInstanceDisk

type BackupInstanceDisk struct {
	pulumi.CustomResourceState

	// The ID of the Backup Policy.
	BackupPolicyId pulumi.StringOutput `pulumi:"backupPolicyId"`
	// The ID of the source Disk. Changing this forces a new Backup Instance Disk to be created.
	DiskId pulumi.StringOutput `pulumi:"diskId"`
	// The Azure Region where the Backup Instance Disk should exist. Changing this forces a new Backup Instance Disk to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// The name which should be used for this Backup Instance Disk. Changing this forces a new Backup Instance Disk to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the Resource Group where snapshots are stored. Changing this forces a new Backup Instance Disk to be created.
	SnapshotResourceGroupName pulumi.StringOutput `pulumi:"snapshotResourceGroupName"`
	// The ID of the Backup Vault within which the Backup Instance Disk should exist. Changing this forces a new Backup Instance Disk to be created.
	VaultId pulumi.StringOutput `pulumi:"vaultId"`
}

Manages a Backup Instance to back up Disk.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/authorization"
"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/dataprotection"
"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-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleManagedDisk, err := compute.NewManagedDisk(ctx, "example", &compute.ManagedDiskArgs{
			Name:               pulumi.String("example-disk"),
			Location:           example.Location,
			ResourceGroupName:  example.Name,
			StorageAccountType: pulumi.String("Standard_LRS"),
			CreateOption:       pulumi.String("Empty"),
			DiskSizeGb:         pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		exampleBackupVault, err := dataprotection.NewBackupVault(ctx, "example", &dataprotection.BackupVaultArgs{
			Name:              pulumi.String("example-backup-vault"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
			DatastoreType:     pulumi.String("VaultStore"),
			Redundancy:        pulumi.String("LocallyRedundant"),
			Identity: &dataprotection.BackupVaultIdentityArgs{
				Type: pulumi.String("SystemAssigned"),
			},
		})
		if err != nil {
			return err
		}
		_, err = authorization.NewAssignment(ctx, "example1", &authorization.AssignmentArgs{
			Scope:              example.ID(),
			RoleDefinitionName: pulumi.String("Disk Snapshot Contributor"),
			PrincipalId: exampleBackupVault.Identity.ApplyT(func(identity dataprotection.BackupVaultIdentity) (*string, error) {
				return &identity.PrincipalId, nil
			}).(pulumi.StringPtrOutput),
		})
		if err != nil {
			return err
		}
		_, err = authorization.NewAssignment(ctx, "example2", &authorization.AssignmentArgs{
			Scope:              exampleManagedDisk.ID(),
			RoleDefinitionName: pulumi.String("Disk Backup Reader"),
			PrincipalId: exampleBackupVault.Identity.ApplyT(func(identity dataprotection.BackupVaultIdentity) (*string, error) {
				return &identity.PrincipalId, nil
			}).(pulumi.StringPtrOutput),
		})
		if err != nil {
			return err
		}
		exampleBackupPolicyDisk, err := dataprotection.NewBackupPolicyDisk(ctx, "example", &dataprotection.BackupPolicyDiskArgs{
			Name:    pulumi.String("example-backup-policy"),
			VaultId: exampleBackupVault.ID(),
			BackupRepeatingTimeIntervals: pulumi.StringArray{
				pulumi.String("R/2021-05-19T06:33:16+00:00/PT4H"),
			},
			DefaultRetentionDuration: pulumi.String("P7D"),
		})
		if err != nil {
			return err
		}
		_, err = dataprotection.NewBackupInstanceDisk(ctx, "example", &dataprotection.BackupInstanceDiskArgs{
			Name:                      pulumi.String("example-backup-instance"),
			Location:                  exampleBackupVault.Location,
			VaultId:                   exampleBackupVault.ID(),
			DiskId:                    exampleManagedDisk.ID(),
			SnapshotResourceGroupName: example.Name,
			BackupPolicyId:            exampleBackupPolicyDisk.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Backup Instance Disks can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:dataprotection/backupInstanceDisk:BackupInstanceDisk example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataProtection/backupVaults/vault1/backupInstances/backupInstance1 ```

func GetBackupInstanceDisk

func GetBackupInstanceDisk(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BackupInstanceDiskState, opts ...pulumi.ResourceOption) (*BackupInstanceDisk, error)

GetBackupInstanceDisk gets an existing BackupInstanceDisk 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 NewBackupInstanceDisk

func NewBackupInstanceDisk(ctx *pulumi.Context,
	name string, args *BackupInstanceDiskArgs, opts ...pulumi.ResourceOption) (*BackupInstanceDisk, error)

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

func (*BackupInstanceDisk) ElementType

func (*BackupInstanceDisk) ElementType() reflect.Type

func (*BackupInstanceDisk) ToBackupInstanceDiskOutput

func (i *BackupInstanceDisk) ToBackupInstanceDiskOutput() BackupInstanceDiskOutput

func (*BackupInstanceDisk) ToBackupInstanceDiskOutputWithContext

func (i *BackupInstanceDisk) ToBackupInstanceDiskOutputWithContext(ctx context.Context) BackupInstanceDiskOutput

type BackupInstanceDiskArgs

type BackupInstanceDiskArgs struct {
	// The ID of the Backup Policy.
	BackupPolicyId pulumi.StringInput
	// The ID of the source Disk. Changing this forces a new Backup Instance Disk to be created.
	DiskId pulumi.StringInput
	// The Azure Region where the Backup Instance Disk should exist. Changing this forces a new Backup Instance Disk to be created.
	Location pulumi.StringPtrInput
	// The name which should be used for this Backup Instance Disk. Changing this forces a new Backup Instance Disk to be created.
	Name pulumi.StringPtrInput
	// The name of the Resource Group where snapshots are stored. Changing this forces a new Backup Instance Disk to be created.
	SnapshotResourceGroupName pulumi.StringInput
	// The ID of the Backup Vault within which the Backup Instance Disk should exist. Changing this forces a new Backup Instance Disk to be created.
	VaultId pulumi.StringInput
}

The set of arguments for constructing a BackupInstanceDisk resource.

func (BackupInstanceDiskArgs) ElementType

func (BackupInstanceDiskArgs) ElementType() reflect.Type

type BackupInstanceDiskArray

type BackupInstanceDiskArray []BackupInstanceDiskInput

func (BackupInstanceDiskArray) ElementType

func (BackupInstanceDiskArray) ElementType() reflect.Type

func (BackupInstanceDiskArray) ToBackupInstanceDiskArrayOutput

func (i BackupInstanceDiskArray) ToBackupInstanceDiskArrayOutput() BackupInstanceDiskArrayOutput

func (BackupInstanceDiskArray) ToBackupInstanceDiskArrayOutputWithContext

func (i BackupInstanceDiskArray) ToBackupInstanceDiskArrayOutputWithContext(ctx context.Context) BackupInstanceDiskArrayOutput

type BackupInstanceDiskArrayInput

type BackupInstanceDiskArrayInput interface {
	pulumi.Input

	ToBackupInstanceDiskArrayOutput() BackupInstanceDiskArrayOutput
	ToBackupInstanceDiskArrayOutputWithContext(context.Context) BackupInstanceDiskArrayOutput
}

BackupInstanceDiskArrayInput is an input type that accepts BackupInstanceDiskArray and BackupInstanceDiskArrayOutput values. You can construct a concrete instance of `BackupInstanceDiskArrayInput` via:

BackupInstanceDiskArray{ BackupInstanceDiskArgs{...} }

type BackupInstanceDiskArrayOutput

type BackupInstanceDiskArrayOutput struct{ *pulumi.OutputState }

func (BackupInstanceDiskArrayOutput) ElementType

func (BackupInstanceDiskArrayOutput) Index

func (BackupInstanceDiskArrayOutput) ToBackupInstanceDiskArrayOutput

func (o BackupInstanceDiskArrayOutput) ToBackupInstanceDiskArrayOutput() BackupInstanceDiskArrayOutput

func (BackupInstanceDiskArrayOutput) ToBackupInstanceDiskArrayOutputWithContext

func (o BackupInstanceDiskArrayOutput) ToBackupInstanceDiskArrayOutputWithContext(ctx context.Context) BackupInstanceDiskArrayOutput

type BackupInstanceDiskInput

type BackupInstanceDiskInput interface {
	pulumi.Input

	ToBackupInstanceDiskOutput() BackupInstanceDiskOutput
	ToBackupInstanceDiskOutputWithContext(ctx context.Context) BackupInstanceDiskOutput
}

type BackupInstanceDiskMap

type BackupInstanceDiskMap map[string]BackupInstanceDiskInput

func (BackupInstanceDiskMap) ElementType

func (BackupInstanceDiskMap) ElementType() reflect.Type

func (BackupInstanceDiskMap) ToBackupInstanceDiskMapOutput

func (i BackupInstanceDiskMap) ToBackupInstanceDiskMapOutput() BackupInstanceDiskMapOutput

func (BackupInstanceDiskMap) ToBackupInstanceDiskMapOutputWithContext

func (i BackupInstanceDiskMap) ToBackupInstanceDiskMapOutputWithContext(ctx context.Context) BackupInstanceDiskMapOutput

type BackupInstanceDiskMapInput

type BackupInstanceDiskMapInput interface {
	pulumi.Input

	ToBackupInstanceDiskMapOutput() BackupInstanceDiskMapOutput
	ToBackupInstanceDiskMapOutputWithContext(context.Context) BackupInstanceDiskMapOutput
}

BackupInstanceDiskMapInput is an input type that accepts BackupInstanceDiskMap and BackupInstanceDiskMapOutput values. You can construct a concrete instance of `BackupInstanceDiskMapInput` via:

BackupInstanceDiskMap{ "key": BackupInstanceDiskArgs{...} }

type BackupInstanceDiskMapOutput

type BackupInstanceDiskMapOutput struct{ *pulumi.OutputState }

func (BackupInstanceDiskMapOutput) ElementType

func (BackupInstanceDiskMapOutput) MapIndex

func (BackupInstanceDiskMapOutput) ToBackupInstanceDiskMapOutput

func (o BackupInstanceDiskMapOutput) ToBackupInstanceDiskMapOutput() BackupInstanceDiskMapOutput

func (BackupInstanceDiskMapOutput) ToBackupInstanceDiskMapOutputWithContext

func (o BackupInstanceDiskMapOutput) ToBackupInstanceDiskMapOutputWithContext(ctx context.Context) BackupInstanceDiskMapOutput

type BackupInstanceDiskOutput

type BackupInstanceDiskOutput struct{ *pulumi.OutputState }

func (BackupInstanceDiskOutput) BackupPolicyId added in v5.5.0

func (o BackupInstanceDiskOutput) BackupPolicyId() pulumi.StringOutput

The ID of the Backup Policy.

func (BackupInstanceDiskOutput) DiskId added in v5.5.0

The ID of the source Disk. Changing this forces a new Backup Instance Disk to be created.

func (BackupInstanceDiskOutput) ElementType

func (BackupInstanceDiskOutput) ElementType() reflect.Type

func (BackupInstanceDiskOutput) Location added in v5.5.0

The Azure Region where the Backup Instance Disk should exist. Changing this forces a new Backup Instance Disk to be created.

func (BackupInstanceDiskOutput) Name added in v5.5.0

The name which should be used for this Backup Instance Disk. Changing this forces a new Backup Instance Disk to be created.

func (BackupInstanceDiskOutput) SnapshotResourceGroupName added in v5.5.0

func (o BackupInstanceDiskOutput) SnapshotResourceGroupName() pulumi.StringOutput

The name of the Resource Group where snapshots are stored. Changing this forces a new Backup Instance Disk to be created.

func (BackupInstanceDiskOutput) ToBackupInstanceDiskOutput

func (o BackupInstanceDiskOutput) ToBackupInstanceDiskOutput() BackupInstanceDiskOutput

func (BackupInstanceDiskOutput) ToBackupInstanceDiskOutputWithContext

func (o BackupInstanceDiskOutput) ToBackupInstanceDiskOutputWithContext(ctx context.Context) BackupInstanceDiskOutput

func (BackupInstanceDiskOutput) VaultId added in v5.5.0

The ID of the Backup Vault within which the Backup Instance Disk should exist. Changing this forces a new Backup Instance Disk to be created.

type BackupInstanceDiskState

type BackupInstanceDiskState struct {
	// The ID of the Backup Policy.
	BackupPolicyId pulumi.StringPtrInput
	// The ID of the source Disk. Changing this forces a new Backup Instance Disk to be created.
	DiskId pulumi.StringPtrInput
	// The Azure Region where the Backup Instance Disk should exist. Changing this forces a new Backup Instance Disk to be created.
	Location pulumi.StringPtrInput
	// The name which should be used for this Backup Instance Disk. Changing this forces a new Backup Instance Disk to be created.
	Name pulumi.StringPtrInput
	// The name of the Resource Group where snapshots are stored. Changing this forces a new Backup Instance Disk to be created.
	SnapshotResourceGroupName pulumi.StringPtrInput
	// The ID of the Backup Vault within which the Backup Instance Disk should exist. Changing this forces a new Backup Instance Disk to be created.
	VaultId pulumi.StringPtrInput
}

func (BackupInstanceDiskState) ElementType

func (BackupInstanceDiskState) ElementType() reflect.Type

type BackupInstanceKubernetesCluster added in v5.69.0

type BackupInstanceKubernetesCluster struct {
	pulumi.CustomResourceState

	// A `backupDatasourceParameters` block as defined below.
	BackupDatasourceParameters BackupInstanceKubernetesClusterBackupDatasourceParametersPtrOutput `pulumi:"backupDatasourceParameters"`
	// The ID of the Backup Policy. Changing this forces a new resource to be created.
	BackupPolicyId pulumi.StringOutput `pulumi:"backupPolicyId"`
	// The ID of the Kubernetes Cluster. Changing this forces a new resource to be created.
	KubernetesClusterId pulumi.StringOutput `pulumi:"kubernetesClusterId"`
	// The location of the Backup Instance Kubernetes Cluster. Changing this forces a new resource to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// The name which should be used for this Backup Instance Kubernetes Cluster. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the Resource Group where snapshots are stored. Changing this forces a new resource to be created.
	SnapshotResourceGroupName pulumi.StringOutput `pulumi:"snapshotResourceGroupName"`
	// The ID of the Backup Vault within which the Backup Instance Kubernetes Cluster should exist. Changing this forces a new resource to be created.
	VaultId pulumi.StringOutput `pulumi:"vaultId"`
}

Manages a Backup Instance to back up a Kubernetes Cluster.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/authorization"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/containerservice"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/dataprotection"
"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 {
		current, err := core.GetClientConfig(ctx, nil, nil)
		if err != nil {
			return err
		}
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		snap, err := core.NewResourceGroup(ctx, "snap", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-snap"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleBackupVault, err := dataprotection.NewBackupVault(ctx, "example", &dataprotection.BackupVaultArgs{
			Name:              pulumi.String("example"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
			DatastoreType:     pulumi.String("VaultStore"),
			Redundancy:        pulumi.String("LocallyRedundant"),
			Identity: &dataprotection.BackupVaultIdentityArgs{
				Type: pulumi.String("SystemAssigned"),
			},
		})
		if err != nil {
			return err
		}
		exampleKubernetesCluster, err := containerservice.NewKubernetesCluster(ctx, "example", &containerservice.KubernetesClusterArgs{
			Name:              pulumi.String("example"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			DnsPrefix:         pulumi.String("dns"),
			DefaultNodePool: &containerservice.KubernetesClusterDefaultNodePoolArgs{
				Name:                 pulumi.String("default"),
				NodeCount:            pulumi.Int(1),
				VmSize:               pulumi.String("Standard_DS2_v2"),
				EnableHostEncryption: pulumi.Bool(true),
			},
			Identity: &containerservice.KubernetesClusterIdentityArgs{
				Type: pulumi.String("SystemAssigned"),
			},
		})
		if err != nil {
			return err
		}
		_, err = containerservice.NewClusterTrustedAccessRoleBinding(ctx, "aks_cluster_trusted_access", &containerservice.ClusterTrustedAccessRoleBindingArgs{
			KubernetesClusterId: exampleKubernetesCluster.ID(),
			Name:                pulumi.String("example"),
			Roles: pulumi.StringArray{
				pulumi.String("Microsoft.DataProtection/backupVaults/backup-operator"),
			},
			SourceResourceId: exampleBackupVault.ID(),
		})
		if err != nil {
			return err
		}
		exampleAccount, err := storage.NewAccount(ctx, "example", &storage.AccountArgs{
			Name:                   pulumi.String("example"),
			ResourceGroupName:      example.Name,
			Location:               example.Location,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("LRS"),
		})
		if err != nil {
			return err
		}
		exampleContainer, err := storage.NewContainer(ctx, "example", &storage.ContainerArgs{
			Name:                pulumi.String("example"),
			StorageAccountName:  exampleAccount.Name,
			ContainerAccessType: pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		exampleKubernetesClusterExtension, err := containerservice.NewKubernetesClusterExtension(ctx, "example", &containerservice.KubernetesClusterExtensionArgs{
			Name:             pulumi.String("example"),
			ClusterId:        exampleKubernetesCluster.ID(),
			ExtensionType:    pulumi.String("Microsoft.DataProtection.Kubernetes"),
			ReleaseTrain:     pulumi.String("stable"),
			ReleaseNamespace: pulumi.String("dataprotection-microsoft"),
			ConfigurationSettings: pulumi.StringMap{
				"configuration.backupStorageLocation.bucket":                exampleContainer.Name,
				"configuration.backupStorageLocation.config.resourceGroup":  example.Name,
				"configuration.backupStorageLocation.config.storageAccount": exampleAccount.Name,
				"configuration.backupStorageLocation.config.subscriptionId": pulumi.String(current.SubscriptionId),
				"credentials.tenantId":                                      pulumi.String(current.TenantId),
			},
		})
		if err != nil {
			return err
		}
		_, err = authorization.NewAssignment(ctx, "extension_and_storage_account_permission", &authorization.AssignmentArgs{
			Scope:              exampleAccount.ID(),
			RoleDefinitionName: pulumi.String("Storage Account Contributor"),
			PrincipalId: exampleKubernetesClusterExtension.AksAssignedIdentities.ApplyT(func(aksAssignedIdentities []containerservice.KubernetesClusterExtensionAksAssignedIdentity) (*string, error) {
				return &aksAssignedIdentities[0].PrincipalId, nil
			}).(pulumi.StringPtrOutput),
		})
		if err != nil {
			return err
		}
		_, err = authorization.NewAssignment(ctx, "vault_msi_read_on_cluster", &authorization.AssignmentArgs{
			Scope:              exampleKubernetesCluster.ID(),
			RoleDefinitionName: pulumi.String("Reader"),
			PrincipalId: exampleBackupVault.Identity.ApplyT(func(identity dataprotection.BackupVaultIdentity) (*string, error) {
				return &identity.PrincipalId, nil
			}).(pulumi.StringPtrOutput),
		})
		if err != nil {
			return err
		}
		_, err = authorization.NewAssignment(ctx, "vault_msi_read_on_snap_rg", &authorization.AssignmentArgs{
			Scope:              snap.ID(),
			RoleDefinitionName: pulumi.String("Reader"),
			PrincipalId: exampleBackupVault.Identity.ApplyT(func(identity dataprotection.BackupVaultIdentity) (*string, error) {
				return &identity.PrincipalId, nil
			}).(pulumi.StringPtrOutput),
		})
		if err != nil {
			return err
		}
		_, err = authorization.NewAssignment(ctx, "test_vault_msi_snapshot_contributor_on_snap_rg", &authorization.AssignmentArgs{
			Scope:              snap.ID(),
			RoleDefinitionName: pulumi.String("Disk Snapshot Contributor"),
			PrincipalId:        pulumi.Any(test.Identity[0].PrincipalId),
		})
		if err != nil {
			return err
		}
		_, err = authorization.NewAssignment(ctx, "test_vault_data_operator_on_snap_rg", &authorization.AssignmentArgs{
			Scope:              snap.ID(),
			RoleDefinitionName: pulumi.String("Data Operator for Managed Disks"),
			PrincipalId:        pulumi.Any(test.Identity[0].PrincipalId),
		})
		if err != nil {
			return err
		}
		_, err = authorization.NewAssignment(ctx, "test_vault_data_contributor_on_storage", &authorization.AssignmentArgs{
			Scope:              pulumi.Any(testAzurermStorageAccount.Id),
			RoleDefinitionName: pulumi.String("Storage Blob Data Contributor"),
			PrincipalId:        pulumi.Any(test.Identity[0].PrincipalId),
		})
		if err != nil {
			return err
		}
		_, err = authorization.NewAssignment(ctx, "cluster_msi_contributor_on_snap_rg", &authorization.AssignmentArgs{
			Scope:              snap.ID(),
			RoleDefinitionName: pulumi.String("Contributor"),
			PrincipalId: exampleKubernetesCluster.Identity.ApplyT(func(identity containerservice.KubernetesClusterIdentity) (*string, error) {
				return &identity.PrincipalId, nil
			}).(pulumi.StringPtrOutput),
		})
		if err != nil {
			return err
		}
		exampleBackupPolicyKubernetesCluster, err := dataprotection.NewBackupPolicyKubernetesCluster(ctx, "example", &dataprotection.BackupPolicyKubernetesClusterArgs{
			Name:              pulumi.String("example"),
			ResourceGroupName: example.Name,
			VaultName:         exampleBackupVault.Name,
			BackupRepeatingTimeIntervals: pulumi.StringArray{
				pulumi.String("R/2023-05-23T02:30:00+00:00/P1W"),
			},
			RetentionRules: dataprotection.BackupPolicyKubernetesClusterRetentionRuleArray{
				&dataprotection.BackupPolicyKubernetesClusterRetentionRuleArgs{
					Name:     pulumi.String("Daily"),
					Priority: pulumi.Int(25),
					LifeCycles: dataprotection.BackupPolicyKubernetesClusterRetentionRuleLifeCycleArray{
						&dataprotection.BackupPolicyKubernetesClusterRetentionRuleLifeCycleArgs{
							Duration:      pulumi.String("P84D"),
							DataStoreType: pulumi.String("OperationalStore"),
						},
					},
					Criteria: &dataprotection.BackupPolicyKubernetesClusterRetentionRuleCriteriaArgs{
						DaysOfWeeks: pulumi.StringArray{
							pulumi.String("Thursday"),
						},
						MonthsOfYears: pulumi.StringArray{
							pulumi.String("November"),
						},
						WeeksOfMonths: pulumi.StringArray{
							pulumi.String("First"),
						},
						ScheduledBackupTimes: pulumi.StringArray{
							pulumi.String("2023-05-23T02:30:00Z"),
						},
					},
				},
			},
			DefaultRetentionRule: &dataprotection.BackupPolicyKubernetesClusterDefaultRetentionRuleArgs{
				LifeCycles: dataprotection.BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArray{
					&dataprotection.BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArgs{
						Duration:      pulumi.String("P14D"),
						DataStoreType: pulumi.String("OperationalStore"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = dataprotection.NewBackupInstanceKubernetesCluster(ctx, "example", &dataprotection.BackupInstanceKubernetesClusterArgs{
			Name:                      pulumi.String("example"),
			Location:                  example.Location,
			VaultId:                   exampleBackupVault.ID(),
			KubernetesClusterId:       exampleKubernetesCluster.ID(),
			SnapshotResourceGroupName: snap.Name,
			BackupPolicyId:            exampleBackupPolicyKubernetesCluster.ID(),
			BackupDatasourceParameters: &dataprotection.BackupInstanceKubernetesClusterBackupDatasourceParametersArgs{
				ExcludedNamespaces: pulumi.StringArray{
					pulumi.String("test-excluded-namespaces"),
				},
				ExcludedResourceTypes: pulumi.StringArray{
					pulumi.String("exvolumesnapshotcontents.snapshot.storage.k8s.io"),
				},
				ClusterScopedResourcesEnabled: pulumi.Bool(true),
				IncludedNamespaces: pulumi.StringArray{
					pulumi.String("test-included-namespaces"),
				},
				IncludedResourceTypes: pulumi.StringArray{
					pulumi.String("involumesnapshotcontents.snapshot.storage.k8s.io"),
				},
				LabelSelectors: pulumi.StringArray{
					pulumi.String("kubernetes.io/metadata.name:test"),
				},
				VolumeSnapshotEnabled: pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Backup Instance Kubernetes Cluster can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:dataprotection/backupInstanceKubernetesCluster:BackupInstanceKubernetesCluster example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataProtection/backupVaults/vault1/backupInstances/backupInstance1 ```

func GetBackupInstanceKubernetesCluster added in v5.69.0

func GetBackupInstanceKubernetesCluster(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BackupInstanceKubernetesClusterState, opts ...pulumi.ResourceOption) (*BackupInstanceKubernetesCluster, error)

GetBackupInstanceKubernetesCluster gets an existing BackupInstanceKubernetesCluster 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 NewBackupInstanceKubernetesCluster added in v5.69.0

func NewBackupInstanceKubernetesCluster(ctx *pulumi.Context,
	name string, args *BackupInstanceKubernetesClusterArgs, opts ...pulumi.ResourceOption) (*BackupInstanceKubernetesCluster, error)

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

func (*BackupInstanceKubernetesCluster) ElementType added in v5.69.0

func (*BackupInstanceKubernetesCluster) ToBackupInstanceKubernetesClusterOutput added in v5.69.0

func (i *BackupInstanceKubernetesCluster) ToBackupInstanceKubernetesClusterOutput() BackupInstanceKubernetesClusterOutput

func (*BackupInstanceKubernetesCluster) ToBackupInstanceKubernetesClusterOutputWithContext added in v5.69.0

func (i *BackupInstanceKubernetesCluster) ToBackupInstanceKubernetesClusterOutputWithContext(ctx context.Context) BackupInstanceKubernetesClusterOutput

type BackupInstanceKubernetesClusterArgs added in v5.69.0

type BackupInstanceKubernetesClusterArgs struct {
	// A `backupDatasourceParameters` block as defined below.
	BackupDatasourceParameters BackupInstanceKubernetesClusterBackupDatasourceParametersPtrInput
	// The ID of the Backup Policy. Changing this forces a new resource to be created.
	BackupPolicyId pulumi.StringInput
	// The ID of the Kubernetes Cluster. Changing this forces a new resource to be created.
	KubernetesClusterId pulumi.StringInput
	// The location of the Backup Instance Kubernetes Cluster. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The name which should be used for this Backup Instance Kubernetes Cluster. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the Resource Group where snapshots are stored. Changing this forces a new resource to be created.
	SnapshotResourceGroupName pulumi.StringInput
	// The ID of the Backup Vault within which the Backup Instance Kubernetes Cluster should exist. Changing this forces a new resource to be created.
	VaultId pulumi.StringInput
}

The set of arguments for constructing a BackupInstanceKubernetesCluster resource.

func (BackupInstanceKubernetesClusterArgs) ElementType added in v5.69.0

type BackupInstanceKubernetesClusterArray added in v5.69.0

type BackupInstanceKubernetesClusterArray []BackupInstanceKubernetesClusterInput

func (BackupInstanceKubernetesClusterArray) ElementType added in v5.69.0

func (BackupInstanceKubernetesClusterArray) ToBackupInstanceKubernetesClusterArrayOutput added in v5.69.0

func (i BackupInstanceKubernetesClusterArray) ToBackupInstanceKubernetesClusterArrayOutput() BackupInstanceKubernetesClusterArrayOutput

func (BackupInstanceKubernetesClusterArray) ToBackupInstanceKubernetesClusterArrayOutputWithContext added in v5.69.0

func (i BackupInstanceKubernetesClusterArray) ToBackupInstanceKubernetesClusterArrayOutputWithContext(ctx context.Context) BackupInstanceKubernetesClusterArrayOutput

type BackupInstanceKubernetesClusterArrayInput added in v5.69.0

type BackupInstanceKubernetesClusterArrayInput interface {
	pulumi.Input

	ToBackupInstanceKubernetesClusterArrayOutput() BackupInstanceKubernetesClusterArrayOutput
	ToBackupInstanceKubernetesClusterArrayOutputWithContext(context.Context) BackupInstanceKubernetesClusterArrayOutput
}

BackupInstanceKubernetesClusterArrayInput is an input type that accepts BackupInstanceKubernetesClusterArray and BackupInstanceKubernetesClusterArrayOutput values. You can construct a concrete instance of `BackupInstanceKubernetesClusterArrayInput` via:

BackupInstanceKubernetesClusterArray{ BackupInstanceKubernetesClusterArgs{...} }

type BackupInstanceKubernetesClusterArrayOutput added in v5.69.0

type BackupInstanceKubernetesClusterArrayOutput struct{ *pulumi.OutputState }

func (BackupInstanceKubernetesClusterArrayOutput) ElementType added in v5.69.0

func (BackupInstanceKubernetesClusterArrayOutput) Index added in v5.69.0

func (BackupInstanceKubernetesClusterArrayOutput) ToBackupInstanceKubernetesClusterArrayOutput added in v5.69.0

func (o BackupInstanceKubernetesClusterArrayOutput) ToBackupInstanceKubernetesClusterArrayOutput() BackupInstanceKubernetesClusterArrayOutput

func (BackupInstanceKubernetesClusterArrayOutput) ToBackupInstanceKubernetesClusterArrayOutputWithContext added in v5.69.0

func (o BackupInstanceKubernetesClusterArrayOutput) ToBackupInstanceKubernetesClusterArrayOutputWithContext(ctx context.Context) BackupInstanceKubernetesClusterArrayOutput

type BackupInstanceKubernetesClusterBackupDatasourceParameters added in v5.69.0

type BackupInstanceKubernetesClusterBackupDatasourceParameters struct {
	// Whether to include cluster scope resources during backup. Default to `false`. Changing this forces a new resource to be created.
	ClusterScopedResourcesEnabled *bool `pulumi:"clusterScopedResourcesEnabled"`
	// Specifies the namespaces to be excluded during backup. Changing this forces a new resource to be created.
	ExcludedNamespaces []string `pulumi:"excludedNamespaces"`
	// Specifies the resource types to be excluded during backup. Changing this forces a new resource to be created.
	ExcludedResourceTypes []string `pulumi:"excludedResourceTypes"`
	// Specifies the namespaces to be included during backup. Changing this forces a new resource to be created.
	IncludedNamespaces []string `pulumi:"includedNamespaces"`
	// Specifies the resource types to be included during backup. Changing this forces a new resource to be created.
	IncludedResourceTypes []string `pulumi:"includedResourceTypes"`
	// Specifies the resources with such label selectors to be included during backup. Changing this forces a new resource to be created.
	LabelSelectors []string `pulumi:"labelSelectors"`
	// Whether to take volume snapshots during backup. Default to `false`. Changing this forces a new resource to be created.
	VolumeSnapshotEnabled *bool `pulumi:"volumeSnapshotEnabled"`
}

type BackupInstanceKubernetesClusterBackupDatasourceParametersArgs added in v5.69.0

type BackupInstanceKubernetesClusterBackupDatasourceParametersArgs struct {
	// Whether to include cluster scope resources during backup. Default to `false`. Changing this forces a new resource to be created.
	ClusterScopedResourcesEnabled pulumi.BoolPtrInput `pulumi:"clusterScopedResourcesEnabled"`
	// Specifies the namespaces to be excluded during backup. Changing this forces a new resource to be created.
	ExcludedNamespaces pulumi.StringArrayInput `pulumi:"excludedNamespaces"`
	// Specifies the resource types to be excluded during backup. Changing this forces a new resource to be created.
	ExcludedResourceTypes pulumi.StringArrayInput `pulumi:"excludedResourceTypes"`
	// Specifies the namespaces to be included during backup. Changing this forces a new resource to be created.
	IncludedNamespaces pulumi.StringArrayInput `pulumi:"includedNamespaces"`
	// Specifies the resource types to be included during backup. Changing this forces a new resource to be created.
	IncludedResourceTypes pulumi.StringArrayInput `pulumi:"includedResourceTypes"`
	// Specifies the resources with such label selectors to be included during backup. Changing this forces a new resource to be created.
	LabelSelectors pulumi.StringArrayInput `pulumi:"labelSelectors"`
	// Whether to take volume snapshots during backup. Default to `false`. Changing this forces a new resource to be created.
	VolumeSnapshotEnabled pulumi.BoolPtrInput `pulumi:"volumeSnapshotEnabled"`
}

func (BackupInstanceKubernetesClusterBackupDatasourceParametersArgs) ElementType added in v5.69.0

func (BackupInstanceKubernetesClusterBackupDatasourceParametersArgs) ToBackupInstanceKubernetesClusterBackupDatasourceParametersOutput added in v5.69.0

func (BackupInstanceKubernetesClusterBackupDatasourceParametersArgs) ToBackupInstanceKubernetesClusterBackupDatasourceParametersOutputWithContext added in v5.69.0

func (i BackupInstanceKubernetesClusterBackupDatasourceParametersArgs) ToBackupInstanceKubernetesClusterBackupDatasourceParametersOutputWithContext(ctx context.Context) BackupInstanceKubernetesClusterBackupDatasourceParametersOutput

func (BackupInstanceKubernetesClusterBackupDatasourceParametersArgs) ToBackupInstanceKubernetesClusterBackupDatasourceParametersPtrOutput added in v5.69.0

func (BackupInstanceKubernetesClusterBackupDatasourceParametersArgs) ToBackupInstanceKubernetesClusterBackupDatasourceParametersPtrOutputWithContext added in v5.69.0

func (i BackupInstanceKubernetesClusterBackupDatasourceParametersArgs) ToBackupInstanceKubernetesClusterBackupDatasourceParametersPtrOutputWithContext(ctx context.Context) BackupInstanceKubernetesClusterBackupDatasourceParametersPtrOutput

type BackupInstanceKubernetesClusterBackupDatasourceParametersInput added in v5.69.0

type BackupInstanceKubernetesClusterBackupDatasourceParametersInput interface {
	pulumi.Input

	ToBackupInstanceKubernetesClusterBackupDatasourceParametersOutput() BackupInstanceKubernetesClusterBackupDatasourceParametersOutput
	ToBackupInstanceKubernetesClusterBackupDatasourceParametersOutputWithContext(context.Context) BackupInstanceKubernetesClusterBackupDatasourceParametersOutput
}

BackupInstanceKubernetesClusterBackupDatasourceParametersInput is an input type that accepts BackupInstanceKubernetesClusterBackupDatasourceParametersArgs and BackupInstanceKubernetesClusterBackupDatasourceParametersOutput values. You can construct a concrete instance of `BackupInstanceKubernetesClusterBackupDatasourceParametersInput` via:

BackupInstanceKubernetesClusterBackupDatasourceParametersArgs{...}

type BackupInstanceKubernetesClusterBackupDatasourceParametersOutput added in v5.69.0

type BackupInstanceKubernetesClusterBackupDatasourceParametersOutput struct{ *pulumi.OutputState }

func (BackupInstanceKubernetesClusterBackupDatasourceParametersOutput) ClusterScopedResourcesEnabled added in v5.69.0

Whether to include cluster scope resources during backup. Default to `false`. Changing this forces a new resource to be created.

func (BackupInstanceKubernetesClusterBackupDatasourceParametersOutput) ElementType added in v5.69.0

func (BackupInstanceKubernetesClusterBackupDatasourceParametersOutput) ExcludedNamespaces added in v5.69.0

Specifies the namespaces to be excluded during backup. Changing this forces a new resource to be created.

func (BackupInstanceKubernetesClusterBackupDatasourceParametersOutput) ExcludedResourceTypes added in v5.69.0

Specifies the resource types to be excluded during backup. Changing this forces a new resource to be created.

func (BackupInstanceKubernetesClusterBackupDatasourceParametersOutput) IncludedNamespaces added in v5.69.0

Specifies the namespaces to be included during backup. Changing this forces a new resource to be created.

func (BackupInstanceKubernetesClusterBackupDatasourceParametersOutput) IncludedResourceTypes added in v5.69.0

Specifies the resource types to be included during backup. Changing this forces a new resource to be created.

func (BackupInstanceKubernetesClusterBackupDatasourceParametersOutput) LabelSelectors added in v5.69.0

Specifies the resources with such label selectors to be included during backup. Changing this forces a new resource to be created.

func (BackupInstanceKubernetesClusterBackupDatasourceParametersOutput) ToBackupInstanceKubernetesClusterBackupDatasourceParametersOutput added in v5.69.0

func (BackupInstanceKubernetesClusterBackupDatasourceParametersOutput) ToBackupInstanceKubernetesClusterBackupDatasourceParametersOutputWithContext added in v5.69.0

func (o BackupInstanceKubernetesClusterBackupDatasourceParametersOutput) ToBackupInstanceKubernetesClusterBackupDatasourceParametersOutputWithContext(ctx context.Context) BackupInstanceKubernetesClusterBackupDatasourceParametersOutput

func (BackupInstanceKubernetesClusterBackupDatasourceParametersOutput) ToBackupInstanceKubernetesClusterBackupDatasourceParametersPtrOutput added in v5.69.0

func (BackupInstanceKubernetesClusterBackupDatasourceParametersOutput) ToBackupInstanceKubernetesClusterBackupDatasourceParametersPtrOutputWithContext added in v5.69.0

func (o BackupInstanceKubernetesClusterBackupDatasourceParametersOutput) ToBackupInstanceKubernetesClusterBackupDatasourceParametersPtrOutputWithContext(ctx context.Context) BackupInstanceKubernetesClusterBackupDatasourceParametersPtrOutput

func (BackupInstanceKubernetesClusterBackupDatasourceParametersOutput) VolumeSnapshotEnabled added in v5.69.0

Whether to take volume snapshots during backup. Default to `false`. Changing this forces a new resource to be created.

type BackupInstanceKubernetesClusterBackupDatasourceParametersPtrInput added in v5.69.0

type BackupInstanceKubernetesClusterBackupDatasourceParametersPtrInput interface {
	pulumi.Input

	ToBackupInstanceKubernetesClusterBackupDatasourceParametersPtrOutput() BackupInstanceKubernetesClusterBackupDatasourceParametersPtrOutput
	ToBackupInstanceKubernetesClusterBackupDatasourceParametersPtrOutputWithContext(context.Context) BackupInstanceKubernetesClusterBackupDatasourceParametersPtrOutput
}

BackupInstanceKubernetesClusterBackupDatasourceParametersPtrInput is an input type that accepts BackupInstanceKubernetesClusterBackupDatasourceParametersArgs, BackupInstanceKubernetesClusterBackupDatasourceParametersPtr and BackupInstanceKubernetesClusterBackupDatasourceParametersPtrOutput values. You can construct a concrete instance of `BackupInstanceKubernetesClusterBackupDatasourceParametersPtrInput` via:

        BackupInstanceKubernetesClusterBackupDatasourceParametersArgs{...}

or:

        nil

type BackupInstanceKubernetesClusterBackupDatasourceParametersPtrOutput added in v5.69.0

type BackupInstanceKubernetesClusterBackupDatasourceParametersPtrOutput struct{ *pulumi.OutputState }

func (BackupInstanceKubernetesClusterBackupDatasourceParametersPtrOutput) ClusterScopedResourcesEnabled added in v5.69.0

Whether to include cluster scope resources during backup. Default to `false`. Changing this forces a new resource to be created.

func (BackupInstanceKubernetesClusterBackupDatasourceParametersPtrOutput) Elem added in v5.69.0

func (BackupInstanceKubernetesClusterBackupDatasourceParametersPtrOutput) ElementType added in v5.69.0

func (BackupInstanceKubernetesClusterBackupDatasourceParametersPtrOutput) ExcludedNamespaces added in v5.69.0

Specifies the namespaces to be excluded during backup. Changing this forces a new resource to be created.

func (BackupInstanceKubernetesClusterBackupDatasourceParametersPtrOutput) ExcludedResourceTypes added in v5.69.0

Specifies the resource types to be excluded during backup. Changing this forces a new resource to be created.

func (BackupInstanceKubernetesClusterBackupDatasourceParametersPtrOutput) IncludedNamespaces added in v5.69.0

Specifies the namespaces to be included during backup. Changing this forces a new resource to be created.

func (BackupInstanceKubernetesClusterBackupDatasourceParametersPtrOutput) IncludedResourceTypes added in v5.69.0

Specifies the resource types to be included during backup. Changing this forces a new resource to be created.

func (BackupInstanceKubernetesClusterBackupDatasourceParametersPtrOutput) LabelSelectors added in v5.69.0

Specifies the resources with such label selectors to be included during backup. Changing this forces a new resource to be created.

func (BackupInstanceKubernetesClusterBackupDatasourceParametersPtrOutput) ToBackupInstanceKubernetesClusterBackupDatasourceParametersPtrOutput added in v5.69.0

func (BackupInstanceKubernetesClusterBackupDatasourceParametersPtrOutput) ToBackupInstanceKubernetesClusterBackupDatasourceParametersPtrOutputWithContext added in v5.69.0

func (o BackupInstanceKubernetesClusterBackupDatasourceParametersPtrOutput) ToBackupInstanceKubernetesClusterBackupDatasourceParametersPtrOutputWithContext(ctx context.Context) BackupInstanceKubernetesClusterBackupDatasourceParametersPtrOutput

func (BackupInstanceKubernetesClusterBackupDatasourceParametersPtrOutput) VolumeSnapshotEnabled added in v5.69.0

Whether to take volume snapshots during backup. Default to `false`. Changing this forces a new resource to be created.

type BackupInstanceKubernetesClusterInput added in v5.69.0

type BackupInstanceKubernetesClusterInput interface {
	pulumi.Input

	ToBackupInstanceKubernetesClusterOutput() BackupInstanceKubernetesClusterOutput
	ToBackupInstanceKubernetesClusterOutputWithContext(ctx context.Context) BackupInstanceKubernetesClusterOutput
}

type BackupInstanceKubernetesClusterMap added in v5.69.0

type BackupInstanceKubernetesClusterMap map[string]BackupInstanceKubernetesClusterInput

func (BackupInstanceKubernetesClusterMap) ElementType added in v5.69.0

func (BackupInstanceKubernetesClusterMap) ToBackupInstanceKubernetesClusterMapOutput added in v5.69.0

func (i BackupInstanceKubernetesClusterMap) ToBackupInstanceKubernetesClusterMapOutput() BackupInstanceKubernetesClusterMapOutput

func (BackupInstanceKubernetesClusterMap) ToBackupInstanceKubernetesClusterMapOutputWithContext added in v5.69.0

func (i BackupInstanceKubernetesClusterMap) ToBackupInstanceKubernetesClusterMapOutputWithContext(ctx context.Context) BackupInstanceKubernetesClusterMapOutput

type BackupInstanceKubernetesClusterMapInput added in v5.69.0

type BackupInstanceKubernetesClusterMapInput interface {
	pulumi.Input

	ToBackupInstanceKubernetesClusterMapOutput() BackupInstanceKubernetesClusterMapOutput
	ToBackupInstanceKubernetesClusterMapOutputWithContext(context.Context) BackupInstanceKubernetesClusterMapOutput
}

BackupInstanceKubernetesClusterMapInput is an input type that accepts BackupInstanceKubernetesClusterMap and BackupInstanceKubernetesClusterMapOutput values. You can construct a concrete instance of `BackupInstanceKubernetesClusterMapInput` via:

BackupInstanceKubernetesClusterMap{ "key": BackupInstanceKubernetesClusterArgs{...} }

type BackupInstanceKubernetesClusterMapOutput added in v5.69.0

type BackupInstanceKubernetesClusterMapOutput struct{ *pulumi.OutputState }

func (BackupInstanceKubernetesClusterMapOutput) ElementType added in v5.69.0

func (BackupInstanceKubernetesClusterMapOutput) MapIndex added in v5.69.0

func (BackupInstanceKubernetesClusterMapOutput) ToBackupInstanceKubernetesClusterMapOutput added in v5.69.0

func (o BackupInstanceKubernetesClusterMapOutput) ToBackupInstanceKubernetesClusterMapOutput() BackupInstanceKubernetesClusterMapOutput

func (BackupInstanceKubernetesClusterMapOutput) ToBackupInstanceKubernetesClusterMapOutputWithContext added in v5.69.0

func (o BackupInstanceKubernetesClusterMapOutput) ToBackupInstanceKubernetesClusterMapOutputWithContext(ctx context.Context) BackupInstanceKubernetesClusterMapOutput

type BackupInstanceKubernetesClusterOutput added in v5.69.0

type BackupInstanceKubernetesClusterOutput struct{ *pulumi.OutputState }

func (BackupInstanceKubernetesClusterOutput) BackupDatasourceParameters added in v5.69.0

A `backupDatasourceParameters` block as defined below.

func (BackupInstanceKubernetesClusterOutput) BackupPolicyId added in v5.69.0

The ID of the Backup Policy. Changing this forces a new resource to be created.

func (BackupInstanceKubernetesClusterOutput) ElementType added in v5.69.0

func (BackupInstanceKubernetesClusterOutput) KubernetesClusterId added in v5.69.0

The ID of the Kubernetes Cluster. Changing this forces a new resource to be created.

func (BackupInstanceKubernetesClusterOutput) Location added in v5.69.0

The location of the Backup Instance Kubernetes Cluster. Changing this forces a new resource to be created.

func (BackupInstanceKubernetesClusterOutput) Name added in v5.69.0

The name which should be used for this Backup Instance Kubernetes Cluster. Changing this forces a new resource to be created.

func (BackupInstanceKubernetesClusterOutput) SnapshotResourceGroupName added in v5.69.0

func (o BackupInstanceKubernetesClusterOutput) SnapshotResourceGroupName() pulumi.StringOutput

The name of the Resource Group where snapshots are stored. Changing this forces a new resource to be created.

func (BackupInstanceKubernetesClusterOutput) ToBackupInstanceKubernetesClusterOutput added in v5.69.0

func (o BackupInstanceKubernetesClusterOutput) ToBackupInstanceKubernetesClusterOutput() BackupInstanceKubernetesClusterOutput

func (BackupInstanceKubernetesClusterOutput) ToBackupInstanceKubernetesClusterOutputWithContext added in v5.69.0

func (o BackupInstanceKubernetesClusterOutput) ToBackupInstanceKubernetesClusterOutputWithContext(ctx context.Context) BackupInstanceKubernetesClusterOutput

func (BackupInstanceKubernetesClusterOutput) VaultId added in v5.69.0

The ID of the Backup Vault within which the Backup Instance Kubernetes Cluster should exist. Changing this forces a new resource to be created.

type BackupInstanceKubernetesClusterState added in v5.69.0

type BackupInstanceKubernetesClusterState struct {
	// A `backupDatasourceParameters` block as defined below.
	BackupDatasourceParameters BackupInstanceKubernetesClusterBackupDatasourceParametersPtrInput
	// The ID of the Backup Policy. Changing this forces a new resource to be created.
	BackupPolicyId pulumi.StringPtrInput
	// The ID of the Kubernetes Cluster. Changing this forces a new resource to be created.
	KubernetesClusterId pulumi.StringPtrInput
	// The location of the Backup Instance Kubernetes Cluster. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The name which should be used for this Backup Instance Kubernetes Cluster. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the Resource Group where snapshots are stored. Changing this forces a new resource to be created.
	SnapshotResourceGroupName pulumi.StringPtrInput
	// The ID of the Backup Vault within which the Backup Instance Kubernetes Cluster should exist. Changing this forces a new resource to be created.
	VaultId pulumi.StringPtrInput
}

func (BackupInstanceKubernetesClusterState) ElementType added in v5.69.0

type BackupInstancePostgresql

type BackupInstancePostgresql struct {
	pulumi.CustomResourceState

	// The ID of the Backup Policy.
	BackupPolicyId pulumi.StringOutput `pulumi:"backupPolicyId"`
	// The ID or versionless ID of the key vault secret which stores the connection string of the database.
	DatabaseCredentialKeyVaultSecretId pulumi.StringPtrOutput `pulumi:"databaseCredentialKeyVaultSecretId"`
	// The ID of the source database. Changing this forces a new Backup Instance PostgreSQL to be created.
	DatabaseId pulumi.StringOutput `pulumi:"databaseId"`
	// The location of the source database. Changing this forces a new Backup Instance PostgreSQL to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// The name which should be used for this Backup Instance PostgreSQL. Changing this forces a new Backup Instance PostgreSQL to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the Backup Vault within which the PostgreSQL Backup Instance should exist. Changing this forces a new Backup Instance PostgreSQL to be created.
	VaultId pulumi.StringOutput `pulumi:"vaultId"`
}

Manages a Backup Instance to back up PostgreSQL.

> **Note:** Before using this resource, there are some prerequisite permissions for configure backup and restore. See more details from <https://docs.microsoft.com/azure/backup/backup-azure-database-postgresql#prerequisite-permissions-for-configure-backup-and-restore>.

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/authorization"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/dataprotection"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/keyvault"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/postgresql"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		current, err := core.GetClientConfig(ctx, nil, nil)
		if err != nil {
			return err
		}
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := postgresql.NewServer(ctx, "example", &postgresql.ServerArgs{
			Name:                       pulumi.String("example"),
			Location:                   example.Location,
			ResourceGroupName:          example.Name,
			SkuName:                    pulumi.String("B_Gen5_2"),
			StorageMb:                  pulumi.Int(5120),
			BackupRetentionDays:        pulumi.Int(7),
			GeoRedundantBackupEnabled:  pulumi.Bool(false),
			AutoGrowEnabled:            pulumi.Bool(true),
			AdministratorLogin:         pulumi.String("psqladmin"),
			AdministratorLoginPassword: pulumi.String("H@Sh1CoR3!"),
			Version:                    pulumi.String("9.5"),
			SslEnforcementEnabled:      pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = postgresql.NewFirewallRule(ctx, "example", &postgresql.FirewallRuleArgs{
			Name:              pulumi.String("AllowAllWindowsAzureIps"),
			ResourceGroupName: example.Name,
			ServerName:        exampleServer.Name,
			StartIpAddress:    pulumi.String("0.0.0.0"),
			EndIpAddress:      pulumi.String("0.0.0.0"),
		})
		if err != nil {
			return err
		}
		exampleDatabase, err := postgresql.NewDatabase(ctx, "example", &postgresql.DatabaseArgs{
			Name:              pulumi.String("example"),
			ResourceGroupName: example.Name,
			ServerName:        exampleServer.Name,
			Charset:           pulumi.String("UTF8"),
			Collation:         pulumi.String("English_United States.1252"),
		})
		if err != nil {
			return err
		}
		exampleBackupVault, err := dataprotection.NewBackupVault(ctx, "example", &dataprotection.BackupVaultArgs{
			Name:              pulumi.String("example"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
			DatastoreType:     pulumi.String("VaultStore"),
			Redundancy:        pulumi.String("LocallyRedundant"),
			Identity: &dataprotection.BackupVaultIdentityArgs{
				Type: pulumi.String("SystemAssigned"),
			},
		})
		if err != nil {
			return err
		}
		exampleKeyVault, err := keyvault.NewKeyVault(ctx, "example", &keyvault.KeyVaultArgs{
			Name:                    pulumi.String("example"),
			Location:                example.Location,
			ResourceGroupName:       example.Name,
			TenantId:                pulumi.String(current.TenantId),
			SkuName:                 pulumi.String("premium"),
			SoftDeleteRetentionDays: pulumi.Int(7),
			AccessPolicies: keyvault.KeyVaultAccessPolicyArray{
				&keyvault.KeyVaultAccessPolicyArgs{
					TenantId: pulumi.String(current.TenantId),
					ObjectId: pulumi.String(current.ObjectId),
					KeyPermissions: pulumi.StringArray{
						pulumi.String("Create"),
						pulumi.String("Get"),
					},
					SecretPermissions: pulumi.StringArray{
						pulumi.String("Set"),
						pulumi.String("Get"),
						pulumi.String("Delete"),
						pulumi.String("Purge"),
						pulumi.String("Recover"),
					},
				},
				&keyvault.KeyVaultAccessPolicyArgs{
					TenantId: exampleBackupVault.Identity.ApplyT(func(identity dataprotection.BackupVaultIdentity) (*string, error) {
						return &identity.TenantId, nil
					}).(pulumi.StringPtrOutput),
					ObjectId: exampleBackupVault.Identity.ApplyT(func(identity dataprotection.BackupVaultIdentity) (*string, error) {
						return &identity.PrincipalId, nil
					}).(pulumi.StringPtrOutput),
					KeyPermissions: pulumi.StringArray{
						pulumi.String("Create"),
						pulumi.String("Get"),
					},
					SecretPermissions: pulumi.StringArray{
						pulumi.String("Set"),
						pulumi.String("Get"),
						pulumi.String("Delete"),
						pulumi.String("Purge"),
						pulumi.String("Recover"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		exampleSecret, err := keyvault.NewSecret(ctx, "example", &keyvault.SecretArgs{
			Name: pulumi.String("example"),
			Value: pulumi.All(exampleServer.Name, exampleDatabase.Name, exampleServer.Name).ApplyT(func(_args []interface{}) (string, error) {
				exampleServerName := _args[0].(string)
				exampleDatabaseName := _args[1].(string)
				exampleServerName1 := _args[2].(string)
				return fmt.Sprintf("Server=%v.postgres.database.azure.com;Database=%v;Port=5432;User Id=psqladmin@%v;Password=H@Sh1CoR3!;Ssl Mode=Require;", exampleServerName, exampleDatabaseName, exampleServerName1), nil
			}).(pulumi.StringOutput),
			KeyVaultId: exampleKeyVault.ID(),
		})
		if err != nil {
			return err
		}
		exampleBackupPolicyPostgresql, err := dataprotection.NewBackupPolicyPostgresql(ctx, "example", &dataprotection.BackupPolicyPostgresqlArgs{
			Name:              pulumi.String("example"),
			ResourceGroupName: example.Name,
			VaultName:         exampleBackupVault.Name,
			BackupRepeatingTimeIntervals: pulumi.StringArray{
				pulumi.String("R/2021-05-23T02:30:00+00:00/P1W"),
			},
			DefaultRetentionDuration: pulumi.String("P4M"),
		})
		if err != nil {
			return err
		}
		_, err = authorization.NewAssignment(ctx, "example", &authorization.AssignmentArgs{
			Scope:              exampleServer.ID(),
			RoleDefinitionName: pulumi.String("Reader"),
			PrincipalId: exampleBackupVault.Identity.ApplyT(func(identity dataprotection.BackupVaultIdentity) (*string, error) {
				return &identity.PrincipalId, nil
			}).(pulumi.StringPtrOutput),
		})
		if err != nil {
			return err
		}
		_, err = dataprotection.NewBackupInstancePostgresql(ctx, "example", &dataprotection.BackupInstancePostgresqlArgs{
			Name:                               pulumi.String("example"),
			Location:                           example.Location,
			VaultId:                            exampleBackupVault.ID(),
			DatabaseId:                         exampleDatabase.ID(),
			BackupPolicyId:                     exampleBackupPolicyPostgresql.ID(),
			DatabaseCredentialKeyVaultSecretId: exampleSecret.VersionlessId,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Backup Instance PostgreSQL can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:dataprotection/backupInstancePostgresql:BackupInstancePostgresql example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataProtection/backupVaults/vault1/backupInstances/backupInstance1 ```

func GetBackupInstancePostgresql

func GetBackupInstancePostgresql(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BackupInstancePostgresqlState, opts ...pulumi.ResourceOption) (*BackupInstancePostgresql, error)

GetBackupInstancePostgresql gets an existing BackupInstancePostgresql 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 NewBackupInstancePostgresql

func NewBackupInstancePostgresql(ctx *pulumi.Context,
	name string, args *BackupInstancePostgresqlArgs, opts ...pulumi.ResourceOption) (*BackupInstancePostgresql, error)

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

func (*BackupInstancePostgresql) ElementType

func (*BackupInstancePostgresql) ElementType() reflect.Type

func (*BackupInstancePostgresql) ToBackupInstancePostgresqlOutput

func (i *BackupInstancePostgresql) ToBackupInstancePostgresqlOutput() BackupInstancePostgresqlOutput

func (*BackupInstancePostgresql) ToBackupInstancePostgresqlOutputWithContext

func (i *BackupInstancePostgresql) ToBackupInstancePostgresqlOutputWithContext(ctx context.Context) BackupInstancePostgresqlOutput

type BackupInstancePostgresqlArgs

type BackupInstancePostgresqlArgs struct {
	// The ID of the Backup Policy.
	BackupPolicyId pulumi.StringInput
	// The ID or versionless ID of the key vault secret which stores the connection string of the database.
	DatabaseCredentialKeyVaultSecretId pulumi.StringPtrInput
	// The ID of the source database. Changing this forces a new Backup Instance PostgreSQL to be created.
	DatabaseId pulumi.StringInput
	// The location of the source database. Changing this forces a new Backup Instance PostgreSQL to be created.
	Location pulumi.StringPtrInput
	// The name which should be used for this Backup Instance PostgreSQL. Changing this forces a new Backup Instance PostgreSQL to be created.
	Name pulumi.StringPtrInput
	// The ID of the Backup Vault within which the PostgreSQL Backup Instance should exist. Changing this forces a new Backup Instance PostgreSQL to be created.
	VaultId pulumi.StringInput
}

The set of arguments for constructing a BackupInstancePostgresql resource.

func (BackupInstancePostgresqlArgs) ElementType

type BackupInstancePostgresqlArray

type BackupInstancePostgresqlArray []BackupInstancePostgresqlInput

func (BackupInstancePostgresqlArray) ElementType

func (BackupInstancePostgresqlArray) ToBackupInstancePostgresqlArrayOutput

func (i BackupInstancePostgresqlArray) ToBackupInstancePostgresqlArrayOutput() BackupInstancePostgresqlArrayOutput

func (BackupInstancePostgresqlArray) ToBackupInstancePostgresqlArrayOutputWithContext

func (i BackupInstancePostgresqlArray) ToBackupInstancePostgresqlArrayOutputWithContext(ctx context.Context) BackupInstancePostgresqlArrayOutput

type BackupInstancePostgresqlArrayInput

type BackupInstancePostgresqlArrayInput interface {
	pulumi.Input

	ToBackupInstancePostgresqlArrayOutput() BackupInstancePostgresqlArrayOutput
	ToBackupInstancePostgresqlArrayOutputWithContext(context.Context) BackupInstancePostgresqlArrayOutput
}

BackupInstancePostgresqlArrayInput is an input type that accepts BackupInstancePostgresqlArray and BackupInstancePostgresqlArrayOutput values. You can construct a concrete instance of `BackupInstancePostgresqlArrayInput` via:

BackupInstancePostgresqlArray{ BackupInstancePostgresqlArgs{...} }

type BackupInstancePostgresqlArrayOutput

type BackupInstancePostgresqlArrayOutput struct{ *pulumi.OutputState }

func (BackupInstancePostgresqlArrayOutput) ElementType

func (BackupInstancePostgresqlArrayOutput) Index

func (BackupInstancePostgresqlArrayOutput) ToBackupInstancePostgresqlArrayOutput

func (o BackupInstancePostgresqlArrayOutput) ToBackupInstancePostgresqlArrayOutput() BackupInstancePostgresqlArrayOutput

func (BackupInstancePostgresqlArrayOutput) ToBackupInstancePostgresqlArrayOutputWithContext

func (o BackupInstancePostgresqlArrayOutput) ToBackupInstancePostgresqlArrayOutputWithContext(ctx context.Context) BackupInstancePostgresqlArrayOutput

type BackupInstancePostgresqlInput

type BackupInstancePostgresqlInput interface {
	pulumi.Input

	ToBackupInstancePostgresqlOutput() BackupInstancePostgresqlOutput
	ToBackupInstancePostgresqlOutputWithContext(ctx context.Context) BackupInstancePostgresqlOutput
}

type BackupInstancePostgresqlMap

type BackupInstancePostgresqlMap map[string]BackupInstancePostgresqlInput

func (BackupInstancePostgresqlMap) ElementType

func (BackupInstancePostgresqlMap) ToBackupInstancePostgresqlMapOutput

func (i BackupInstancePostgresqlMap) ToBackupInstancePostgresqlMapOutput() BackupInstancePostgresqlMapOutput

func (BackupInstancePostgresqlMap) ToBackupInstancePostgresqlMapOutputWithContext

func (i BackupInstancePostgresqlMap) ToBackupInstancePostgresqlMapOutputWithContext(ctx context.Context) BackupInstancePostgresqlMapOutput

type BackupInstancePostgresqlMapInput

type BackupInstancePostgresqlMapInput interface {
	pulumi.Input

	ToBackupInstancePostgresqlMapOutput() BackupInstancePostgresqlMapOutput
	ToBackupInstancePostgresqlMapOutputWithContext(context.Context) BackupInstancePostgresqlMapOutput
}

BackupInstancePostgresqlMapInput is an input type that accepts BackupInstancePostgresqlMap and BackupInstancePostgresqlMapOutput values. You can construct a concrete instance of `BackupInstancePostgresqlMapInput` via:

BackupInstancePostgresqlMap{ "key": BackupInstancePostgresqlArgs{...} }

type BackupInstancePostgresqlMapOutput

type BackupInstancePostgresqlMapOutput struct{ *pulumi.OutputState }

func (BackupInstancePostgresqlMapOutput) ElementType

func (BackupInstancePostgresqlMapOutput) MapIndex

func (BackupInstancePostgresqlMapOutput) ToBackupInstancePostgresqlMapOutput

func (o BackupInstancePostgresqlMapOutput) ToBackupInstancePostgresqlMapOutput() BackupInstancePostgresqlMapOutput

func (BackupInstancePostgresqlMapOutput) ToBackupInstancePostgresqlMapOutputWithContext

func (o BackupInstancePostgresqlMapOutput) ToBackupInstancePostgresqlMapOutputWithContext(ctx context.Context) BackupInstancePostgresqlMapOutput

type BackupInstancePostgresqlOutput

type BackupInstancePostgresqlOutput struct{ *pulumi.OutputState }

func (BackupInstancePostgresqlOutput) BackupPolicyId added in v5.5.0

The ID of the Backup Policy.

func (BackupInstancePostgresqlOutput) DatabaseCredentialKeyVaultSecretId added in v5.5.0

func (o BackupInstancePostgresqlOutput) DatabaseCredentialKeyVaultSecretId() pulumi.StringPtrOutput

The ID or versionless ID of the key vault secret which stores the connection string of the database.

func (BackupInstancePostgresqlOutput) DatabaseId added in v5.5.0

The ID of the source database. Changing this forces a new Backup Instance PostgreSQL to be created.

func (BackupInstancePostgresqlOutput) ElementType

func (BackupInstancePostgresqlOutput) Location added in v5.5.0

The location of the source database. Changing this forces a new Backup Instance PostgreSQL to be created.

func (BackupInstancePostgresqlOutput) Name added in v5.5.0

The name which should be used for this Backup Instance PostgreSQL. Changing this forces a new Backup Instance PostgreSQL to be created.

func (BackupInstancePostgresqlOutput) ToBackupInstancePostgresqlOutput

func (o BackupInstancePostgresqlOutput) ToBackupInstancePostgresqlOutput() BackupInstancePostgresqlOutput

func (BackupInstancePostgresqlOutput) ToBackupInstancePostgresqlOutputWithContext

func (o BackupInstancePostgresqlOutput) ToBackupInstancePostgresqlOutputWithContext(ctx context.Context) BackupInstancePostgresqlOutput

func (BackupInstancePostgresqlOutput) VaultId added in v5.5.0

The ID of the Backup Vault within which the PostgreSQL Backup Instance should exist. Changing this forces a new Backup Instance PostgreSQL to be created.

type BackupInstancePostgresqlState

type BackupInstancePostgresqlState struct {
	// The ID of the Backup Policy.
	BackupPolicyId pulumi.StringPtrInput
	// The ID or versionless ID of the key vault secret which stores the connection string of the database.
	DatabaseCredentialKeyVaultSecretId pulumi.StringPtrInput
	// The ID of the source database. Changing this forces a new Backup Instance PostgreSQL to be created.
	DatabaseId pulumi.StringPtrInput
	// The location of the source database. Changing this forces a new Backup Instance PostgreSQL to be created.
	Location pulumi.StringPtrInput
	// The name which should be used for this Backup Instance PostgreSQL. Changing this forces a new Backup Instance PostgreSQL to be created.
	Name pulumi.StringPtrInput
	// The ID of the Backup Vault within which the PostgreSQL Backup Instance should exist. Changing this forces a new Backup Instance PostgreSQL to be created.
	VaultId pulumi.StringPtrInput
}

func (BackupInstancePostgresqlState) ElementType

type BackupPolicyBlobStorage

type BackupPolicyBlobStorage struct {
	pulumi.CustomResourceState

	// The name which should be used for this Backup Policy Blob Storage. Changing this forces a new Backup Policy Blob Storage to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// Duration of deletion after given timespan. It should follow `ISO 8601` duration format. Changing this forces a new Backup Policy Blob Storage to be created.
	RetentionDuration pulumi.StringOutput `pulumi:"retentionDuration"`
	// The ID of the Backup Vault within which the Backup Policy Blob Storage should exist. Changing this forces a new Backup Policy Blob Storage to be created.
	VaultId pulumi.StringOutput `pulumi:"vaultId"`
}

Manages a Backup Policy Blob Storage.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/dataprotection"
"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-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleBackupVault, err := dataprotection.NewBackupVault(ctx, "example", &dataprotection.BackupVaultArgs{
			Name:              pulumi.String("example-backup-vault"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
			DatastoreType:     pulumi.String("VaultStore"),
			Redundancy:        pulumi.String("LocallyRedundant"),
		})
		if err != nil {
			return err
		}
		_, err = dataprotection.NewBackupPolicyBlobStorage(ctx, "example", &dataprotection.BackupPolicyBlobStorageArgs{
			Name:              pulumi.String("example-backup-policy"),
			VaultId:           exampleBackupVault.ID(),
			RetentionDuration: pulumi.String("P30D"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Backup Policy Blob Storages can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:dataprotection/backupPolicyBlobStorage:BackupPolicyBlobStorage example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataProtection/backupVaults/vault1/backupPolicies/backupPolicy1 ```

func GetBackupPolicyBlobStorage

func GetBackupPolicyBlobStorage(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BackupPolicyBlobStorageState, opts ...pulumi.ResourceOption) (*BackupPolicyBlobStorage, error)

GetBackupPolicyBlobStorage gets an existing BackupPolicyBlobStorage 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 NewBackupPolicyBlobStorage

func NewBackupPolicyBlobStorage(ctx *pulumi.Context,
	name string, args *BackupPolicyBlobStorageArgs, opts ...pulumi.ResourceOption) (*BackupPolicyBlobStorage, error)

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

func (*BackupPolicyBlobStorage) ElementType

func (*BackupPolicyBlobStorage) ElementType() reflect.Type

func (*BackupPolicyBlobStorage) ToBackupPolicyBlobStorageOutput

func (i *BackupPolicyBlobStorage) ToBackupPolicyBlobStorageOutput() BackupPolicyBlobStorageOutput

func (*BackupPolicyBlobStorage) ToBackupPolicyBlobStorageOutputWithContext

func (i *BackupPolicyBlobStorage) ToBackupPolicyBlobStorageOutputWithContext(ctx context.Context) BackupPolicyBlobStorageOutput

type BackupPolicyBlobStorageArgs

type BackupPolicyBlobStorageArgs struct {
	// The name which should be used for this Backup Policy Blob Storage. Changing this forces a new Backup Policy Blob Storage to be created.
	Name pulumi.StringPtrInput
	// Duration of deletion after given timespan. It should follow `ISO 8601` duration format. Changing this forces a new Backup Policy Blob Storage to be created.
	RetentionDuration pulumi.StringInput
	// The ID of the Backup Vault within which the Backup Policy Blob Storage should exist. Changing this forces a new Backup Policy Blob Storage to be created.
	VaultId pulumi.StringInput
}

The set of arguments for constructing a BackupPolicyBlobStorage resource.

func (BackupPolicyBlobStorageArgs) ElementType

type BackupPolicyBlobStorageArray

type BackupPolicyBlobStorageArray []BackupPolicyBlobStorageInput

func (BackupPolicyBlobStorageArray) ElementType

func (BackupPolicyBlobStorageArray) ToBackupPolicyBlobStorageArrayOutput

func (i BackupPolicyBlobStorageArray) ToBackupPolicyBlobStorageArrayOutput() BackupPolicyBlobStorageArrayOutput

func (BackupPolicyBlobStorageArray) ToBackupPolicyBlobStorageArrayOutputWithContext

func (i BackupPolicyBlobStorageArray) ToBackupPolicyBlobStorageArrayOutputWithContext(ctx context.Context) BackupPolicyBlobStorageArrayOutput

type BackupPolicyBlobStorageArrayInput

type BackupPolicyBlobStorageArrayInput interface {
	pulumi.Input

	ToBackupPolicyBlobStorageArrayOutput() BackupPolicyBlobStorageArrayOutput
	ToBackupPolicyBlobStorageArrayOutputWithContext(context.Context) BackupPolicyBlobStorageArrayOutput
}

BackupPolicyBlobStorageArrayInput is an input type that accepts BackupPolicyBlobStorageArray and BackupPolicyBlobStorageArrayOutput values. You can construct a concrete instance of `BackupPolicyBlobStorageArrayInput` via:

BackupPolicyBlobStorageArray{ BackupPolicyBlobStorageArgs{...} }

type BackupPolicyBlobStorageArrayOutput

type BackupPolicyBlobStorageArrayOutput struct{ *pulumi.OutputState }

func (BackupPolicyBlobStorageArrayOutput) ElementType

func (BackupPolicyBlobStorageArrayOutput) Index

func (BackupPolicyBlobStorageArrayOutput) ToBackupPolicyBlobStorageArrayOutput

func (o BackupPolicyBlobStorageArrayOutput) ToBackupPolicyBlobStorageArrayOutput() BackupPolicyBlobStorageArrayOutput

func (BackupPolicyBlobStorageArrayOutput) ToBackupPolicyBlobStorageArrayOutputWithContext

func (o BackupPolicyBlobStorageArrayOutput) ToBackupPolicyBlobStorageArrayOutputWithContext(ctx context.Context) BackupPolicyBlobStorageArrayOutput

type BackupPolicyBlobStorageInput

type BackupPolicyBlobStorageInput interface {
	pulumi.Input

	ToBackupPolicyBlobStorageOutput() BackupPolicyBlobStorageOutput
	ToBackupPolicyBlobStorageOutputWithContext(ctx context.Context) BackupPolicyBlobStorageOutput
}

type BackupPolicyBlobStorageMap

type BackupPolicyBlobStorageMap map[string]BackupPolicyBlobStorageInput

func (BackupPolicyBlobStorageMap) ElementType

func (BackupPolicyBlobStorageMap) ElementType() reflect.Type

func (BackupPolicyBlobStorageMap) ToBackupPolicyBlobStorageMapOutput

func (i BackupPolicyBlobStorageMap) ToBackupPolicyBlobStorageMapOutput() BackupPolicyBlobStorageMapOutput

func (BackupPolicyBlobStorageMap) ToBackupPolicyBlobStorageMapOutputWithContext

func (i BackupPolicyBlobStorageMap) ToBackupPolicyBlobStorageMapOutputWithContext(ctx context.Context) BackupPolicyBlobStorageMapOutput

type BackupPolicyBlobStorageMapInput

type BackupPolicyBlobStorageMapInput interface {
	pulumi.Input

	ToBackupPolicyBlobStorageMapOutput() BackupPolicyBlobStorageMapOutput
	ToBackupPolicyBlobStorageMapOutputWithContext(context.Context) BackupPolicyBlobStorageMapOutput
}

BackupPolicyBlobStorageMapInput is an input type that accepts BackupPolicyBlobStorageMap and BackupPolicyBlobStorageMapOutput values. You can construct a concrete instance of `BackupPolicyBlobStorageMapInput` via:

BackupPolicyBlobStorageMap{ "key": BackupPolicyBlobStorageArgs{...} }

type BackupPolicyBlobStorageMapOutput

type BackupPolicyBlobStorageMapOutput struct{ *pulumi.OutputState }

func (BackupPolicyBlobStorageMapOutput) ElementType

func (BackupPolicyBlobStorageMapOutput) MapIndex

func (BackupPolicyBlobStorageMapOutput) ToBackupPolicyBlobStorageMapOutput

func (o BackupPolicyBlobStorageMapOutput) ToBackupPolicyBlobStorageMapOutput() BackupPolicyBlobStorageMapOutput

func (BackupPolicyBlobStorageMapOutput) ToBackupPolicyBlobStorageMapOutputWithContext

func (o BackupPolicyBlobStorageMapOutput) ToBackupPolicyBlobStorageMapOutputWithContext(ctx context.Context) BackupPolicyBlobStorageMapOutput

type BackupPolicyBlobStorageOutput

type BackupPolicyBlobStorageOutput struct{ *pulumi.OutputState }

func (BackupPolicyBlobStorageOutput) ElementType

func (BackupPolicyBlobStorageOutput) Name added in v5.5.0

The name which should be used for this Backup Policy Blob Storage. Changing this forces a new Backup Policy Blob Storage to be created.

func (BackupPolicyBlobStorageOutput) RetentionDuration added in v5.5.0

func (o BackupPolicyBlobStorageOutput) RetentionDuration() pulumi.StringOutput

Duration of deletion after given timespan. It should follow `ISO 8601` duration format. Changing this forces a new Backup Policy Blob Storage to be created.

func (BackupPolicyBlobStorageOutput) ToBackupPolicyBlobStorageOutput

func (o BackupPolicyBlobStorageOutput) ToBackupPolicyBlobStorageOutput() BackupPolicyBlobStorageOutput

func (BackupPolicyBlobStorageOutput) ToBackupPolicyBlobStorageOutputWithContext

func (o BackupPolicyBlobStorageOutput) ToBackupPolicyBlobStorageOutputWithContext(ctx context.Context) BackupPolicyBlobStorageOutput

func (BackupPolicyBlobStorageOutput) VaultId added in v5.5.0

The ID of the Backup Vault within which the Backup Policy Blob Storage should exist. Changing this forces a new Backup Policy Blob Storage to be created.

type BackupPolicyBlobStorageState

type BackupPolicyBlobStorageState struct {
	// The name which should be used for this Backup Policy Blob Storage. Changing this forces a new Backup Policy Blob Storage to be created.
	Name pulumi.StringPtrInput
	// Duration of deletion after given timespan. It should follow `ISO 8601` duration format. Changing this forces a new Backup Policy Blob Storage to be created.
	RetentionDuration pulumi.StringPtrInput
	// The ID of the Backup Vault within which the Backup Policy Blob Storage should exist. Changing this forces a new Backup Policy Blob Storage to be created.
	VaultId pulumi.StringPtrInput
}

func (BackupPolicyBlobStorageState) ElementType

type BackupPolicyDisk

type BackupPolicyDisk struct {
	pulumi.CustomResourceState

	// Specifies a list of repeating time interval. It should follow `ISO 8601` repeating time interval . Changing this forces a new Backup Policy Disk to be created.
	BackupRepeatingTimeIntervals pulumi.StringArrayOutput `pulumi:"backupRepeatingTimeIntervals"`
	// The duration of default retention rule. It should follow `ISO 8601` duration format. Changing this forces a new Backup Policy Disk to be created.
	DefaultRetentionDuration pulumi.StringOutput `pulumi:"defaultRetentionDuration"`
	// The name which should be used for this Backup Policy Disk. Changing this forces a new Backup Policy Disk to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// One or more `retentionRule` blocks as defined below. Changing this forces a new Backup Policy Disk to be created.
	RetentionRules BackupPolicyDiskRetentionRuleArrayOutput `pulumi:"retentionRules"`
	// Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new Backup Policy Disk to be created.
	TimeZone pulumi.StringPtrOutput `pulumi:"timeZone"`
	// The ID of the Backup Vault within which the Backup Policy Disk should exist. Changing this forces a new Backup Policy Disk to be created.
	VaultId pulumi.StringOutput `pulumi:"vaultId"`
}

Manages a Backup Policy Disk.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/dataprotection"
"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-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleBackupVault, err := dataprotection.NewBackupVault(ctx, "example", &dataprotection.BackupVaultArgs{
			Name:              pulumi.String("example-backup-vault"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
			DatastoreType:     pulumi.String("VaultStore"),
			Redundancy:        pulumi.String("LocallyRedundant"),
		})
		if err != nil {
			return err
		}
		_, err = dataprotection.NewBackupPolicyDisk(ctx, "example", &dataprotection.BackupPolicyDiskArgs{
			Name:    pulumi.String("example-backup-policy"),
			VaultId: exampleBackupVault.ID(),
			BackupRepeatingTimeIntervals: pulumi.StringArray{
				pulumi.String("R/2021-05-19T06:33:16+00:00/PT4H"),
			},
			DefaultRetentionDuration: pulumi.String("P7D"),
			TimeZone:                 pulumi.String("W. Europe Standard Time"),
			RetentionRules: dataprotection.BackupPolicyDiskRetentionRuleArray{
				&dataprotection.BackupPolicyDiskRetentionRuleArgs{
					Name:     pulumi.String("Daily"),
					Duration: pulumi.String("P7D"),
					Priority: pulumi.Int(25),
					Criteria: &dataprotection.BackupPolicyDiskRetentionRuleCriteriaArgs{
						AbsoluteCriteria: pulumi.String("FirstOfDay"),
					},
				},
				&dataprotection.BackupPolicyDiskRetentionRuleArgs{
					Name:     pulumi.String("Weekly"),
					Duration: pulumi.String("P7D"),
					Priority: pulumi.Int(20),
					Criteria: &dataprotection.BackupPolicyDiskRetentionRuleCriteriaArgs{
						AbsoluteCriteria: pulumi.String("FirstOfWeek"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Backup Policy Disks can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:dataprotection/backupPolicyDisk:BackupPolicyDisk example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataProtection/backupVaults/vault1/backupPolicies/backupPolicy1 ```

func GetBackupPolicyDisk

func GetBackupPolicyDisk(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BackupPolicyDiskState, opts ...pulumi.ResourceOption) (*BackupPolicyDisk, error)

GetBackupPolicyDisk gets an existing BackupPolicyDisk 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 NewBackupPolicyDisk

func NewBackupPolicyDisk(ctx *pulumi.Context,
	name string, args *BackupPolicyDiskArgs, opts ...pulumi.ResourceOption) (*BackupPolicyDisk, error)

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

func (*BackupPolicyDisk) ElementType

func (*BackupPolicyDisk) ElementType() reflect.Type

func (*BackupPolicyDisk) ToBackupPolicyDiskOutput

func (i *BackupPolicyDisk) ToBackupPolicyDiskOutput() BackupPolicyDiskOutput

func (*BackupPolicyDisk) ToBackupPolicyDiskOutputWithContext

func (i *BackupPolicyDisk) ToBackupPolicyDiskOutputWithContext(ctx context.Context) BackupPolicyDiskOutput

type BackupPolicyDiskArgs

type BackupPolicyDiskArgs struct {
	// Specifies a list of repeating time interval. It should follow `ISO 8601` repeating time interval . Changing this forces a new Backup Policy Disk to be created.
	BackupRepeatingTimeIntervals pulumi.StringArrayInput
	// The duration of default retention rule. It should follow `ISO 8601` duration format. Changing this forces a new Backup Policy Disk to be created.
	DefaultRetentionDuration pulumi.StringInput
	// The name which should be used for this Backup Policy Disk. Changing this forces a new Backup Policy Disk to be created.
	Name pulumi.StringPtrInput
	// One or more `retentionRule` blocks as defined below. Changing this forces a new Backup Policy Disk to be created.
	RetentionRules BackupPolicyDiskRetentionRuleArrayInput
	// Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new Backup Policy Disk to be created.
	TimeZone pulumi.StringPtrInput
	// The ID of the Backup Vault within which the Backup Policy Disk should exist. Changing this forces a new Backup Policy Disk to be created.
	VaultId pulumi.StringInput
}

The set of arguments for constructing a BackupPolicyDisk resource.

func (BackupPolicyDiskArgs) ElementType

func (BackupPolicyDiskArgs) ElementType() reflect.Type

type BackupPolicyDiskArray

type BackupPolicyDiskArray []BackupPolicyDiskInput

func (BackupPolicyDiskArray) ElementType

func (BackupPolicyDiskArray) ElementType() reflect.Type

func (BackupPolicyDiskArray) ToBackupPolicyDiskArrayOutput

func (i BackupPolicyDiskArray) ToBackupPolicyDiskArrayOutput() BackupPolicyDiskArrayOutput

func (BackupPolicyDiskArray) ToBackupPolicyDiskArrayOutputWithContext

func (i BackupPolicyDiskArray) ToBackupPolicyDiskArrayOutputWithContext(ctx context.Context) BackupPolicyDiskArrayOutput

type BackupPolicyDiskArrayInput

type BackupPolicyDiskArrayInput interface {
	pulumi.Input

	ToBackupPolicyDiskArrayOutput() BackupPolicyDiskArrayOutput
	ToBackupPolicyDiskArrayOutputWithContext(context.Context) BackupPolicyDiskArrayOutput
}

BackupPolicyDiskArrayInput is an input type that accepts BackupPolicyDiskArray and BackupPolicyDiskArrayOutput values. You can construct a concrete instance of `BackupPolicyDiskArrayInput` via:

BackupPolicyDiskArray{ BackupPolicyDiskArgs{...} }

type BackupPolicyDiskArrayOutput

type BackupPolicyDiskArrayOutput struct{ *pulumi.OutputState }

func (BackupPolicyDiskArrayOutput) ElementType

func (BackupPolicyDiskArrayOutput) Index

func (BackupPolicyDiskArrayOutput) ToBackupPolicyDiskArrayOutput

func (o BackupPolicyDiskArrayOutput) ToBackupPolicyDiskArrayOutput() BackupPolicyDiskArrayOutput

func (BackupPolicyDiskArrayOutput) ToBackupPolicyDiskArrayOutputWithContext

func (o BackupPolicyDiskArrayOutput) ToBackupPolicyDiskArrayOutputWithContext(ctx context.Context) BackupPolicyDiskArrayOutput

type BackupPolicyDiskInput

type BackupPolicyDiskInput interface {
	pulumi.Input

	ToBackupPolicyDiskOutput() BackupPolicyDiskOutput
	ToBackupPolicyDiskOutputWithContext(ctx context.Context) BackupPolicyDiskOutput
}

type BackupPolicyDiskMap

type BackupPolicyDiskMap map[string]BackupPolicyDiskInput

func (BackupPolicyDiskMap) ElementType

func (BackupPolicyDiskMap) ElementType() reflect.Type

func (BackupPolicyDiskMap) ToBackupPolicyDiskMapOutput

func (i BackupPolicyDiskMap) ToBackupPolicyDiskMapOutput() BackupPolicyDiskMapOutput

func (BackupPolicyDiskMap) ToBackupPolicyDiskMapOutputWithContext

func (i BackupPolicyDiskMap) ToBackupPolicyDiskMapOutputWithContext(ctx context.Context) BackupPolicyDiskMapOutput

type BackupPolicyDiskMapInput

type BackupPolicyDiskMapInput interface {
	pulumi.Input

	ToBackupPolicyDiskMapOutput() BackupPolicyDiskMapOutput
	ToBackupPolicyDiskMapOutputWithContext(context.Context) BackupPolicyDiskMapOutput
}

BackupPolicyDiskMapInput is an input type that accepts BackupPolicyDiskMap and BackupPolicyDiskMapOutput values. You can construct a concrete instance of `BackupPolicyDiskMapInput` via:

BackupPolicyDiskMap{ "key": BackupPolicyDiskArgs{...} }

type BackupPolicyDiskMapOutput

type BackupPolicyDiskMapOutput struct{ *pulumi.OutputState }

func (BackupPolicyDiskMapOutput) ElementType

func (BackupPolicyDiskMapOutput) ElementType() reflect.Type

func (BackupPolicyDiskMapOutput) MapIndex

func (BackupPolicyDiskMapOutput) ToBackupPolicyDiskMapOutput

func (o BackupPolicyDiskMapOutput) ToBackupPolicyDiskMapOutput() BackupPolicyDiskMapOutput

func (BackupPolicyDiskMapOutput) ToBackupPolicyDiskMapOutputWithContext

func (o BackupPolicyDiskMapOutput) ToBackupPolicyDiskMapOutputWithContext(ctx context.Context) BackupPolicyDiskMapOutput

type BackupPolicyDiskOutput

type BackupPolicyDiskOutput struct{ *pulumi.OutputState }

func (BackupPolicyDiskOutput) BackupRepeatingTimeIntervals added in v5.5.0

func (o BackupPolicyDiskOutput) BackupRepeatingTimeIntervals() pulumi.StringArrayOutput

Specifies a list of repeating time interval. It should follow `ISO 8601` repeating time interval . Changing this forces a new Backup Policy Disk to be created.

func (BackupPolicyDiskOutput) DefaultRetentionDuration added in v5.5.0

func (o BackupPolicyDiskOutput) DefaultRetentionDuration() pulumi.StringOutput

The duration of default retention rule. It should follow `ISO 8601` duration format. Changing this forces a new Backup Policy Disk to be created.

func (BackupPolicyDiskOutput) ElementType

func (BackupPolicyDiskOutput) ElementType() reflect.Type

func (BackupPolicyDiskOutput) Name added in v5.5.0

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

func (BackupPolicyDiskOutput) RetentionRules added in v5.5.0

One or more `retentionRule` blocks as defined below. Changing this forces a new Backup Policy Disk to be created.

func (BackupPolicyDiskOutput) TimeZone added in v5.61.0

Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new Backup Policy Disk to be created.

func (BackupPolicyDiskOutput) ToBackupPolicyDiskOutput

func (o BackupPolicyDiskOutput) ToBackupPolicyDiskOutput() BackupPolicyDiskOutput

func (BackupPolicyDiskOutput) ToBackupPolicyDiskOutputWithContext

func (o BackupPolicyDiskOutput) ToBackupPolicyDiskOutputWithContext(ctx context.Context) BackupPolicyDiskOutput

func (BackupPolicyDiskOutput) VaultId added in v5.5.0

The ID of the Backup Vault within which the Backup Policy Disk should exist. Changing this forces a new Backup Policy Disk to be created.

type BackupPolicyDiskRetentionRule

type BackupPolicyDiskRetentionRule struct {
	// A `criteria` block as defined below. Changing this forces a new Backup Policy Disk to be created.
	Criteria BackupPolicyDiskRetentionRuleCriteria `pulumi:"criteria"`
	// Duration of deletion after given timespan. It should follow `ISO 8601` duration format. Changing this forces a new Backup Policy Disk to be created.
	Duration string `pulumi:"duration"`
	// The name which should be used for this retention rule. Changing this forces a new Backup Policy Disk to be created.
	Name string `pulumi:"name"`
	// Retention Tag priority. Changing this forces a new Backup Policy Disk to be created.
	Priority int `pulumi:"priority"`
}

type BackupPolicyDiskRetentionRuleArgs

type BackupPolicyDiskRetentionRuleArgs struct {
	// A `criteria` block as defined below. Changing this forces a new Backup Policy Disk to be created.
	Criteria BackupPolicyDiskRetentionRuleCriteriaInput `pulumi:"criteria"`
	// Duration of deletion after given timespan. It should follow `ISO 8601` duration format. Changing this forces a new Backup Policy Disk to be created.
	Duration pulumi.StringInput `pulumi:"duration"`
	// The name which should be used for this retention rule. Changing this forces a new Backup Policy Disk to be created.
	Name pulumi.StringInput `pulumi:"name"`
	// Retention Tag priority. Changing this forces a new Backup Policy Disk to be created.
	Priority pulumi.IntInput `pulumi:"priority"`
}

func (BackupPolicyDiskRetentionRuleArgs) ElementType

func (BackupPolicyDiskRetentionRuleArgs) ToBackupPolicyDiskRetentionRuleOutput

func (i BackupPolicyDiskRetentionRuleArgs) ToBackupPolicyDiskRetentionRuleOutput() BackupPolicyDiskRetentionRuleOutput

func (BackupPolicyDiskRetentionRuleArgs) ToBackupPolicyDiskRetentionRuleOutputWithContext

func (i BackupPolicyDiskRetentionRuleArgs) ToBackupPolicyDiskRetentionRuleOutputWithContext(ctx context.Context) BackupPolicyDiskRetentionRuleOutput

type BackupPolicyDiskRetentionRuleArray

type BackupPolicyDiskRetentionRuleArray []BackupPolicyDiskRetentionRuleInput

func (BackupPolicyDiskRetentionRuleArray) ElementType

func (BackupPolicyDiskRetentionRuleArray) ToBackupPolicyDiskRetentionRuleArrayOutput

func (i BackupPolicyDiskRetentionRuleArray) ToBackupPolicyDiskRetentionRuleArrayOutput() BackupPolicyDiskRetentionRuleArrayOutput

func (BackupPolicyDiskRetentionRuleArray) ToBackupPolicyDiskRetentionRuleArrayOutputWithContext

func (i BackupPolicyDiskRetentionRuleArray) ToBackupPolicyDiskRetentionRuleArrayOutputWithContext(ctx context.Context) BackupPolicyDiskRetentionRuleArrayOutput

type BackupPolicyDiskRetentionRuleArrayInput

type BackupPolicyDiskRetentionRuleArrayInput interface {
	pulumi.Input

	ToBackupPolicyDiskRetentionRuleArrayOutput() BackupPolicyDiskRetentionRuleArrayOutput
	ToBackupPolicyDiskRetentionRuleArrayOutputWithContext(context.Context) BackupPolicyDiskRetentionRuleArrayOutput
}

BackupPolicyDiskRetentionRuleArrayInput is an input type that accepts BackupPolicyDiskRetentionRuleArray and BackupPolicyDiskRetentionRuleArrayOutput values. You can construct a concrete instance of `BackupPolicyDiskRetentionRuleArrayInput` via:

BackupPolicyDiskRetentionRuleArray{ BackupPolicyDiskRetentionRuleArgs{...} }

type BackupPolicyDiskRetentionRuleArrayOutput

type BackupPolicyDiskRetentionRuleArrayOutput struct{ *pulumi.OutputState }

func (BackupPolicyDiskRetentionRuleArrayOutput) ElementType

func (BackupPolicyDiskRetentionRuleArrayOutput) Index

func (BackupPolicyDiskRetentionRuleArrayOutput) ToBackupPolicyDiskRetentionRuleArrayOutput

func (o BackupPolicyDiskRetentionRuleArrayOutput) ToBackupPolicyDiskRetentionRuleArrayOutput() BackupPolicyDiskRetentionRuleArrayOutput

func (BackupPolicyDiskRetentionRuleArrayOutput) ToBackupPolicyDiskRetentionRuleArrayOutputWithContext

func (o BackupPolicyDiskRetentionRuleArrayOutput) ToBackupPolicyDiskRetentionRuleArrayOutputWithContext(ctx context.Context) BackupPolicyDiskRetentionRuleArrayOutput

type BackupPolicyDiskRetentionRuleCriteria

type BackupPolicyDiskRetentionRuleCriteria struct {
	// Possible values are `FirstOfDay` and `FirstOfWeek`. Changing this forces a new Backup Policy Disk to be created.
	AbsoluteCriteria *string `pulumi:"absoluteCriteria"`
}

type BackupPolicyDiskRetentionRuleCriteriaArgs

type BackupPolicyDiskRetentionRuleCriteriaArgs struct {
	// Possible values are `FirstOfDay` and `FirstOfWeek`. Changing this forces a new Backup Policy Disk to be created.
	AbsoluteCriteria pulumi.StringPtrInput `pulumi:"absoluteCriteria"`
}

func (BackupPolicyDiskRetentionRuleCriteriaArgs) ElementType

func (BackupPolicyDiskRetentionRuleCriteriaArgs) ToBackupPolicyDiskRetentionRuleCriteriaOutput

func (i BackupPolicyDiskRetentionRuleCriteriaArgs) ToBackupPolicyDiskRetentionRuleCriteriaOutput() BackupPolicyDiskRetentionRuleCriteriaOutput

func (BackupPolicyDiskRetentionRuleCriteriaArgs) ToBackupPolicyDiskRetentionRuleCriteriaOutputWithContext

func (i BackupPolicyDiskRetentionRuleCriteriaArgs) ToBackupPolicyDiskRetentionRuleCriteriaOutputWithContext(ctx context.Context) BackupPolicyDiskRetentionRuleCriteriaOutput

type BackupPolicyDiskRetentionRuleCriteriaInput

type BackupPolicyDiskRetentionRuleCriteriaInput interface {
	pulumi.Input

	ToBackupPolicyDiskRetentionRuleCriteriaOutput() BackupPolicyDiskRetentionRuleCriteriaOutput
	ToBackupPolicyDiskRetentionRuleCriteriaOutputWithContext(context.Context) BackupPolicyDiskRetentionRuleCriteriaOutput
}

BackupPolicyDiskRetentionRuleCriteriaInput is an input type that accepts BackupPolicyDiskRetentionRuleCriteriaArgs and BackupPolicyDiskRetentionRuleCriteriaOutput values. You can construct a concrete instance of `BackupPolicyDiskRetentionRuleCriteriaInput` via:

BackupPolicyDiskRetentionRuleCriteriaArgs{...}

type BackupPolicyDiskRetentionRuleCriteriaOutput

type BackupPolicyDiskRetentionRuleCriteriaOutput struct{ *pulumi.OutputState }

func (BackupPolicyDiskRetentionRuleCriteriaOutput) AbsoluteCriteria

Possible values are `FirstOfDay` and `FirstOfWeek`. Changing this forces a new Backup Policy Disk to be created.

func (BackupPolicyDiskRetentionRuleCriteriaOutput) ElementType

func (BackupPolicyDiskRetentionRuleCriteriaOutput) ToBackupPolicyDiskRetentionRuleCriteriaOutput

func (o BackupPolicyDiskRetentionRuleCriteriaOutput) ToBackupPolicyDiskRetentionRuleCriteriaOutput() BackupPolicyDiskRetentionRuleCriteriaOutput

func (BackupPolicyDiskRetentionRuleCriteriaOutput) ToBackupPolicyDiskRetentionRuleCriteriaOutputWithContext

func (o BackupPolicyDiskRetentionRuleCriteriaOutput) ToBackupPolicyDiskRetentionRuleCriteriaOutputWithContext(ctx context.Context) BackupPolicyDiskRetentionRuleCriteriaOutput

type BackupPolicyDiskRetentionRuleInput

type BackupPolicyDiskRetentionRuleInput interface {
	pulumi.Input

	ToBackupPolicyDiskRetentionRuleOutput() BackupPolicyDiskRetentionRuleOutput
	ToBackupPolicyDiskRetentionRuleOutputWithContext(context.Context) BackupPolicyDiskRetentionRuleOutput
}

BackupPolicyDiskRetentionRuleInput is an input type that accepts BackupPolicyDiskRetentionRuleArgs and BackupPolicyDiskRetentionRuleOutput values. You can construct a concrete instance of `BackupPolicyDiskRetentionRuleInput` via:

BackupPolicyDiskRetentionRuleArgs{...}

type BackupPolicyDiskRetentionRuleOutput

type BackupPolicyDiskRetentionRuleOutput struct{ *pulumi.OutputState }

func (BackupPolicyDiskRetentionRuleOutput) Criteria

A `criteria` block as defined below. Changing this forces a new Backup Policy Disk to be created.

func (BackupPolicyDiskRetentionRuleOutput) Duration

Duration of deletion after given timespan. It should follow `ISO 8601` duration format. Changing this forces a new Backup Policy Disk to be created.

func (BackupPolicyDiskRetentionRuleOutput) ElementType

func (BackupPolicyDiskRetentionRuleOutput) Name

The name which should be used for this retention rule. Changing this forces a new Backup Policy Disk to be created.

func (BackupPolicyDiskRetentionRuleOutput) Priority

Retention Tag priority. Changing this forces a new Backup Policy Disk to be created.

func (BackupPolicyDiskRetentionRuleOutput) ToBackupPolicyDiskRetentionRuleOutput

func (o BackupPolicyDiskRetentionRuleOutput) ToBackupPolicyDiskRetentionRuleOutput() BackupPolicyDiskRetentionRuleOutput

func (BackupPolicyDiskRetentionRuleOutput) ToBackupPolicyDiskRetentionRuleOutputWithContext

func (o BackupPolicyDiskRetentionRuleOutput) ToBackupPolicyDiskRetentionRuleOutputWithContext(ctx context.Context) BackupPolicyDiskRetentionRuleOutput

type BackupPolicyDiskState

type BackupPolicyDiskState struct {
	// Specifies a list of repeating time interval. It should follow `ISO 8601` repeating time interval . Changing this forces a new Backup Policy Disk to be created.
	BackupRepeatingTimeIntervals pulumi.StringArrayInput
	// The duration of default retention rule. It should follow `ISO 8601` duration format. Changing this forces a new Backup Policy Disk to be created.
	DefaultRetentionDuration pulumi.StringPtrInput
	// The name which should be used for this Backup Policy Disk. Changing this forces a new Backup Policy Disk to be created.
	Name pulumi.StringPtrInput
	// One or more `retentionRule` blocks as defined below. Changing this forces a new Backup Policy Disk to be created.
	RetentionRules BackupPolicyDiskRetentionRuleArrayInput
	// Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new Backup Policy Disk to be created.
	TimeZone pulumi.StringPtrInput
	// The ID of the Backup Vault within which the Backup Policy Disk should exist. Changing this forces a new Backup Policy Disk to be created.
	VaultId pulumi.StringPtrInput
}

func (BackupPolicyDiskState) ElementType

func (BackupPolicyDiskState) ElementType() reflect.Type

type BackupPolicyKubernetesCluster added in v5.66.1

type BackupPolicyKubernetesCluster struct {
	pulumi.CustomResourceState

	// Specifies a list of repeating time interval. It supports weekly back. It should follow `ISO 8601` repeating time interval. Changing this forces a new resource to be created.
	BackupRepeatingTimeIntervals pulumi.StringArrayOutput `pulumi:"backupRepeatingTimeIntervals"`
	// A `defaultRetentionRule` block as defined below. Changing this forces a new resource to be created.
	DefaultRetentionRule BackupPolicyKubernetesClusterDefaultRetentionRuleOutput `pulumi:"defaultRetentionRule"`
	// The name which should be used for the Backup Policy Kubernetes Cluster. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the Resource Group where the Backup Policy Kubernetes Cluster should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// One or more `retentionRule` blocks as defined below. Changing this forces a new resource to be created.
	RetentionRules BackupPolicyKubernetesClusterRetentionRuleArrayOutput `pulumi:"retentionRules"`
	// Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created.
	TimeZone pulumi.StringPtrOutput `pulumi:"timeZone"`
	// The name of the Backup Vault where the Backup Policy Kubernetes Cluster should exist. Changing this forces a new resource to be created.
	VaultName pulumi.StringOutput `pulumi:"vaultName"`
}

Manages a Backup Policy to back up Kubernetes Cluster.

## Import

Backup Policy Kubernetes Cluster's can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:dataprotection/backupPolicyKubernetesCluster:BackupPolicyKubernetesCluster example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataProtection/backupVaults/vault1/backupPolicies/backupPolicy1 ```

func GetBackupPolicyKubernetesCluster added in v5.66.1

func GetBackupPolicyKubernetesCluster(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BackupPolicyKubernetesClusterState, opts ...pulumi.ResourceOption) (*BackupPolicyKubernetesCluster, error)

GetBackupPolicyKubernetesCluster gets an existing BackupPolicyKubernetesCluster 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 NewBackupPolicyKubernetesCluster added in v5.66.1

func NewBackupPolicyKubernetesCluster(ctx *pulumi.Context,
	name string, args *BackupPolicyKubernetesClusterArgs, opts ...pulumi.ResourceOption) (*BackupPolicyKubernetesCluster, error)

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

func (*BackupPolicyKubernetesCluster) ElementType added in v5.66.1

func (*BackupPolicyKubernetesCluster) ToBackupPolicyKubernetesClusterOutput added in v5.66.1

func (i *BackupPolicyKubernetesCluster) ToBackupPolicyKubernetesClusterOutput() BackupPolicyKubernetesClusterOutput

func (*BackupPolicyKubernetesCluster) ToBackupPolicyKubernetesClusterOutputWithContext added in v5.66.1

func (i *BackupPolicyKubernetesCluster) ToBackupPolicyKubernetesClusterOutputWithContext(ctx context.Context) BackupPolicyKubernetesClusterOutput

type BackupPolicyKubernetesClusterArgs added in v5.66.1

type BackupPolicyKubernetesClusterArgs struct {
	// Specifies a list of repeating time interval. It supports weekly back. It should follow `ISO 8601` repeating time interval. Changing this forces a new resource to be created.
	BackupRepeatingTimeIntervals pulumi.StringArrayInput
	// A `defaultRetentionRule` block as defined below. Changing this forces a new resource to be created.
	DefaultRetentionRule BackupPolicyKubernetesClusterDefaultRetentionRuleInput
	// The name which should be used for the Backup Policy Kubernetes Cluster. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the Resource Group where the Backup Policy Kubernetes Cluster should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// One or more `retentionRule` blocks as defined below. Changing this forces a new resource to be created.
	RetentionRules BackupPolicyKubernetesClusterRetentionRuleArrayInput
	// Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created.
	TimeZone pulumi.StringPtrInput
	// The name of the Backup Vault where the Backup Policy Kubernetes Cluster should exist. Changing this forces a new resource to be created.
	VaultName pulumi.StringInput
}

The set of arguments for constructing a BackupPolicyKubernetesCluster resource.

func (BackupPolicyKubernetesClusterArgs) ElementType added in v5.66.1

type BackupPolicyKubernetesClusterArray added in v5.66.1

type BackupPolicyKubernetesClusterArray []BackupPolicyKubernetesClusterInput

func (BackupPolicyKubernetesClusterArray) ElementType added in v5.66.1

func (BackupPolicyKubernetesClusterArray) ToBackupPolicyKubernetesClusterArrayOutput added in v5.66.1

func (i BackupPolicyKubernetesClusterArray) ToBackupPolicyKubernetesClusterArrayOutput() BackupPolicyKubernetesClusterArrayOutput

func (BackupPolicyKubernetesClusterArray) ToBackupPolicyKubernetesClusterArrayOutputWithContext added in v5.66.1

func (i BackupPolicyKubernetesClusterArray) ToBackupPolicyKubernetesClusterArrayOutputWithContext(ctx context.Context) BackupPolicyKubernetesClusterArrayOutput

type BackupPolicyKubernetesClusterArrayInput added in v5.66.1

type BackupPolicyKubernetesClusterArrayInput interface {
	pulumi.Input

	ToBackupPolicyKubernetesClusterArrayOutput() BackupPolicyKubernetesClusterArrayOutput
	ToBackupPolicyKubernetesClusterArrayOutputWithContext(context.Context) BackupPolicyKubernetesClusterArrayOutput
}

BackupPolicyKubernetesClusterArrayInput is an input type that accepts BackupPolicyKubernetesClusterArray and BackupPolicyKubernetesClusterArrayOutput values. You can construct a concrete instance of `BackupPolicyKubernetesClusterArrayInput` via:

BackupPolicyKubernetesClusterArray{ BackupPolicyKubernetesClusterArgs{...} }

type BackupPolicyKubernetesClusterArrayOutput added in v5.66.1

type BackupPolicyKubernetesClusterArrayOutput struct{ *pulumi.OutputState }

func (BackupPolicyKubernetesClusterArrayOutput) ElementType added in v5.66.1

func (BackupPolicyKubernetesClusterArrayOutput) Index added in v5.66.1

func (BackupPolicyKubernetesClusterArrayOutput) ToBackupPolicyKubernetesClusterArrayOutput added in v5.66.1

func (o BackupPolicyKubernetesClusterArrayOutput) ToBackupPolicyKubernetesClusterArrayOutput() BackupPolicyKubernetesClusterArrayOutput

func (BackupPolicyKubernetesClusterArrayOutput) ToBackupPolicyKubernetesClusterArrayOutputWithContext added in v5.66.1

func (o BackupPolicyKubernetesClusterArrayOutput) ToBackupPolicyKubernetesClusterArrayOutputWithContext(ctx context.Context) BackupPolicyKubernetesClusterArrayOutput

type BackupPolicyKubernetesClusterDefaultRetentionRule added in v5.66.1

type BackupPolicyKubernetesClusterDefaultRetentionRule struct {
	// A `lifeCycle` block as defined below. Changing this forces a new resource to be created.
	LifeCycles []BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycle `pulumi:"lifeCycles"`
}

type BackupPolicyKubernetesClusterDefaultRetentionRuleArgs added in v5.66.1

type BackupPolicyKubernetesClusterDefaultRetentionRuleArgs struct {
	// A `lifeCycle` block as defined below. Changing this forces a new resource to be created.
	LifeCycles BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArrayInput `pulumi:"lifeCycles"`
}

func (BackupPolicyKubernetesClusterDefaultRetentionRuleArgs) ElementType added in v5.66.1

func (BackupPolicyKubernetesClusterDefaultRetentionRuleArgs) ToBackupPolicyKubernetesClusterDefaultRetentionRuleOutput added in v5.66.1

func (i BackupPolicyKubernetesClusterDefaultRetentionRuleArgs) ToBackupPolicyKubernetesClusterDefaultRetentionRuleOutput() BackupPolicyKubernetesClusterDefaultRetentionRuleOutput

func (BackupPolicyKubernetesClusterDefaultRetentionRuleArgs) ToBackupPolicyKubernetesClusterDefaultRetentionRuleOutputWithContext added in v5.66.1

func (i BackupPolicyKubernetesClusterDefaultRetentionRuleArgs) ToBackupPolicyKubernetesClusterDefaultRetentionRuleOutputWithContext(ctx context.Context) BackupPolicyKubernetesClusterDefaultRetentionRuleOutput

func (BackupPolicyKubernetesClusterDefaultRetentionRuleArgs) ToBackupPolicyKubernetesClusterDefaultRetentionRulePtrOutput added in v5.66.1

func (i BackupPolicyKubernetesClusterDefaultRetentionRuleArgs) ToBackupPolicyKubernetesClusterDefaultRetentionRulePtrOutput() BackupPolicyKubernetesClusterDefaultRetentionRulePtrOutput

func (BackupPolicyKubernetesClusterDefaultRetentionRuleArgs) ToBackupPolicyKubernetesClusterDefaultRetentionRulePtrOutputWithContext added in v5.66.1

func (i BackupPolicyKubernetesClusterDefaultRetentionRuleArgs) ToBackupPolicyKubernetesClusterDefaultRetentionRulePtrOutputWithContext(ctx context.Context) BackupPolicyKubernetesClusterDefaultRetentionRulePtrOutput

type BackupPolicyKubernetesClusterDefaultRetentionRuleInput added in v5.66.1

type BackupPolicyKubernetesClusterDefaultRetentionRuleInput interface {
	pulumi.Input

	ToBackupPolicyKubernetesClusterDefaultRetentionRuleOutput() BackupPolicyKubernetesClusterDefaultRetentionRuleOutput
	ToBackupPolicyKubernetesClusterDefaultRetentionRuleOutputWithContext(context.Context) BackupPolicyKubernetesClusterDefaultRetentionRuleOutput
}

BackupPolicyKubernetesClusterDefaultRetentionRuleInput is an input type that accepts BackupPolicyKubernetesClusterDefaultRetentionRuleArgs and BackupPolicyKubernetesClusterDefaultRetentionRuleOutput values. You can construct a concrete instance of `BackupPolicyKubernetesClusterDefaultRetentionRuleInput` via:

BackupPolicyKubernetesClusterDefaultRetentionRuleArgs{...}

type BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycle added in v5.66.1

type BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycle struct {
	// The type of data store. The only possible value is `OperationalStore`. Changing this forces a new resource to be created.
	DataStoreType string `pulumi:"dataStoreType"`
	// The retention duration up to which the backups are to be retained in the data stores. It should follow `ISO 8601` duration format. Changing this forces a new resource to be created.
	Duration string `pulumi:"duration"`
}

type BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArgs added in v5.66.1

type BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArgs struct {
	// The type of data store. The only possible value is `OperationalStore`. Changing this forces a new resource to be created.
	DataStoreType pulumi.StringInput `pulumi:"dataStoreType"`
	// The retention duration up to which the backups are to be retained in the data stores. It should follow `ISO 8601` duration format. Changing this forces a new resource to be created.
	Duration pulumi.StringInput `pulumi:"duration"`
}

func (BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArgs) ElementType added in v5.66.1

func (BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArgs) ToBackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleOutput added in v5.66.1

func (BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArgs) ToBackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleOutputWithContext added in v5.66.1

func (i BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArgs) ToBackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleOutputWithContext(ctx context.Context) BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleOutput

type BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArray added in v5.66.1

type BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArray []BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleInput

func (BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArray) ElementType added in v5.66.1

func (BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArray) ToBackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArrayOutput added in v5.66.1

func (BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArray) ToBackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArrayOutputWithContext added in v5.66.1

func (i BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArray) ToBackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArrayOutputWithContext(ctx context.Context) BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArrayOutput

type BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArrayInput added in v5.66.1

type BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArrayInput interface {
	pulumi.Input

	ToBackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArrayOutput() BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArrayOutput
	ToBackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArrayOutputWithContext(context.Context) BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArrayOutput
}

BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArrayInput is an input type that accepts BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArray and BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArrayOutput values. You can construct a concrete instance of `BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArrayInput` via:

BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArray{ BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArgs{...} }

type BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArrayOutput added in v5.66.1

type BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArrayOutput struct{ *pulumi.OutputState }

func (BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArrayOutput) ElementType added in v5.66.1

func (BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArrayOutput) Index added in v5.66.1

func (BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArrayOutput) ToBackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArrayOutput added in v5.66.1

func (BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArrayOutput) ToBackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArrayOutputWithContext added in v5.66.1

func (o BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArrayOutput) ToBackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArrayOutputWithContext(ctx context.Context) BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArrayOutput

type BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleInput added in v5.66.1

type BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleInput interface {
	pulumi.Input

	ToBackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleOutput() BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleOutput
	ToBackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleOutputWithContext(context.Context) BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleOutput
}

BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleInput is an input type that accepts BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArgs and BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleOutput values. You can construct a concrete instance of `BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleInput` via:

BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleArgs{...}

type BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleOutput added in v5.66.1

type BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleOutput struct{ *pulumi.OutputState }

func (BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleOutput) DataStoreType added in v5.66.1

The type of data store. The only possible value is `OperationalStore`. Changing this forces a new resource to be created.

func (BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleOutput) Duration added in v5.66.1

The retention duration up to which the backups are to be retained in the data stores. It should follow `ISO 8601` duration format. Changing this forces a new resource to be created.

func (BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleOutput) ElementType added in v5.66.1

func (BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleOutput) ToBackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleOutput added in v5.66.1

func (BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleOutput) ToBackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleOutputWithContext added in v5.66.1

func (o BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleOutput) ToBackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleOutputWithContext(ctx context.Context) BackupPolicyKubernetesClusterDefaultRetentionRuleLifeCycleOutput

type BackupPolicyKubernetesClusterDefaultRetentionRuleOutput added in v5.66.1

type BackupPolicyKubernetesClusterDefaultRetentionRuleOutput struct{ *pulumi.OutputState }

func (BackupPolicyKubernetesClusterDefaultRetentionRuleOutput) ElementType added in v5.66.1

func (BackupPolicyKubernetesClusterDefaultRetentionRuleOutput) LifeCycles added in v5.66.1

A `lifeCycle` block as defined below. Changing this forces a new resource to be created.

func (BackupPolicyKubernetesClusterDefaultRetentionRuleOutput) ToBackupPolicyKubernetesClusterDefaultRetentionRuleOutput added in v5.66.1

func (BackupPolicyKubernetesClusterDefaultRetentionRuleOutput) ToBackupPolicyKubernetesClusterDefaultRetentionRuleOutputWithContext added in v5.66.1

func (o BackupPolicyKubernetesClusterDefaultRetentionRuleOutput) ToBackupPolicyKubernetesClusterDefaultRetentionRuleOutputWithContext(ctx context.Context) BackupPolicyKubernetesClusterDefaultRetentionRuleOutput

func (BackupPolicyKubernetesClusterDefaultRetentionRuleOutput) ToBackupPolicyKubernetesClusterDefaultRetentionRulePtrOutput added in v5.66.1

func (BackupPolicyKubernetesClusterDefaultRetentionRuleOutput) ToBackupPolicyKubernetesClusterDefaultRetentionRulePtrOutputWithContext added in v5.66.1

func (o BackupPolicyKubernetesClusterDefaultRetentionRuleOutput) ToBackupPolicyKubernetesClusterDefaultRetentionRulePtrOutputWithContext(ctx context.Context) BackupPolicyKubernetesClusterDefaultRetentionRulePtrOutput

type BackupPolicyKubernetesClusterDefaultRetentionRulePtrInput added in v5.66.1

type BackupPolicyKubernetesClusterDefaultRetentionRulePtrInput interface {
	pulumi.Input

	ToBackupPolicyKubernetesClusterDefaultRetentionRulePtrOutput() BackupPolicyKubernetesClusterDefaultRetentionRulePtrOutput
	ToBackupPolicyKubernetesClusterDefaultRetentionRulePtrOutputWithContext(context.Context) BackupPolicyKubernetesClusterDefaultRetentionRulePtrOutput
}

BackupPolicyKubernetesClusterDefaultRetentionRulePtrInput is an input type that accepts BackupPolicyKubernetesClusterDefaultRetentionRuleArgs, BackupPolicyKubernetesClusterDefaultRetentionRulePtr and BackupPolicyKubernetesClusterDefaultRetentionRulePtrOutput values. You can construct a concrete instance of `BackupPolicyKubernetesClusterDefaultRetentionRulePtrInput` via:

        BackupPolicyKubernetesClusterDefaultRetentionRuleArgs{...}

or:

        nil

type BackupPolicyKubernetesClusterDefaultRetentionRulePtrOutput added in v5.66.1

type BackupPolicyKubernetesClusterDefaultRetentionRulePtrOutput struct{ *pulumi.OutputState }

func (BackupPolicyKubernetesClusterDefaultRetentionRulePtrOutput) Elem added in v5.66.1

func (BackupPolicyKubernetesClusterDefaultRetentionRulePtrOutput) ElementType added in v5.66.1

func (BackupPolicyKubernetesClusterDefaultRetentionRulePtrOutput) LifeCycles added in v5.66.1

A `lifeCycle` block as defined below. Changing this forces a new resource to be created.

func (BackupPolicyKubernetesClusterDefaultRetentionRulePtrOutput) ToBackupPolicyKubernetesClusterDefaultRetentionRulePtrOutput added in v5.66.1

func (BackupPolicyKubernetesClusterDefaultRetentionRulePtrOutput) ToBackupPolicyKubernetesClusterDefaultRetentionRulePtrOutputWithContext added in v5.66.1

func (o BackupPolicyKubernetesClusterDefaultRetentionRulePtrOutput) ToBackupPolicyKubernetesClusterDefaultRetentionRulePtrOutputWithContext(ctx context.Context) BackupPolicyKubernetesClusterDefaultRetentionRulePtrOutput

type BackupPolicyKubernetesClusterInput added in v5.66.1

type BackupPolicyKubernetesClusterInput interface {
	pulumi.Input

	ToBackupPolicyKubernetesClusterOutput() BackupPolicyKubernetesClusterOutput
	ToBackupPolicyKubernetesClusterOutputWithContext(ctx context.Context) BackupPolicyKubernetesClusterOutput
}

type BackupPolicyKubernetesClusterMap added in v5.66.1

type BackupPolicyKubernetesClusterMap map[string]BackupPolicyKubernetesClusterInput

func (BackupPolicyKubernetesClusterMap) ElementType added in v5.66.1

func (BackupPolicyKubernetesClusterMap) ToBackupPolicyKubernetesClusterMapOutput added in v5.66.1

func (i BackupPolicyKubernetesClusterMap) ToBackupPolicyKubernetesClusterMapOutput() BackupPolicyKubernetesClusterMapOutput

func (BackupPolicyKubernetesClusterMap) ToBackupPolicyKubernetesClusterMapOutputWithContext added in v5.66.1

func (i BackupPolicyKubernetesClusterMap) ToBackupPolicyKubernetesClusterMapOutputWithContext(ctx context.Context) BackupPolicyKubernetesClusterMapOutput

type BackupPolicyKubernetesClusterMapInput added in v5.66.1

type BackupPolicyKubernetesClusterMapInput interface {
	pulumi.Input

	ToBackupPolicyKubernetesClusterMapOutput() BackupPolicyKubernetesClusterMapOutput
	ToBackupPolicyKubernetesClusterMapOutputWithContext(context.Context) BackupPolicyKubernetesClusterMapOutput
}

BackupPolicyKubernetesClusterMapInput is an input type that accepts BackupPolicyKubernetesClusterMap and BackupPolicyKubernetesClusterMapOutput values. You can construct a concrete instance of `BackupPolicyKubernetesClusterMapInput` via:

BackupPolicyKubernetesClusterMap{ "key": BackupPolicyKubernetesClusterArgs{...} }

type BackupPolicyKubernetesClusterMapOutput added in v5.66.1

type BackupPolicyKubernetesClusterMapOutput struct{ *pulumi.OutputState }

func (BackupPolicyKubernetesClusterMapOutput) ElementType added in v5.66.1

func (BackupPolicyKubernetesClusterMapOutput) MapIndex added in v5.66.1

func (BackupPolicyKubernetesClusterMapOutput) ToBackupPolicyKubernetesClusterMapOutput added in v5.66.1

func (o BackupPolicyKubernetesClusterMapOutput) ToBackupPolicyKubernetesClusterMapOutput() BackupPolicyKubernetesClusterMapOutput

func (BackupPolicyKubernetesClusterMapOutput) ToBackupPolicyKubernetesClusterMapOutputWithContext added in v5.66.1

func (o BackupPolicyKubernetesClusterMapOutput) ToBackupPolicyKubernetesClusterMapOutputWithContext(ctx context.Context) BackupPolicyKubernetesClusterMapOutput

type BackupPolicyKubernetesClusterOutput added in v5.66.1

type BackupPolicyKubernetesClusterOutput struct{ *pulumi.OutputState }

func (BackupPolicyKubernetesClusterOutput) BackupRepeatingTimeIntervals added in v5.66.1

func (o BackupPolicyKubernetesClusterOutput) BackupRepeatingTimeIntervals() pulumi.StringArrayOutput

Specifies a list of repeating time interval. It supports weekly back. It should follow `ISO 8601` repeating time interval. Changing this forces a new resource to be created.

func (BackupPolicyKubernetesClusterOutput) DefaultRetentionRule added in v5.66.1

A `defaultRetentionRule` block as defined below. Changing this forces a new resource to be created.

func (BackupPolicyKubernetesClusterOutput) ElementType added in v5.66.1

func (BackupPolicyKubernetesClusterOutput) Name added in v5.66.1

The name which should be used for the Backup Policy Kubernetes Cluster. Changing this forces a new resource to be created.

func (BackupPolicyKubernetesClusterOutput) ResourceGroupName added in v5.66.1

The name of the Resource Group where the Backup Policy Kubernetes Cluster should exist. Changing this forces a new resource to be created.

func (BackupPolicyKubernetesClusterOutput) RetentionRules added in v5.66.1

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

func (BackupPolicyKubernetesClusterOutput) TimeZone added in v5.66.1

Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created.

func (BackupPolicyKubernetesClusterOutput) ToBackupPolicyKubernetesClusterOutput added in v5.66.1

func (o BackupPolicyKubernetesClusterOutput) ToBackupPolicyKubernetesClusterOutput() BackupPolicyKubernetesClusterOutput

func (BackupPolicyKubernetesClusterOutput) ToBackupPolicyKubernetesClusterOutputWithContext added in v5.66.1

func (o BackupPolicyKubernetesClusterOutput) ToBackupPolicyKubernetesClusterOutputWithContext(ctx context.Context) BackupPolicyKubernetesClusterOutput

func (BackupPolicyKubernetesClusterOutput) VaultName added in v5.66.1

The name of the Backup Vault where the Backup Policy Kubernetes Cluster should exist. Changing this forces a new resource to be created.

type BackupPolicyKubernetesClusterRetentionRule added in v5.66.1

type BackupPolicyKubernetesClusterRetentionRule struct {
	// A `criteria` block as defined below. Changing this forces a new resource to be created.
	Criteria BackupPolicyKubernetesClusterRetentionRuleCriteria `pulumi:"criteria"`
	// A `lifeCycle` block as defined below. Changing this forces a new resource to be created.
	LifeCycles []BackupPolicyKubernetesClusterRetentionRuleLifeCycle `pulumi:"lifeCycles"`
	// The name which should be used for this retention rule. Changing this forces a new resource to be created.
	Name string `pulumi:"name"`
	// Specifies the priority of the rule. The priority number must be unique for each rule. The lower the priority number, the higher the priority of the rule. Changing this forces a new resource to be created.
	Priority int `pulumi:"priority"`
}

type BackupPolicyKubernetesClusterRetentionRuleArgs added in v5.66.1

type BackupPolicyKubernetesClusterRetentionRuleArgs struct {
	// A `criteria` block as defined below. Changing this forces a new resource to be created.
	Criteria BackupPolicyKubernetesClusterRetentionRuleCriteriaInput `pulumi:"criteria"`
	// A `lifeCycle` block as defined below. Changing this forces a new resource to be created.
	LifeCycles BackupPolicyKubernetesClusterRetentionRuleLifeCycleArrayInput `pulumi:"lifeCycles"`
	// The name which should be used for this retention rule. Changing this forces a new resource to be created.
	Name pulumi.StringInput `pulumi:"name"`
	// Specifies the priority of the rule. The priority number must be unique for each rule. The lower the priority number, the higher the priority of the rule. Changing this forces a new resource to be created.
	Priority pulumi.IntInput `pulumi:"priority"`
}

func (BackupPolicyKubernetesClusterRetentionRuleArgs) ElementType added in v5.66.1

func (BackupPolicyKubernetesClusterRetentionRuleArgs) ToBackupPolicyKubernetesClusterRetentionRuleOutput added in v5.66.1

func (i BackupPolicyKubernetesClusterRetentionRuleArgs) ToBackupPolicyKubernetesClusterRetentionRuleOutput() BackupPolicyKubernetesClusterRetentionRuleOutput

func (BackupPolicyKubernetesClusterRetentionRuleArgs) ToBackupPolicyKubernetesClusterRetentionRuleOutputWithContext added in v5.66.1

func (i BackupPolicyKubernetesClusterRetentionRuleArgs) ToBackupPolicyKubernetesClusterRetentionRuleOutputWithContext(ctx context.Context) BackupPolicyKubernetesClusterRetentionRuleOutput

type BackupPolicyKubernetesClusterRetentionRuleArray added in v5.66.1

type BackupPolicyKubernetesClusterRetentionRuleArray []BackupPolicyKubernetesClusterRetentionRuleInput

func (BackupPolicyKubernetesClusterRetentionRuleArray) ElementType added in v5.66.1

func (BackupPolicyKubernetesClusterRetentionRuleArray) ToBackupPolicyKubernetesClusterRetentionRuleArrayOutput added in v5.66.1

func (i BackupPolicyKubernetesClusterRetentionRuleArray) ToBackupPolicyKubernetesClusterRetentionRuleArrayOutput() BackupPolicyKubernetesClusterRetentionRuleArrayOutput

func (BackupPolicyKubernetesClusterRetentionRuleArray) ToBackupPolicyKubernetesClusterRetentionRuleArrayOutputWithContext added in v5.66.1

func (i BackupPolicyKubernetesClusterRetentionRuleArray) ToBackupPolicyKubernetesClusterRetentionRuleArrayOutputWithContext(ctx context.Context) BackupPolicyKubernetesClusterRetentionRuleArrayOutput

type BackupPolicyKubernetesClusterRetentionRuleArrayInput added in v5.66.1

type BackupPolicyKubernetesClusterRetentionRuleArrayInput interface {
	pulumi.Input

	ToBackupPolicyKubernetesClusterRetentionRuleArrayOutput() BackupPolicyKubernetesClusterRetentionRuleArrayOutput
	ToBackupPolicyKubernetesClusterRetentionRuleArrayOutputWithContext(context.Context) BackupPolicyKubernetesClusterRetentionRuleArrayOutput
}

BackupPolicyKubernetesClusterRetentionRuleArrayInput is an input type that accepts BackupPolicyKubernetesClusterRetentionRuleArray and BackupPolicyKubernetesClusterRetentionRuleArrayOutput values. You can construct a concrete instance of `BackupPolicyKubernetesClusterRetentionRuleArrayInput` via:

BackupPolicyKubernetesClusterRetentionRuleArray{ BackupPolicyKubernetesClusterRetentionRuleArgs{...} }

type BackupPolicyKubernetesClusterRetentionRuleArrayOutput added in v5.66.1

type BackupPolicyKubernetesClusterRetentionRuleArrayOutput struct{ *pulumi.OutputState }

func (BackupPolicyKubernetesClusterRetentionRuleArrayOutput) ElementType added in v5.66.1

func (BackupPolicyKubernetesClusterRetentionRuleArrayOutput) Index added in v5.66.1

func (BackupPolicyKubernetesClusterRetentionRuleArrayOutput) ToBackupPolicyKubernetesClusterRetentionRuleArrayOutput added in v5.66.1

func (BackupPolicyKubernetesClusterRetentionRuleArrayOutput) ToBackupPolicyKubernetesClusterRetentionRuleArrayOutputWithContext added in v5.66.1

func (o BackupPolicyKubernetesClusterRetentionRuleArrayOutput) ToBackupPolicyKubernetesClusterRetentionRuleArrayOutputWithContext(ctx context.Context) BackupPolicyKubernetesClusterRetentionRuleArrayOutput

type BackupPolicyKubernetesClusterRetentionRuleCriteria added in v5.66.1

type BackupPolicyKubernetesClusterRetentionRuleCriteria struct {
	// Possible values are `AllBackup`, `FirstOfDay`, `FirstOfWeek`, `FirstOfMonth` and `FirstOfYear`. These values mean the first successful backup of the day/week/month/year. Changing this forces a new resource to be created.
	AbsoluteCriteria *string `pulumi:"absoluteCriteria"`
	// Possible values are `Monday`, `Tuesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`. Changing this forces a new resource to be created.
	DaysOfWeeks []string `pulumi:"daysOfWeeks"`
	// Possible values are `January`, `February`, `March`, `April`, `May`, `June`, `July`, `August`, `September`, `October`, `November` and `December`. Changing this forces a new resource to be created.
	MonthsOfYears []string `pulumi:"monthsOfYears"`
	// Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new resource to be created.
	ScheduledBackupTimes []string `pulumi:"scheduledBackupTimes"`
	// Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created.
	WeeksOfMonths []string `pulumi:"weeksOfMonths"`
}

type BackupPolicyKubernetesClusterRetentionRuleCriteriaArgs added in v5.66.1

type BackupPolicyKubernetesClusterRetentionRuleCriteriaArgs struct {
	// Possible values are `AllBackup`, `FirstOfDay`, `FirstOfWeek`, `FirstOfMonth` and `FirstOfYear`. These values mean the first successful backup of the day/week/month/year. Changing this forces a new resource to be created.
	AbsoluteCriteria pulumi.StringPtrInput `pulumi:"absoluteCriteria"`
	// Possible values are `Monday`, `Tuesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`. Changing this forces a new resource to be created.
	DaysOfWeeks pulumi.StringArrayInput `pulumi:"daysOfWeeks"`
	// Possible values are `January`, `February`, `March`, `April`, `May`, `June`, `July`, `August`, `September`, `October`, `November` and `December`. Changing this forces a new resource to be created.
	MonthsOfYears pulumi.StringArrayInput `pulumi:"monthsOfYears"`
	// Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new resource to be created.
	ScheduledBackupTimes pulumi.StringArrayInput `pulumi:"scheduledBackupTimes"`
	// Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created.
	WeeksOfMonths pulumi.StringArrayInput `pulumi:"weeksOfMonths"`
}

func (BackupPolicyKubernetesClusterRetentionRuleCriteriaArgs) ElementType added in v5.66.1

func (BackupPolicyKubernetesClusterRetentionRuleCriteriaArgs) ToBackupPolicyKubernetesClusterRetentionRuleCriteriaOutput added in v5.66.1

func (BackupPolicyKubernetesClusterRetentionRuleCriteriaArgs) ToBackupPolicyKubernetesClusterRetentionRuleCriteriaOutputWithContext added in v5.66.1

func (i BackupPolicyKubernetesClusterRetentionRuleCriteriaArgs) ToBackupPolicyKubernetesClusterRetentionRuleCriteriaOutputWithContext(ctx context.Context) BackupPolicyKubernetesClusterRetentionRuleCriteriaOutput

type BackupPolicyKubernetesClusterRetentionRuleCriteriaInput added in v5.66.1

type BackupPolicyKubernetesClusterRetentionRuleCriteriaInput interface {
	pulumi.Input

	ToBackupPolicyKubernetesClusterRetentionRuleCriteriaOutput() BackupPolicyKubernetesClusterRetentionRuleCriteriaOutput
	ToBackupPolicyKubernetesClusterRetentionRuleCriteriaOutputWithContext(context.Context) BackupPolicyKubernetesClusterRetentionRuleCriteriaOutput
}

BackupPolicyKubernetesClusterRetentionRuleCriteriaInput is an input type that accepts BackupPolicyKubernetesClusterRetentionRuleCriteriaArgs and BackupPolicyKubernetesClusterRetentionRuleCriteriaOutput values. You can construct a concrete instance of `BackupPolicyKubernetesClusterRetentionRuleCriteriaInput` via:

BackupPolicyKubernetesClusterRetentionRuleCriteriaArgs{...}

type BackupPolicyKubernetesClusterRetentionRuleCriteriaOutput added in v5.66.1

type BackupPolicyKubernetesClusterRetentionRuleCriteriaOutput struct{ *pulumi.OutputState }

func (BackupPolicyKubernetesClusterRetentionRuleCriteriaOutput) AbsoluteCriteria added in v5.66.1

Possible values are `AllBackup`, `FirstOfDay`, `FirstOfWeek`, `FirstOfMonth` and `FirstOfYear`. These values mean the first successful backup of the day/week/month/year. Changing this forces a new resource to be created.

func (BackupPolicyKubernetesClusterRetentionRuleCriteriaOutput) DaysOfWeeks added in v5.66.1

Possible values are `Monday`, `Tuesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`. Changing this forces a new resource to be created.

func (BackupPolicyKubernetesClusterRetentionRuleCriteriaOutput) ElementType added in v5.66.1

func (BackupPolicyKubernetesClusterRetentionRuleCriteriaOutput) MonthsOfYears added in v5.66.1

Possible values are `January`, `February`, `March`, `April`, `May`, `June`, `July`, `August`, `September`, `October`, `November` and `December`. Changing this forces a new resource to be created.

func (BackupPolicyKubernetesClusterRetentionRuleCriteriaOutput) ScheduledBackupTimes added in v5.66.1

Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new resource to be created.

func (BackupPolicyKubernetesClusterRetentionRuleCriteriaOutput) ToBackupPolicyKubernetesClusterRetentionRuleCriteriaOutput added in v5.66.1

func (BackupPolicyKubernetesClusterRetentionRuleCriteriaOutput) ToBackupPolicyKubernetesClusterRetentionRuleCriteriaOutputWithContext added in v5.66.1

func (o BackupPolicyKubernetesClusterRetentionRuleCriteriaOutput) ToBackupPolicyKubernetesClusterRetentionRuleCriteriaOutputWithContext(ctx context.Context) BackupPolicyKubernetesClusterRetentionRuleCriteriaOutput

func (BackupPolicyKubernetesClusterRetentionRuleCriteriaOutput) WeeksOfMonths added in v5.66.1

Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created.

type BackupPolicyKubernetesClusterRetentionRuleInput added in v5.66.1

type BackupPolicyKubernetesClusterRetentionRuleInput interface {
	pulumi.Input

	ToBackupPolicyKubernetesClusterRetentionRuleOutput() BackupPolicyKubernetesClusterRetentionRuleOutput
	ToBackupPolicyKubernetesClusterRetentionRuleOutputWithContext(context.Context) BackupPolicyKubernetesClusterRetentionRuleOutput
}

BackupPolicyKubernetesClusterRetentionRuleInput is an input type that accepts BackupPolicyKubernetesClusterRetentionRuleArgs and BackupPolicyKubernetesClusterRetentionRuleOutput values. You can construct a concrete instance of `BackupPolicyKubernetesClusterRetentionRuleInput` via:

BackupPolicyKubernetesClusterRetentionRuleArgs{...}

type BackupPolicyKubernetesClusterRetentionRuleLifeCycle added in v5.66.1

type BackupPolicyKubernetesClusterRetentionRuleLifeCycle struct {
	// The type of data store. The only possible value is `OperationalStore`. Changing this forces a new resource to be created.
	DataStoreType string `pulumi:"dataStoreType"`
	// The retention duration up to which the backups are to be retained in the data stores. It should follow `ISO 8601` duration format. Changing this forces a new resource to be created.
	Duration string `pulumi:"duration"`
}

type BackupPolicyKubernetesClusterRetentionRuleLifeCycleArgs added in v5.66.1

type BackupPolicyKubernetesClusterRetentionRuleLifeCycleArgs struct {
	// The type of data store. The only possible value is `OperationalStore`. Changing this forces a new resource to be created.
	DataStoreType pulumi.StringInput `pulumi:"dataStoreType"`
	// The retention duration up to which the backups are to be retained in the data stores. It should follow `ISO 8601` duration format. Changing this forces a new resource to be created.
	Duration pulumi.StringInput `pulumi:"duration"`
}

func (BackupPolicyKubernetesClusterRetentionRuleLifeCycleArgs) ElementType added in v5.66.1

func (BackupPolicyKubernetesClusterRetentionRuleLifeCycleArgs) ToBackupPolicyKubernetesClusterRetentionRuleLifeCycleOutput added in v5.66.1

func (BackupPolicyKubernetesClusterRetentionRuleLifeCycleArgs) ToBackupPolicyKubernetesClusterRetentionRuleLifeCycleOutputWithContext added in v5.66.1

func (i BackupPolicyKubernetesClusterRetentionRuleLifeCycleArgs) ToBackupPolicyKubernetesClusterRetentionRuleLifeCycleOutputWithContext(ctx context.Context) BackupPolicyKubernetesClusterRetentionRuleLifeCycleOutput

type BackupPolicyKubernetesClusterRetentionRuleLifeCycleArray added in v5.66.1

type BackupPolicyKubernetesClusterRetentionRuleLifeCycleArray []BackupPolicyKubernetesClusterRetentionRuleLifeCycleInput

func (BackupPolicyKubernetesClusterRetentionRuleLifeCycleArray) ElementType added in v5.66.1

func (BackupPolicyKubernetesClusterRetentionRuleLifeCycleArray) ToBackupPolicyKubernetesClusterRetentionRuleLifeCycleArrayOutput added in v5.66.1

func (i BackupPolicyKubernetesClusterRetentionRuleLifeCycleArray) ToBackupPolicyKubernetesClusterRetentionRuleLifeCycleArrayOutput() BackupPolicyKubernetesClusterRetentionRuleLifeCycleArrayOutput

func (BackupPolicyKubernetesClusterRetentionRuleLifeCycleArray) ToBackupPolicyKubernetesClusterRetentionRuleLifeCycleArrayOutputWithContext added in v5.66.1

func (i BackupPolicyKubernetesClusterRetentionRuleLifeCycleArray) ToBackupPolicyKubernetesClusterRetentionRuleLifeCycleArrayOutputWithContext(ctx context.Context) BackupPolicyKubernetesClusterRetentionRuleLifeCycleArrayOutput

type BackupPolicyKubernetesClusterRetentionRuleLifeCycleArrayInput added in v5.66.1

type BackupPolicyKubernetesClusterRetentionRuleLifeCycleArrayInput interface {
	pulumi.Input

	ToBackupPolicyKubernetesClusterRetentionRuleLifeCycleArrayOutput() BackupPolicyKubernetesClusterRetentionRuleLifeCycleArrayOutput
	ToBackupPolicyKubernetesClusterRetentionRuleLifeCycleArrayOutputWithContext(context.Context) BackupPolicyKubernetesClusterRetentionRuleLifeCycleArrayOutput
}

BackupPolicyKubernetesClusterRetentionRuleLifeCycleArrayInput is an input type that accepts BackupPolicyKubernetesClusterRetentionRuleLifeCycleArray and BackupPolicyKubernetesClusterRetentionRuleLifeCycleArrayOutput values. You can construct a concrete instance of `BackupPolicyKubernetesClusterRetentionRuleLifeCycleArrayInput` via:

BackupPolicyKubernetesClusterRetentionRuleLifeCycleArray{ BackupPolicyKubernetesClusterRetentionRuleLifeCycleArgs{...} }

type BackupPolicyKubernetesClusterRetentionRuleLifeCycleArrayOutput added in v5.66.1

type BackupPolicyKubernetesClusterRetentionRuleLifeCycleArrayOutput struct{ *pulumi.OutputState }

func (BackupPolicyKubernetesClusterRetentionRuleLifeCycleArrayOutput) ElementType added in v5.66.1

func (BackupPolicyKubernetesClusterRetentionRuleLifeCycleArrayOutput) Index added in v5.66.1

func (BackupPolicyKubernetesClusterRetentionRuleLifeCycleArrayOutput) ToBackupPolicyKubernetesClusterRetentionRuleLifeCycleArrayOutput added in v5.66.1

func (BackupPolicyKubernetesClusterRetentionRuleLifeCycleArrayOutput) ToBackupPolicyKubernetesClusterRetentionRuleLifeCycleArrayOutputWithContext added in v5.66.1

func (o BackupPolicyKubernetesClusterRetentionRuleLifeCycleArrayOutput) ToBackupPolicyKubernetesClusterRetentionRuleLifeCycleArrayOutputWithContext(ctx context.Context) BackupPolicyKubernetesClusterRetentionRuleLifeCycleArrayOutput

type BackupPolicyKubernetesClusterRetentionRuleLifeCycleInput added in v5.66.1

type BackupPolicyKubernetesClusterRetentionRuleLifeCycleInput interface {
	pulumi.Input

	ToBackupPolicyKubernetesClusterRetentionRuleLifeCycleOutput() BackupPolicyKubernetesClusterRetentionRuleLifeCycleOutput
	ToBackupPolicyKubernetesClusterRetentionRuleLifeCycleOutputWithContext(context.Context) BackupPolicyKubernetesClusterRetentionRuleLifeCycleOutput
}

BackupPolicyKubernetesClusterRetentionRuleLifeCycleInput is an input type that accepts BackupPolicyKubernetesClusterRetentionRuleLifeCycleArgs and BackupPolicyKubernetesClusterRetentionRuleLifeCycleOutput values. You can construct a concrete instance of `BackupPolicyKubernetesClusterRetentionRuleLifeCycleInput` via:

BackupPolicyKubernetesClusterRetentionRuleLifeCycleArgs{...}

type BackupPolicyKubernetesClusterRetentionRuleLifeCycleOutput added in v5.66.1

type BackupPolicyKubernetesClusterRetentionRuleLifeCycleOutput struct{ *pulumi.OutputState }

func (BackupPolicyKubernetesClusterRetentionRuleLifeCycleOutput) DataStoreType added in v5.66.1

The type of data store. The only possible value is `OperationalStore`. Changing this forces a new resource to be created.

func (BackupPolicyKubernetesClusterRetentionRuleLifeCycleOutput) Duration added in v5.66.1

The retention duration up to which the backups are to be retained in the data stores. It should follow `ISO 8601` duration format. Changing this forces a new resource to be created.

func (BackupPolicyKubernetesClusterRetentionRuleLifeCycleOutput) ElementType added in v5.66.1

func (BackupPolicyKubernetesClusterRetentionRuleLifeCycleOutput) ToBackupPolicyKubernetesClusterRetentionRuleLifeCycleOutput added in v5.66.1

func (BackupPolicyKubernetesClusterRetentionRuleLifeCycleOutput) ToBackupPolicyKubernetesClusterRetentionRuleLifeCycleOutputWithContext added in v5.66.1

func (o BackupPolicyKubernetesClusterRetentionRuleLifeCycleOutput) ToBackupPolicyKubernetesClusterRetentionRuleLifeCycleOutputWithContext(ctx context.Context) BackupPolicyKubernetesClusterRetentionRuleLifeCycleOutput

type BackupPolicyKubernetesClusterRetentionRuleOutput added in v5.66.1

type BackupPolicyKubernetesClusterRetentionRuleOutput struct{ *pulumi.OutputState }

func (BackupPolicyKubernetesClusterRetentionRuleOutput) Criteria added in v5.66.1

A `criteria` block as defined below. Changing this forces a new resource to be created.

func (BackupPolicyKubernetesClusterRetentionRuleOutput) ElementType added in v5.66.1

func (BackupPolicyKubernetesClusterRetentionRuleOutput) LifeCycles added in v5.66.1

A `lifeCycle` block as defined below. Changing this forces a new resource to be created.

func (BackupPolicyKubernetesClusterRetentionRuleOutput) Name added in v5.66.1

The name which should be used for this retention rule. Changing this forces a new resource to be created.

func (BackupPolicyKubernetesClusterRetentionRuleOutput) Priority added in v5.66.1

Specifies the priority of the rule. The priority number must be unique for each rule. The lower the priority number, the higher the priority of the rule. Changing this forces a new resource to be created.

func (BackupPolicyKubernetesClusterRetentionRuleOutput) ToBackupPolicyKubernetesClusterRetentionRuleOutput added in v5.66.1

func (o BackupPolicyKubernetesClusterRetentionRuleOutput) ToBackupPolicyKubernetesClusterRetentionRuleOutput() BackupPolicyKubernetesClusterRetentionRuleOutput

func (BackupPolicyKubernetesClusterRetentionRuleOutput) ToBackupPolicyKubernetesClusterRetentionRuleOutputWithContext added in v5.66.1

func (o BackupPolicyKubernetesClusterRetentionRuleOutput) ToBackupPolicyKubernetesClusterRetentionRuleOutputWithContext(ctx context.Context) BackupPolicyKubernetesClusterRetentionRuleOutput

type BackupPolicyKubernetesClusterState added in v5.66.1

type BackupPolicyKubernetesClusterState struct {
	// Specifies a list of repeating time interval. It supports weekly back. It should follow `ISO 8601` repeating time interval. Changing this forces a new resource to be created.
	BackupRepeatingTimeIntervals pulumi.StringArrayInput
	// A `defaultRetentionRule` block as defined below. Changing this forces a new resource to be created.
	DefaultRetentionRule BackupPolicyKubernetesClusterDefaultRetentionRulePtrInput
	// The name which should be used for the Backup Policy Kubernetes Cluster. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the Resource Group where the Backup Policy Kubernetes Cluster should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// One or more `retentionRule` blocks as defined below. Changing this forces a new resource to be created.
	RetentionRules BackupPolicyKubernetesClusterRetentionRuleArrayInput
	// Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new resource to be created.
	TimeZone pulumi.StringPtrInput
	// The name of the Backup Vault where the Backup Policy Kubernetes Cluster should exist. Changing this forces a new resource to be created.
	VaultName pulumi.StringPtrInput
}

func (BackupPolicyKubernetesClusterState) ElementType added in v5.66.1

type BackupPolicyPostgresql

type BackupPolicyPostgresql struct {
	pulumi.CustomResourceState

	// Specifies a list of repeating time interval. It supports weekly back. It should follow `ISO 8601` repeating time interval. Changing this forces a new Backup Policy PostgreSQL to be created.
	BackupRepeatingTimeIntervals pulumi.StringArrayOutput `pulumi:"backupRepeatingTimeIntervals"`
	// The duration of default retention rule. It should follow `ISO 8601` duration format. Changing this forces a new Backup Policy PostgreSQL to be created.
	DefaultRetentionDuration pulumi.StringOutput `pulumi:"defaultRetentionDuration"`
	// The name which should be used for this Backup Policy PostgreSQL. Changing this forces a new Backup Policy PostgreSQL to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the Resource Group where the Backup Policy PostgreSQL should exist. Changing this forces a new Backup Policy PostgreSQL to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// One or more `retentionRule` blocks as defined below. Changing this forces a new Backup Policy PostgreSQL to be created.
	RetentionRules BackupPolicyPostgresqlRetentionRuleArrayOutput `pulumi:"retentionRules"`
	// Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new Backup Policy PostgreSQL to be created.
	TimeZone pulumi.StringPtrOutput `pulumi:"timeZone"`
	// The name of the Backup Vault where the Backup Policy PostgreSQL should exist. Changing this forces a new Backup Policy PostgreSQL to be created.
	VaultName pulumi.StringOutput `pulumi:"vaultName"`
}

Manages a Backup Policy to back up PostgreSQL.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/dataprotection"
"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-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleBackupVault, err := dataprotection.NewBackupVault(ctx, "example", &dataprotection.BackupVaultArgs{
			Name:              pulumi.String("example-backup-vault"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
			DatastoreType:     pulumi.String("VaultStore"),
			Redundancy:        pulumi.String("LocallyRedundant"),
		})
		if err != nil {
			return err
		}
		_, err = dataprotection.NewBackupPolicyPostgresql(ctx, "example", &dataprotection.BackupPolicyPostgresqlArgs{
			Name:              pulumi.String("example-backup-policy"),
			ResourceGroupName: example.Name,
			VaultName:         exampleBackupVault.Name,
			BackupRepeatingTimeIntervals: pulumi.StringArray{
				pulumi.String("R/2021-05-23T02:30:00+00:00/P1W"),
			},
			TimeZone:                 pulumi.String("India Standard Time"),
			DefaultRetentionDuration: pulumi.String("P4M"),
			RetentionRules: dataprotection.BackupPolicyPostgresqlRetentionRuleArray{
				&dataprotection.BackupPolicyPostgresqlRetentionRuleArgs{
					Name:     pulumi.String("weekly"),
					Duration: pulumi.String("P6M"),
					Priority: pulumi.Int(20),
					Criteria: &dataprotection.BackupPolicyPostgresqlRetentionRuleCriteriaArgs{
						AbsoluteCriteria: pulumi.String("FirstOfWeek"),
					},
				},
				&dataprotection.BackupPolicyPostgresqlRetentionRuleArgs{
					Name:     pulumi.String("thursday"),
					Duration: pulumi.String("P1W"),
					Priority: pulumi.Int(25),
					Criteria: &dataprotection.BackupPolicyPostgresqlRetentionRuleCriteriaArgs{
						DaysOfWeeks: pulumi.StringArray{
							pulumi.String("Thursday"),
						},
						ScheduledBackupTimes: pulumi.StringArray{
							pulumi.String("2021-05-23T02:30:00Z"),
						},
					},
				},
				&dataprotection.BackupPolicyPostgresqlRetentionRuleArgs{
					Name:     pulumi.String("monthly"),
					Duration: pulumi.String("P1D"),
					Priority: pulumi.Int(15),
					Criteria: &dataprotection.BackupPolicyPostgresqlRetentionRuleCriteriaArgs{
						WeeksOfMonths: pulumi.StringArray{
							pulumi.String("First"),
							pulumi.String("Last"),
						},
						DaysOfWeeks: pulumi.StringArray{
							pulumi.String("Tuesday"),
						},
						ScheduledBackupTimes: pulumi.StringArray{
							pulumi.String("2021-05-23T02:30:00Z"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Backup Policy PostgreSQL's can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:dataprotection/backupPolicyPostgresql:BackupPolicyPostgresql example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataProtection/backupVaults/vault1/backupPolicies/backupPolicy1 ```

func GetBackupPolicyPostgresql

func GetBackupPolicyPostgresql(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BackupPolicyPostgresqlState, opts ...pulumi.ResourceOption) (*BackupPolicyPostgresql, error)

GetBackupPolicyPostgresql gets an existing BackupPolicyPostgresql 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 NewBackupPolicyPostgresql

func NewBackupPolicyPostgresql(ctx *pulumi.Context,
	name string, args *BackupPolicyPostgresqlArgs, opts ...pulumi.ResourceOption) (*BackupPolicyPostgresql, error)

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

func (*BackupPolicyPostgresql) ElementType

func (*BackupPolicyPostgresql) ElementType() reflect.Type

func (*BackupPolicyPostgresql) ToBackupPolicyPostgresqlOutput

func (i *BackupPolicyPostgresql) ToBackupPolicyPostgresqlOutput() BackupPolicyPostgresqlOutput

func (*BackupPolicyPostgresql) ToBackupPolicyPostgresqlOutputWithContext

func (i *BackupPolicyPostgresql) ToBackupPolicyPostgresqlOutputWithContext(ctx context.Context) BackupPolicyPostgresqlOutput

type BackupPolicyPostgresqlArgs

type BackupPolicyPostgresqlArgs struct {
	// Specifies a list of repeating time interval. It supports weekly back. It should follow `ISO 8601` repeating time interval. Changing this forces a new Backup Policy PostgreSQL to be created.
	BackupRepeatingTimeIntervals pulumi.StringArrayInput
	// The duration of default retention rule. It should follow `ISO 8601` duration format. Changing this forces a new Backup Policy PostgreSQL to be created.
	DefaultRetentionDuration pulumi.StringInput
	// The name which should be used for this Backup Policy PostgreSQL. Changing this forces a new Backup Policy PostgreSQL to be created.
	Name pulumi.StringPtrInput
	// The name of the Resource Group where the Backup Policy PostgreSQL should exist. Changing this forces a new Backup Policy PostgreSQL to be created.
	ResourceGroupName pulumi.StringInput
	// One or more `retentionRule` blocks as defined below. Changing this forces a new Backup Policy PostgreSQL to be created.
	RetentionRules BackupPolicyPostgresqlRetentionRuleArrayInput
	// Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new Backup Policy PostgreSQL to be created.
	TimeZone pulumi.StringPtrInput
	// The name of the Backup Vault where the Backup Policy PostgreSQL should exist. Changing this forces a new Backup Policy PostgreSQL to be created.
	VaultName pulumi.StringInput
}

The set of arguments for constructing a BackupPolicyPostgresql resource.

func (BackupPolicyPostgresqlArgs) ElementType

func (BackupPolicyPostgresqlArgs) ElementType() reflect.Type

type BackupPolicyPostgresqlArray

type BackupPolicyPostgresqlArray []BackupPolicyPostgresqlInput

func (BackupPolicyPostgresqlArray) ElementType

func (BackupPolicyPostgresqlArray) ToBackupPolicyPostgresqlArrayOutput

func (i BackupPolicyPostgresqlArray) ToBackupPolicyPostgresqlArrayOutput() BackupPolicyPostgresqlArrayOutput

func (BackupPolicyPostgresqlArray) ToBackupPolicyPostgresqlArrayOutputWithContext

func (i BackupPolicyPostgresqlArray) ToBackupPolicyPostgresqlArrayOutputWithContext(ctx context.Context) BackupPolicyPostgresqlArrayOutput

type BackupPolicyPostgresqlArrayInput

type BackupPolicyPostgresqlArrayInput interface {
	pulumi.Input

	ToBackupPolicyPostgresqlArrayOutput() BackupPolicyPostgresqlArrayOutput
	ToBackupPolicyPostgresqlArrayOutputWithContext(context.Context) BackupPolicyPostgresqlArrayOutput
}

BackupPolicyPostgresqlArrayInput is an input type that accepts BackupPolicyPostgresqlArray and BackupPolicyPostgresqlArrayOutput values. You can construct a concrete instance of `BackupPolicyPostgresqlArrayInput` via:

BackupPolicyPostgresqlArray{ BackupPolicyPostgresqlArgs{...} }

type BackupPolicyPostgresqlArrayOutput

type BackupPolicyPostgresqlArrayOutput struct{ *pulumi.OutputState }

func (BackupPolicyPostgresqlArrayOutput) ElementType

func (BackupPolicyPostgresqlArrayOutput) Index

func (BackupPolicyPostgresqlArrayOutput) ToBackupPolicyPostgresqlArrayOutput

func (o BackupPolicyPostgresqlArrayOutput) ToBackupPolicyPostgresqlArrayOutput() BackupPolicyPostgresqlArrayOutput

func (BackupPolicyPostgresqlArrayOutput) ToBackupPolicyPostgresqlArrayOutputWithContext

func (o BackupPolicyPostgresqlArrayOutput) ToBackupPolicyPostgresqlArrayOutputWithContext(ctx context.Context) BackupPolicyPostgresqlArrayOutput

type BackupPolicyPostgresqlInput

type BackupPolicyPostgresqlInput interface {
	pulumi.Input

	ToBackupPolicyPostgresqlOutput() BackupPolicyPostgresqlOutput
	ToBackupPolicyPostgresqlOutputWithContext(ctx context.Context) BackupPolicyPostgresqlOutput
}

type BackupPolicyPostgresqlMap

type BackupPolicyPostgresqlMap map[string]BackupPolicyPostgresqlInput

func (BackupPolicyPostgresqlMap) ElementType

func (BackupPolicyPostgresqlMap) ElementType() reflect.Type

func (BackupPolicyPostgresqlMap) ToBackupPolicyPostgresqlMapOutput

func (i BackupPolicyPostgresqlMap) ToBackupPolicyPostgresqlMapOutput() BackupPolicyPostgresqlMapOutput

func (BackupPolicyPostgresqlMap) ToBackupPolicyPostgresqlMapOutputWithContext

func (i BackupPolicyPostgresqlMap) ToBackupPolicyPostgresqlMapOutputWithContext(ctx context.Context) BackupPolicyPostgresqlMapOutput

type BackupPolicyPostgresqlMapInput

type BackupPolicyPostgresqlMapInput interface {
	pulumi.Input

	ToBackupPolicyPostgresqlMapOutput() BackupPolicyPostgresqlMapOutput
	ToBackupPolicyPostgresqlMapOutputWithContext(context.Context) BackupPolicyPostgresqlMapOutput
}

BackupPolicyPostgresqlMapInput is an input type that accepts BackupPolicyPostgresqlMap and BackupPolicyPostgresqlMapOutput values. You can construct a concrete instance of `BackupPolicyPostgresqlMapInput` via:

BackupPolicyPostgresqlMap{ "key": BackupPolicyPostgresqlArgs{...} }

type BackupPolicyPostgresqlMapOutput

type BackupPolicyPostgresqlMapOutput struct{ *pulumi.OutputState }

func (BackupPolicyPostgresqlMapOutput) ElementType

func (BackupPolicyPostgresqlMapOutput) MapIndex

func (BackupPolicyPostgresqlMapOutput) ToBackupPolicyPostgresqlMapOutput

func (o BackupPolicyPostgresqlMapOutput) ToBackupPolicyPostgresqlMapOutput() BackupPolicyPostgresqlMapOutput

func (BackupPolicyPostgresqlMapOutput) ToBackupPolicyPostgresqlMapOutputWithContext

func (o BackupPolicyPostgresqlMapOutput) ToBackupPolicyPostgresqlMapOutputWithContext(ctx context.Context) BackupPolicyPostgresqlMapOutput

type BackupPolicyPostgresqlOutput

type BackupPolicyPostgresqlOutput struct{ *pulumi.OutputState }

func (BackupPolicyPostgresqlOutput) BackupRepeatingTimeIntervals added in v5.5.0

func (o BackupPolicyPostgresqlOutput) BackupRepeatingTimeIntervals() pulumi.StringArrayOutput

Specifies a list of repeating time interval. It supports weekly back. It should follow `ISO 8601` repeating time interval. Changing this forces a new Backup Policy PostgreSQL to be created.

func (BackupPolicyPostgresqlOutput) DefaultRetentionDuration added in v5.5.0

func (o BackupPolicyPostgresqlOutput) DefaultRetentionDuration() pulumi.StringOutput

The duration of default retention rule. It should follow `ISO 8601` duration format. Changing this forces a new Backup Policy PostgreSQL to be created.

func (BackupPolicyPostgresqlOutput) ElementType

func (BackupPolicyPostgresqlOutput) Name added in v5.5.0

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

func (BackupPolicyPostgresqlOutput) ResourceGroupName added in v5.5.0

func (o BackupPolicyPostgresqlOutput) ResourceGroupName() pulumi.StringOutput

The name of the Resource Group where the Backup Policy PostgreSQL should exist. Changing this forces a new Backup Policy PostgreSQL to be created.

func (BackupPolicyPostgresqlOutput) RetentionRules added in v5.5.0

One or more `retentionRule` blocks as defined below. Changing this forces a new Backup Policy PostgreSQL to be created.

func (BackupPolicyPostgresqlOutput) TimeZone added in v5.61.0

Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new Backup Policy PostgreSQL to be created.

func (BackupPolicyPostgresqlOutput) ToBackupPolicyPostgresqlOutput

func (o BackupPolicyPostgresqlOutput) ToBackupPolicyPostgresqlOutput() BackupPolicyPostgresqlOutput

func (BackupPolicyPostgresqlOutput) ToBackupPolicyPostgresqlOutputWithContext

func (o BackupPolicyPostgresqlOutput) ToBackupPolicyPostgresqlOutputWithContext(ctx context.Context) BackupPolicyPostgresqlOutput

func (BackupPolicyPostgresqlOutput) VaultName added in v5.5.0

The name of the Backup Vault where the Backup Policy PostgreSQL should exist. Changing this forces a new Backup Policy PostgreSQL to be created.

type BackupPolicyPostgresqlRetentionRule

type BackupPolicyPostgresqlRetentionRule struct {
	// A `criteria` block as defined below. Changing this forces a new Backup Policy PostgreSQL to be created.
	Criteria BackupPolicyPostgresqlRetentionRuleCriteria `pulumi:"criteria"`
	// Duration after which the backup is deleted. It should follow `ISO 8601` duration format. Changing this forces a new Backup Policy PostgreSQL to be created.
	Duration string `pulumi:"duration"`
	// The name which should be used for this retention rule. Changing this forces a new Backup Policy PostgreSQL to be created.
	Name string `pulumi:"name"`
	// Specifies the priority of the rule. The priority number must be unique for each rule. The lower the priority number, the higher the priority of the rule. Changing this forces a new Backup Policy PostgreSQL to be created.
	Priority int `pulumi:"priority"`
}

type BackupPolicyPostgresqlRetentionRuleArgs

type BackupPolicyPostgresqlRetentionRuleArgs struct {
	// A `criteria` block as defined below. Changing this forces a new Backup Policy PostgreSQL to be created.
	Criteria BackupPolicyPostgresqlRetentionRuleCriteriaInput `pulumi:"criteria"`
	// Duration after which the backup is deleted. It should follow `ISO 8601` duration format. Changing this forces a new Backup Policy PostgreSQL to be created.
	Duration pulumi.StringInput `pulumi:"duration"`
	// The name which should be used for this retention rule. Changing this forces a new Backup Policy PostgreSQL to be created.
	Name pulumi.StringInput `pulumi:"name"`
	// Specifies the priority of the rule. The priority number must be unique for each rule. The lower the priority number, the higher the priority of the rule. Changing this forces a new Backup Policy PostgreSQL to be created.
	Priority pulumi.IntInput `pulumi:"priority"`
}

func (BackupPolicyPostgresqlRetentionRuleArgs) ElementType

func (BackupPolicyPostgresqlRetentionRuleArgs) ToBackupPolicyPostgresqlRetentionRuleOutput

func (i BackupPolicyPostgresqlRetentionRuleArgs) ToBackupPolicyPostgresqlRetentionRuleOutput() BackupPolicyPostgresqlRetentionRuleOutput

func (BackupPolicyPostgresqlRetentionRuleArgs) ToBackupPolicyPostgresqlRetentionRuleOutputWithContext

func (i BackupPolicyPostgresqlRetentionRuleArgs) ToBackupPolicyPostgresqlRetentionRuleOutputWithContext(ctx context.Context) BackupPolicyPostgresqlRetentionRuleOutput

type BackupPolicyPostgresqlRetentionRuleArray

type BackupPolicyPostgresqlRetentionRuleArray []BackupPolicyPostgresqlRetentionRuleInput

func (BackupPolicyPostgresqlRetentionRuleArray) ElementType

func (BackupPolicyPostgresqlRetentionRuleArray) ToBackupPolicyPostgresqlRetentionRuleArrayOutput

func (i BackupPolicyPostgresqlRetentionRuleArray) ToBackupPolicyPostgresqlRetentionRuleArrayOutput() BackupPolicyPostgresqlRetentionRuleArrayOutput

func (BackupPolicyPostgresqlRetentionRuleArray) ToBackupPolicyPostgresqlRetentionRuleArrayOutputWithContext

func (i BackupPolicyPostgresqlRetentionRuleArray) ToBackupPolicyPostgresqlRetentionRuleArrayOutputWithContext(ctx context.Context) BackupPolicyPostgresqlRetentionRuleArrayOutput

type BackupPolicyPostgresqlRetentionRuleArrayInput

type BackupPolicyPostgresqlRetentionRuleArrayInput interface {
	pulumi.Input

	ToBackupPolicyPostgresqlRetentionRuleArrayOutput() BackupPolicyPostgresqlRetentionRuleArrayOutput
	ToBackupPolicyPostgresqlRetentionRuleArrayOutputWithContext(context.Context) BackupPolicyPostgresqlRetentionRuleArrayOutput
}

BackupPolicyPostgresqlRetentionRuleArrayInput is an input type that accepts BackupPolicyPostgresqlRetentionRuleArray and BackupPolicyPostgresqlRetentionRuleArrayOutput values. You can construct a concrete instance of `BackupPolicyPostgresqlRetentionRuleArrayInput` via:

BackupPolicyPostgresqlRetentionRuleArray{ BackupPolicyPostgresqlRetentionRuleArgs{...} }

type BackupPolicyPostgresqlRetentionRuleArrayOutput

type BackupPolicyPostgresqlRetentionRuleArrayOutput struct{ *pulumi.OutputState }

func (BackupPolicyPostgresqlRetentionRuleArrayOutput) ElementType

func (BackupPolicyPostgresqlRetentionRuleArrayOutput) Index

func (BackupPolicyPostgresqlRetentionRuleArrayOutput) ToBackupPolicyPostgresqlRetentionRuleArrayOutput

func (o BackupPolicyPostgresqlRetentionRuleArrayOutput) ToBackupPolicyPostgresqlRetentionRuleArrayOutput() BackupPolicyPostgresqlRetentionRuleArrayOutput

func (BackupPolicyPostgresqlRetentionRuleArrayOutput) ToBackupPolicyPostgresqlRetentionRuleArrayOutputWithContext

func (o BackupPolicyPostgresqlRetentionRuleArrayOutput) ToBackupPolicyPostgresqlRetentionRuleArrayOutputWithContext(ctx context.Context) BackupPolicyPostgresqlRetentionRuleArrayOutput

type BackupPolicyPostgresqlRetentionRuleCriteria

type BackupPolicyPostgresqlRetentionRuleCriteria struct {
	// Possible values are `AllBackup`, `FirstOfDay`, `FirstOfWeek`, `FirstOfMonth` and `FirstOfYear`. These values mean the first successful backup of the day/week/month/year. Changing this forces a new Backup Policy PostgreSQL to be created.
	AbsoluteCriteria *string `pulumi:"absoluteCriteria"`
	// Possible values are `Monday`, `Tuesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`. Changing this forces a new Backup Policy PostgreSQL to be created.
	DaysOfWeeks []string `pulumi:"daysOfWeeks"`
	// Possible values are `January`, `February`, `March`, `April`, `May`, `June`, `July`, `August`, `September`, `October`, `November` and `December`. Changing this forces a new Backup Policy PostgreSQL to be created.
	MonthsOfYears []string `pulumi:"monthsOfYears"`
	// Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new Backup Policy PostgreSQL to be created.
	ScheduledBackupTimes []string `pulumi:"scheduledBackupTimes"`
	// Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new Backup Policy PostgreSQL to be created.
	WeeksOfMonths []string `pulumi:"weeksOfMonths"`
}

type BackupPolicyPostgresqlRetentionRuleCriteriaArgs

type BackupPolicyPostgresqlRetentionRuleCriteriaArgs struct {
	// Possible values are `AllBackup`, `FirstOfDay`, `FirstOfWeek`, `FirstOfMonth` and `FirstOfYear`. These values mean the first successful backup of the day/week/month/year. Changing this forces a new Backup Policy PostgreSQL to be created.
	AbsoluteCriteria pulumi.StringPtrInput `pulumi:"absoluteCriteria"`
	// Possible values are `Monday`, `Tuesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`. Changing this forces a new Backup Policy PostgreSQL to be created.
	DaysOfWeeks pulumi.StringArrayInput `pulumi:"daysOfWeeks"`
	// Possible values are `January`, `February`, `March`, `April`, `May`, `June`, `July`, `August`, `September`, `October`, `November` and `December`. Changing this forces a new Backup Policy PostgreSQL to be created.
	MonthsOfYears pulumi.StringArrayInput `pulumi:"monthsOfYears"`
	// Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new Backup Policy PostgreSQL to be created.
	ScheduledBackupTimes pulumi.StringArrayInput `pulumi:"scheduledBackupTimes"`
	// Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new Backup Policy PostgreSQL to be created.
	WeeksOfMonths pulumi.StringArrayInput `pulumi:"weeksOfMonths"`
}

func (BackupPolicyPostgresqlRetentionRuleCriteriaArgs) ElementType

func (BackupPolicyPostgresqlRetentionRuleCriteriaArgs) ToBackupPolicyPostgresqlRetentionRuleCriteriaOutput

func (i BackupPolicyPostgresqlRetentionRuleCriteriaArgs) ToBackupPolicyPostgresqlRetentionRuleCriteriaOutput() BackupPolicyPostgresqlRetentionRuleCriteriaOutput

func (BackupPolicyPostgresqlRetentionRuleCriteriaArgs) ToBackupPolicyPostgresqlRetentionRuleCriteriaOutputWithContext

func (i BackupPolicyPostgresqlRetentionRuleCriteriaArgs) ToBackupPolicyPostgresqlRetentionRuleCriteriaOutputWithContext(ctx context.Context) BackupPolicyPostgresqlRetentionRuleCriteriaOutput

type BackupPolicyPostgresqlRetentionRuleCriteriaInput

type BackupPolicyPostgresqlRetentionRuleCriteriaInput interface {
	pulumi.Input

	ToBackupPolicyPostgresqlRetentionRuleCriteriaOutput() BackupPolicyPostgresqlRetentionRuleCriteriaOutput
	ToBackupPolicyPostgresqlRetentionRuleCriteriaOutputWithContext(context.Context) BackupPolicyPostgresqlRetentionRuleCriteriaOutput
}

BackupPolicyPostgresqlRetentionRuleCriteriaInput is an input type that accepts BackupPolicyPostgresqlRetentionRuleCriteriaArgs and BackupPolicyPostgresqlRetentionRuleCriteriaOutput values. You can construct a concrete instance of `BackupPolicyPostgresqlRetentionRuleCriteriaInput` via:

BackupPolicyPostgresqlRetentionRuleCriteriaArgs{...}

type BackupPolicyPostgresqlRetentionRuleCriteriaOutput

type BackupPolicyPostgresqlRetentionRuleCriteriaOutput struct{ *pulumi.OutputState }

func (BackupPolicyPostgresqlRetentionRuleCriteriaOutput) AbsoluteCriteria

Possible values are `AllBackup`, `FirstOfDay`, `FirstOfWeek`, `FirstOfMonth` and `FirstOfYear`. These values mean the first successful backup of the day/week/month/year. Changing this forces a new Backup Policy PostgreSQL to be created.

func (BackupPolicyPostgresqlRetentionRuleCriteriaOutput) DaysOfWeeks

Possible values are `Monday`, `Tuesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`. Changing this forces a new Backup Policy PostgreSQL to be created.

func (BackupPolicyPostgresqlRetentionRuleCriteriaOutput) ElementType

func (BackupPolicyPostgresqlRetentionRuleCriteriaOutput) MonthsOfYears

Possible values are `January`, `February`, `March`, `April`, `May`, `June`, `July`, `August`, `September`, `October`, `November` and `December`. Changing this forces a new Backup Policy PostgreSQL to be created.

func (BackupPolicyPostgresqlRetentionRuleCriteriaOutput) ScheduledBackupTimes

Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new Backup Policy PostgreSQL to be created.

func (BackupPolicyPostgresqlRetentionRuleCriteriaOutput) ToBackupPolicyPostgresqlRetentionRuleCriteriaOutput

func (o BackupPolicyPostgresqlRetentionRuleCriteriaOutput) ToBackupPolicyPostgresqlRetentionRuleCriteriaOutput() BackupPolicyPostgresqlRetentionRuleCriteriaOutput

func (BackupPolicyPostgresqlRetentionRuleCriteriaOutput) ToBackupPolicyPostgresqlRetentionRuleCriteriaOutputWithContext

func (o BackupPolicyPostgresqlRetentionRuleCriteriaOutput) ToBackupPolicyPostgresqlRetentionRuleCriteriaOutputWithContext(ctx context.Context) BackupPolicyPostgresqlRetentionRuleCriteriaOutput

func (BackupPolicyPostgresqlRetentionRuleCriteriaOutput) WeeksOfMonths

Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new Backup Policy PostgreSQL to be created.

type BackupPolicyPostgresqlRetentionRuleInput

type BackupPolicyPostgresqlRetentionRuleInput interface {
	pulumi.Input

	ToBackupPolicyPostgresqlRetentionRuleOutput() BackupPolicyPostgresqlRetentionRuleOutput
	ToBackupPolicyPostgresqlRetentionRuleOutputWithContext(context.Context) BackupPolicyPostgresqlRetentionRuleOutput
}

BackupPolicyPostgresqlRetentionRuleInput is an input type that accepts BackupPolicyPostgresqlRetentionRuleArgs and BackupPolicyPostgresqlRetentionRuleOutput values. You can construct a concrete instance of `BackupPolicyPostgresqlRetentionRuleInput` via:

BackupPolicyPostgresqlRetentionRuleArgs{...}

type BackupPolicyPostgresqlRetentionRuleOutput

type BackupPolicyPostgresqlRetentionRuleOutput struct{ *pulumi.OutputState }

func (BackupPolicyPostgresqlRetentionRuleOutput) Criteria

A `criteria` block as defined below. Changing this forces a new Backup Policy PostgreSQL to be created.

func (BackupPolicyPostgresqlRetentionRuleOutput) Duration

Duration after which the backup is deleted. It should follow `ISO 8601` duration format. Changing this forces a new Backup Policy PostgreSQL to be created.

func (BackupPolicyPostgresqlRetentionRuleOutput) ElementType

func (BackupPolicyPostgresqlRetentionRuleOutput) Name

The name which should be used for this retention rule. Changing this forces a new Backup Policy PostgreSQL to be created.

func (BackupPolicyPostgresqlRetentionRuleOutput) Priority

Specifies the priority of the rule. The priority number must be unique for each rule. The lower the priority number, the higher the priority of the rule. Changing this forces a new Backup Policy PostgreSQL to be created.

func (BackupPolicyPostgresqlRetentionRuleOutput) ToBackupPolicyPostgresqlRetentionRuleOutput

func (o BackupPolicyPostgresqlRetentionRuleOutput) ToBackupPolicyPostgresqlRetentionRuleOutput() BackupPolicyPostgresqlRetentionRuleOutput

func (BackupPolicyPostgresqlRetentionRuleOutput) ToBackupPolicyPostgresqlRetentionRuleOutputWithContext

func (o BackupPolicyPostgresqlRetentionRuleOutput) ToBackupPolicyPostgresqlRetentionRuleOutputWithContext(ctx context.Context) BackupPolicyPostgresqlRetentionRuleOutput

type BackupPolicyPostgresqlState

type BackupPolicyPostgresqlState struct {
	// Specifies a list of repeating time interval. It supports weekly back. It should follow `ISO 8601` repeating time interval. Changing this forces a new Backup Policy PostgreSQL to be created.
	BackupRepeatingTimeIntervals pulumi.StringArrayInput
	// The duration of default retention rule. It should follow `ISO 8601` duration format. Changing this forces a new Backup Policy PostgreSQL to be created.
	DefaultRetentionDuration pulumi.StringPtrInput
	// The name which should be used for this Backup Policy PostgreSQL. Changing this forces a new Backup Policy PostgreSQL to be created.
	Name pulumi.StringPtrInput
	// The name of the Resource Group where the Backup Policy PostgreSQL should exist. Changing this forces a new Backup Policy PostgreSQL to be created.
	ResourceGroupName pulumi.StringPtrInput
	// One or more `retentionRule` blocks as defined below. Changing this forces a new Backup Policy PostgreSQL to be created.
	RetentionRules BackupPolicyPostgresqlRetentionRuleArrayInput
	// Specifies the Time Zone which should be used by the backup schedule. Changing this forces a new Backup Policy PostgreSQL to be created.
	TimeZone pulumi.StringPtrInput
	// The name of the Backup Vault where the Backup Policy PostgreSQL should exist. Changing this forces a new Backup Policy PostgreSQL to be created.
	VaultName pulumi.StringPtrInput
}

func (BackupPolicyPostgresqlState) ElementType

type BackupVault

type BackupVault struct {
	pulumi.CustomResourceState

	// Specifies the type of the data store. Possible values are `ArchiveStore`, `OperationalStore`, `SnapshotStore` and `VaultStore`. Changing this forces a new resource to be created.
	//
	// > **Note:** The `SnapshotStore` will be removed in version 4.0 as it has been replaced by `OperationalStore`.
	DatastoreType pulumi.StringOutput `pulumi:"datastoreType"`
	// An `identity` block as defined below.
	Identity BackupVaultIdentityPtrOutput `pulumi:"identity"`
	// The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// Specifies the name of the Backup Vault. Changing this forces a new Backup Vault to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies the backup storage redundancy. Possible values are `GeoRedundant`, `LocallyRedundant` and `ZoneRedundant`. Changing this forces a new Backup Vault to be created.
	Redundancy pulumi.StringOutput `pulumi:"redundancy"`
	// The name of the Resource Group where the Backup Vault should exist. Changing this forces a new Backup Vault to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`.
	//
	// > **Note:** The `retentionDurationInDays` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retentionDurationInDays` is required when the `softDelete` is set to `On`.
	RetentionDurationInDays pulumi.Float64PtrOutput `pulumi:"retentionDurationInDays"`
	// The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`.
	//
	// > **Note:** Once the `softDelete` is set to `AlwaysOn`, the setting cannot be changed.
	SoftDelete pulumi.StringPtrOutput `pulumi:"softDelete"`
	// A mapping of tags which should be assigned to the Backup Vault.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Manages a Backup Vault.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/dataprotection"
"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-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		_, err = dataprotection.NewBackupVault(ctx, "example", &dataprotection.BackupVaultArgs{
			Name:              pulumi.String("example-backup-vault"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
			DatastoreType:     pulumi.String("VaultStore"),
			Redundancy:        pulumi.String("LocallyRedundant"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh $ pulumi import azure:dataprotection/backupVault:BackupVault example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataProtection/backupVaults/vault1 ```

func GetBackupVault

func GetBackupVault(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BackupVaultState, opts ...pulumi.ResourceOption) (*BackupVault, error)

GetBackupVault gets an existing BackupVault 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 NewBackupVault

func NewBackupVault(ctx *pulumi.Context,
	name string, args *BackupVaultArgs, opts ...pulumi.ResourceOption) (*BackupVault, error)

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

func (*BackupVault) ElementType

func (*BackupVault) ElementType() reflect.Type

func (*BackupVault) ToBackupVaultOutput

func (i *BackupVault) ToBackupVaultOutput() BackupVaultOutput

func (*BackupVault) ToBackupVaultOutputWithContext

func (i *BackupVault) ToBackupVaultOutputWithContext(ctx context.Context) BackupVaultOutput

type BackupVaultArgs

type BackupVaultArgs struct {
	// Specifies the type of the data store. Possible values are `ArchiveStore`, `OperationalStore`, `SnapshotStore` and `VaultStore`. Changing this forces a new resource to be created.
	//
	// > **Note:** The `SnapshotStore` will be removed in version 4.0 as it has been replaced by `OperationalStore`.
	DatastoreType pulumi.StringInput
	// An `identity` block as defined below.
	Identity BackupVaultIdentityPtrInput
	// The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created.
	Location pulumi.StringPtrInput
	// Specifies the name of the Backup Vault. Changing this forces a new Backup Vault to be created.
	Name pulumi.StringPtrInput
	// Specifies the backup storage redundancy. Possible values are `GeoRedundant`, `LocallyRedundant` and `ZoneRedundant`. Changing this forces a new Backup Vault to be created.
	Redundancy pulumi.StringInput
	// The name of the Resource Group where the Backup Vault should exist. Changing this forces a new Backup Vault to be created.
	ResourceGroupName pulumi.StringInput
	// The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`.
	//
	// > **Note:** The `retentionDurationInDays` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retentionDurationInDays` is required when the `softDelete` is set to `On`.
	RetentionDurationInDays pulumi.Float64PtrInput
	// The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`.
	//
	// > **Note:** Once the `softDelete` is set to `AlwaysOn`, the setting cannot be changed.
	SoftDelete pulumi.StringPtrInput
	// A mapping of tags which should be assigned to the Backup Vault.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a BackupVault resource.

func (BackupVaultArgs) ElementType

func (BackupVaultArgs) ElementType() reflect.Type

type BackupVaultArray

type BackupVaultArray []BackupVaultInput

func (BackupVaultArray) ElementType

func (BackupVaultArray) ElementType() reflect.Type

func (BackupVaultArray) ToBackupVaultArrayOutput

func (i BackupVaultArray) ToBackupVaultArrayOutput() BackupVaultArrayOutput

func (BackupVaultArray) ToBackupVaultArrayOutputWithContext

func (i BackupVaultArray) ToBackupVaultArrayOutputWithContext(ctx context.Context) BackupVaultArrayOutput

type BackupVaultArrayInput

type BackupVaultArrayInput interface {
	pulumi.Input

	ToBackupVaultArrayOutput() BackupVaultArrayOutput
	ToBackupVaultArrayOutputWithContext(context.Context) BackupVaultArrayOutput
}

BackupVaultArrayInput is an input type that accepts BackupVaultArray and BackupVaultArrayOutput values. You can construct a concrete instance of `BackupVaultArrayInput` via:

BackupVaultArray{ BackupVaultArgs{...} }

type BackupVaultArrayOutput

type BackupVaultArrayOutput struct{ *pulumi.OutputState }

func (BackupVaultArrayOutput) ElementType

func (BackupVaultArrayOutput) ElementType() reflect.Type

func (BackupVaultArrayOutput) Index

func (BackupVaultArrayOutput) ToBackupVaultArrayOutput

func (o BackupVaultArrayOutput) ToBackupVaultArrayOutput() BackupVaultArrayOutput

func (BackupVaultArrayOutput) ToBackupVaultArrayOutputWithContext

func (o BackupVaultArrayOutput) ToBackupVaultArrayOutputWithContext(ctx context.Context) BackupVaultArrayOutput

type BackupVaultIdentity

type BackupVaultIdentity struct {
	// The Principal ID for the Service Principal associated with the Identity of this Backup Vault.
	PrincipalId *string `pulumi:"principalId"`
	// The Tenant ID for the Service Principal associated with the Identity of this Backup Vault.
	TenantId *string `pulumi:"tenantId"`
	// Specifies the type of Managed Service Identity that should be configured on this Backup Vault. The only possible value is `SystemAssigned`.
	Type string `pulumi:"type"`
}

type BackupVaultIdentityArgs

type BackupVaultIdentityArgs struct {
	// The Principal ID for the Service Principal associated with the Identity of this Backup Vault.
	PrincipalId pulumi.StringPtrInput `pulumi:"principalId"`
	// The Tenant ID for the Service Principal associated with the Identity of this Backup Vault.
	TenantId pulumi.StringPtrInput `pulumi:"tenantId"`
	// Specifies the type of Managed Service Identity that should be configured on this Backup Vault. The only possible value is `SystemAssigned`.
	Type pulumi.StringInput `pulumi:"type"`
}

func (BackupVaultIdentityArgs) ElementType

func (BackupVaultIdentityArgs) ElementType() reflect.Type

func (BackupVaultIdentityArgs) ToBackupVaultIdentityOutput

func (i BackupVaultIdentityArgs) ToBackupVaultIdentityOutput() BackupVaultIdentityOutput

func (BackupVaultIdentityArgs) ToBackupVaultIdentityOutputWithContext

func (i BackupVaultIdentityArgs) ToBackupVaultIdentityOutputWithContext(ctx context.Context) BackupVaultIdentityOutput

func (BackupVaultIdentityArgs) ToBackupVaultIdentityPtrOutput

func (i BackupVaultIdentityArgs) ToBackupVaultIdentityPtrOutput() BackupVaultIdentityPtrOutput

func (BackupVaultIdentityArgs) ToBackupVaultIdentityPtrOutputWithContext

func (i BackupVaultIdentityArgs) ToBackupVaultIdentityPtrOutputWithContext(ctx context.Context) BackupVaultIdentityPtrOutput

type BackupVaultIdentityInput

type BackupVaultIdentityInput interface {
	pulumi.Input

	ToBackupVaultIdentityOutput() BackupVaultIdentityOutput
	ToBackupVaultIdentityOutputWithContext(context.Context) BackupVaultIdentityOutput
}

BackupVaultIdentityInput is an input type that accepts BackupVaultIdentityArgs and BackupVaultIdentityOutput values. You can construct a concrete instance of `BackupVaultIdentityInput` via:

BackupVaultIdentityArgs{...}

type BackupVaultIdentityOutput

type BackupVaultIdentityOutput struct{ *pulumi.OutputState }

func (BackupVaultIdentityOutput) ElementType

func (BackupVaultIdentityOutput) ElementType() reflect.Type

func (BackupVaultIdentityOutput) PrincipalId

The Principal ID for the Service Principal associated with the Identity of this Backup Vault.

func (BackupVaultIdentityOutput) TenantId

The Tenant ID for the Service Principal associated with the Identity of this Backup Vault.

func (BackupVaultIdentityOutput) ToBackupVaultIdentityOutput

func (o BackupVaultIdentityOutput) ToBackupVaultIdentityOutput() BackupVaultIdentityOutput

func (BackupVaultIdentityOutput) ToBackupVaultIdentityOutputWithContext

func (o BackupVaultIdentityOutput) ToBackupVaultIdentityOutputWithContext(ctx context.Context) BackupVaultIdentityOutput

func (BackupVaultIdentityOutput) ToBackupVaultIdentityPtrOutput

func (o BackupVaultIdentityOutput) ToBackupVaultIdentityPtrOutput() BackupVaultIdentityPtrOutput

func (BackupVaultIdentityOutput) ToBackupVaultIdentityPtrOutputWithContext

func (o BackupVaultIdentityOutput) ToBackupVaultIdentityPtrOutputWithContext(ctx context.Context) BackupVaultIdentityPtrOutput

func (BackupVaultIdentityOutput) Type

Specifies the type of Managed Service Identity that should be configured on this Backup Vault. The only possible value is `SystemAssigned`.

type BackupVaultIdentityPtrInput

type BackupVaultIdentityPtrInput interface {
	pulumi.Input

	ToBackupVaultIdentityPtrOutput() BackupVaultIdentityPtrOutput
	ToBackupVaultIdentityPtrOutputWithContext(context.Context) BackupVaultIdentityPtrOutput
}

BackupVaultIdentityPtrInput is an input type that accepts BackupVaultIdentityArgs, BackupVaultIdentityPtr and BackupVaultIdentityPtrOutput values. You can construct a concrete instance of `BackupVaultIdentityPtrInput` via:

        BackupVaultIdentityArgs{...}

or:

        nil

type BackupVaultIdentityPtrOutput

type BackupVaultIdentityPtrOutput struct{ *pulumi.OutputState }

func (BackupVaultIdentityPtrOutput) Elem

func (BackupVaultIdentityPtrOutput) ElementType

func (BackupVaultIdentityPtrOutput) PrincipalId

The Principal ID for the Service Principal associated with the Identity of this Backup Vault.

func (BackupVaultIdentityPtrOutput) TenantId

The Tenant ID for the Service Principal associated with the Identity of this Backup Vault.

func (BackupVaultIdentityPtrOutput) ToBackupVaultIdentityPtrOutput

func (o BackupVaultIdentityPtrOutput) ToBackupVaultIdentityPtrOutput() BackupVaultIdentityPtrOutput

func (BackupVaultIdentityPtrOutput) ToBackupVaultIdentityPtrOutputWithContext

func (o BackupVaultIdentityPtrOutput) ToBackupVaultIdentityPtrOutputWithContext(ctx context.Context) BackupVaultIdentityPtrOutput

func (BackupVaultIdentityPtrOutput) Type

Specifies the type of Managed Service Identity that should be configured on this Backup Vault. The only possible value is `SystemAssigned`.

type BackupVaultInput

type BackupVaultInput interface {
	pulumi.Input

	ToBackupVaultOutput() BackupVaultOutput
	ToBackupVaultOutputWithContext(ctx context.Context) BackupVaultOutput
}

type BackupVaultMap

type BackupVaultMap map[string]BackupVaultInput

func (BackupVaultMap) ElementType

func (BackupVaultMap) ElementType() reflect.Type

func (BackupVaultMap) ToBackupVaultMapOutput

func (i BackupVaultMap) ToBackupVaultMapOutput() BackupVaultMapOutput

func (BackupVaultMap) ToBackupVaultMapOutputWithContext

func (i BackupVaultMap) ToBackupVaultMapOutputWithContext(ctx context.Context) BackupVaultMapOutput

type BackupVaultMapInput

type BackupVaultMapInput interface {
	pulumi.Input

	ToBackupVaultMapOutput() BackupVaultMapOutput
	ToBackupVaultMapOutputWithContext(context.Context) BackupVaultMapOutput
}

BackupVaultMapInput is an input type that accepts BackupVaultMap and BackupVaultMapOutput values. You can construct a concrete instance of `BackupVaultMapInput` via:

BackupVaultMap{ "key": BackupVaultArgs{...} }

type BackupVaultMapOutput

type BackupVaultMapOutput struct{ *pulumi.OutputState }

func (BackupVaultMapOutput) ElementType

func (BackupVaultMapOutput) ElementType() reflect.Type

func (BackupVaultMapOutput) MapIndex

func (BackupVaultMapOutput) ToBackupVaultMapOutput

func (o BackupVaultMapOutput) ToBackupVaultMapOutput() BackupVaultMapOutput

func (BackupVaultMapOutput) ToBackupVaultMapOutputWithContext

func (o BackupVaultMapOutput) ToBackupVaultMapOutputWithContext(ctx context.Context) BackupVaultMapOutput

type BackupVaultOutput

type BackupVaultOutput struct{ *pulumi.OutputState }

func (BackupVaultOutput) DatastoreType added in v5.5.0

func (o BackupVaultOutput) DatastoreType() pulumi.StringOutput

Specifies the type of the data store. Possible values are `ArchiveStore`, `OperationalStore`, `SnapshotStore` and `VaultStore`. Changing this forces a new resource to be created.

> **Note:** The `SnapshotStore` will be removed in version 4.0 as it has been replaced by `OperationalStore`.

func (BackupVaultOutput) ElementType

func (BackupVaultOutput) ElementType() reflect.Type

func (BackupVaultOutput) Identity added in v5.5.0

An `identity` block as defined below.

func (BackupVaultOutput) Location added in v5.5.0

func (o BackupVaultOutput) Location() pulumi.StringOutput

The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created.

func (BackupVaultOutput) Name added in v5.5.0

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

func (BackupVaultOutput) Redundancy added in v5.5.0

func (o BackupVaultOutput) Redundancy() pulumi.StringOutput

Specifies the backup storage redundancy. Possible values are `GeoRedundant`, `LocallyRedundant` and `ZoneRedundant`. Changing this forces a new Backup Vault to be created.

func (BackupVaultOutput) ResourceGroupName added in v5.5.0

func (o BackupVaultOutput) ResourceGroupName() pulumi.StringOutput

The name of the Resource Group where the Backup Vault should exist. Changing this forces a new Backup Vault to be created.

func (BackupVaultOutput) RetentionDurationInDays added in v5.68.0

func (o BackupVaultOutput) RetentionDurationInDays() pulumi.Float64PtrOutput

The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`.

> **Note:** The `retentionDurationInDays` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retentionDurationInDays` is required when the `softDelete` is set to `On`.

func (BackupVaultOutput) SoftDelete added in v5.68.0

func (o BackupVaultOutput) SoftDelete() pulumi.StringPtrOutput

The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`.

> **Note:** Once the `softDelete` is set to `AlwaysOn`, the setting cannot be changed.

func (BackupVaultOutput) Tags added in v5.5.0

A mapping of tags which should be assigned to the Backup Vault.

func (BackupVaultOutput) ToBackupVaultOutput

func (o BackupVaultOutput) ToBackupVaultOutput() BackupVaultOutput

func (BackupVaultOutput) ToBackupVaultOutputWithContext

func (o BackupVaultOutput) ToBackupVaultOutputWithContext(ctx context.Context) BackupVaultOutput

type BackupVaultState

type BackupVaultState struct {
	// Specifies the type of the data store. Possible values are `ArchiveStore`, `OperationalStore`, `SnapshotStore` and `VaultStore`. Changing this forces a new resource to be created.
	//
	// > **Note:** The `SnapshotStore` will be removed in version 4.0 as it has been replaced by `OperationalStore`.
	DatastoreType pulumi.StringPtrInput
	// An `identity` block as defined below.
	Identity BackupVaultIdentityPtrInput
	// The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created.
	Location pulumi.StringPtrInput
	// Specifies the name of the Backup Vault. Changing this forces a new Backup Vault to be created.
	Name pulumi.StringPtrInput
	// Specifies the backup storage redundancy. Possible values are `GeoRedundant`, `LocallyRedundant` and `ZoneRedundant`. Changing this forces a new Backup Vault to be created.
	Redundancy pulumi.StringPtrInput
	// The name of the Resource Group where the Backup Vault should exist. Changing this forces a new Backup Vault to be created.
	ResourceGroupName pulumi.StringPtrInput
	// The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`.
	//
	// > **Note:** The `retentionDurationInDays` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retentionDurationInDays` is required when the `softDelete` is set to `On`.
	RetentionDurationInDays pulumi.Float64PtrInput
	// The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`.
	//
	// > **Note:** Once the `softDelete` is set to `AlwaysOn`, the setting cannot be changed.
	SoftDelete pulumi.StringPtrInput
	// A mapping of tags which should be assigned to the Backup Vault.
	Tags pulumi.StringMapInput
}

func (BackupVaultState) ElementType

func (BackupVaultState) ElementType() reflect.Type

type GetBackupVaultIdentity

type GetBackupVaultIdentity struct {
	// The Principal ID of the System Assigned Managed Service Identity that is configured on this Backup Vault.
	PrincipalId string `pulumi:"principalId"`
	// The Tenant ID of the System Assigned Managed Service Identity that is configured on this Backup Vault.
	TenantId string `pulumi:"tenantId"`
	// The type of Managed Service Identity that is configured on this Backup Vault.
	Type string `pulumi:"type"`
}

type GetBackupVaultIdentityArgs

type GetBackupVaultIdentityArgs struct {
	// The Principal ID of the System Assigned Managed Service Identity that is configured on this Backup Vault.
	PrincipalId pulumi.StringInput `pulumi:"principalId"`
	// The Tenant ID of the System Assigned Managed Service Identity that is configured on this Backup Vault.
	TenantId pulumi.StringInput `pulumi:"tenantId"`
	// The type of Managed Service Identity that is configured on this Backup Vault.
	Type pulumi.StringInput `pulumi:"type"`
}

func (GetBackupVaultIdentityArgs) ElementType

func (GetBackupVaultIdentityArgs) ElementType() reflect.Type

func (GetBackupVaultIdentityArgs) ToGetBackupVaultIdentityOutput

func (i GetBackupVaultIdentityArgs) ToGetBackupVaultIdentityOutput() GetBackupVaultIdentityOutput

func (GetBackupVaultIdentityArgs) ToGetBackupVaultIdentityOutputWithContext

func (i GetBackupVaultIdentityArgs) ToGetBackupVaultIdentityOutputWithContext(ctx context.Context) GetBackupVaultIdentityOutput

type GetBackupVaultIdentityArray

type GetBackupVaultIdentityArray []GetBackupVaultIdentityInput

func (GetBackupVaultIdentityArray) ElementType

func (GetBackupVaultIdentityArray) ToGetBackupVaultIdentityArrayOutput

func (i GetBackupVaultIdentityArray) ToGetBackupVaultIdentityArrayOutput() GetBackupVaultIdentityArrayOutput

func (GetBackupVaultIdentityArray) ToGetBackupVaultIdentityArrayOutputWithContext

func (i GetBackupVaultIdentityArray) ToGetBackupVaultIdentityArrayOutputWithContext(ctx context.Context) GetBackupVaultIdentityArrayOutput

type GetBackupVaultIdentityArrayInput

type GetBackupVaultIdentityArrayInput interface {
	pulumi.Input

	ToGetBackupVaultIdentityArrayOutput() GetBackupVaultIdentityArrayOutput
	ToGetBackupVaultIdentityArrayOutputWithContext(context.Context) GetBackupVaultIdentityArrayOutput
}

GetBackupVaultIdentityArrayInput is an input type that accepts GetBackupVaultIdentityArray and GetBackupVaultIdentityArrayOutput values. You can construct a concrete instance of `GetBackupVaultIdentityArrayInput` via:

GetBackupVaultIdentityArray{ GetBackupVaultIdentityArgs{...} }

type GetBackupVaultIdentityArrayOutput

type GetBackupVaultIdentityArrayOutput struct{ *pulumi.OutputState }

func (GetBackupVaultIdentityArrayOutput) ElementType

func (GetBackupVaultIdentityArrayOutput) Index

func (GetBackupVaultIdentityArrayOutput) ToGetBackupVaultIdentityArrayOutput

func (o GetBackupVaultIdentityArrayOutput) ToGetBackupVaultIdentityArrayOutput() GetBackupVaultIdentityArrayOutput

func (GetBackupVaultIdentityArrayOutput) ToGetBackupVaultIdentityArrayOutputWithContext

func (o GetBackupVaultIdentityArrayOutput) ToGetBackupVaultIdentityArrayOutputWithContext(ctx context.Context) GetBackupVaultIdentityArrayOutput

type GetBackupVaultIdentityInput

type GetBackupVaultIdentityInput interface {
	pulumi.Input

	ToGetBackupVaultIdentityOutput() GetBackupVaultIdentityOutput
	ToGetBackupVaultIdentityOutputWithContext(context.Context) GetBackupVaultIdentityOutput
}

GetBackupVaultIdentityInput is an input type that accepts GetBackupVaultIdentityArgs and GetBackupVaultIdentityOutput values. You can construct a concrete instance of `GetBackupVaultIdentityInput` via:

GetBackupVaultIdentityArgs{...}

type GetBackupVaultIdentityOutput

type GetBackupVaultIdentityOutput struct{ *pulumi.OutputState }

func (GetBackupVaultIdentityOutput) ElementType

func (GetBackupVaultIdentityOutput) PrincipalId

The Principal ID of the System Assigned Managed Service Identity that is configured on this Backup Vault.

func (GetBackupVaultIdentityOutput) TenantId

The Tenant ID of the System Assigned Managed Service Identity that is configured on this Backup Vault.

func (GetBackupVaultIdentityOutput) ToGetBackupVaultIdentityOutput

func (o GetBackupVaultIdentityOutput) ToGetBackupVaultIdentityOutput() GetBackupVaultIdentityOutput

func (GetBackupVaultIdentityOutput) ToGetBackupVaultIdentityOutputWithContext

func (o GetBackupVaultIdentityOutput) ToGetBackupVaultIdentityOutputWithContext(ctx context.Context) GetBackupVaultIdentityOutput

func (GetBackupVaultIdentityOutput) Type

The type of Managed Service Identity that is configured on this Backup Vault.

type LookupBackupVaultArgs

type LookupBackupVaultArgs struct {
	// Specifies the name of the Backup Vault.
	Name string `pulumi:"name"`
	// The name of the Resource Group where the Backup Vault exists.
	ResourceGroupName string `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getBackupVault.

type LookupBackupVaultOutputArgs

type LookupBackupVaultOutputArgs struct {
	// Specifies the name of the Backup Vault.
	Name pulumi.StringInput `pulumi:"name"`
	// The name of the Resource Group where the Backup Vault exists.
	ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getBackupVault.

func (LookupBackupVaultOutputArgs) ElementType

type LookupBackupVaultResult

type LookupBackupVaultResult struct {
	// Specifies the type of the data store.
	DatastoreType string `pulumi:"datastoreType"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A `identity` block as defined below.
	Identities []GetBackupVaultIdentity `pulumi:"identities"`
	// The Azure Region where the Backup Vault exists.
	Location string `pulumi:"location"`
	Name     string `pulumi:"name"`
	// Specifies the backup storage redundancy.
	Redundancy        string `pulumi:"redundancy"`
	ResourceGroupName string `pulumi:"resourceGroupName"`
	// A mapping of tags which are assigned to the Backup Vault.
	Tags map[string]string `pulumi:"tags"`
}

A collection of values returned by getBackupVault.

func LookupBackupVault

func LookupBackupVault(ctx *pulumi.Context, args *LookupBackupVaultArgs, opts ...pulumi.InvokeOption) (*LookupBackupVaultResult, error)

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

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/dataprotection"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := dataprotection.LookupBackupVault(ctx, &dataprotection.LookupBackupVaultArgs{
			Name:              "existing-backup-vault",
			ResourceGroupName: "existing-resource-group",
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("azurermDataProtectionBackupVaultId", exampleAzurermVpnGateway.Id)
		ctx.Export("azurermDataProtectionBackupVaultPrincipalId", example.Identities[0].PrincipalId)
		return nil
	})
}

```

type LookupBackupVaultResultOutput

type LookupBackupVaultResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getBackupVault.

func (LookupBackupVaultResultOutput) DatastoreType

Specifies the type of the data store.

func (LookupBackupVaultResultOutput) ElementType

func (LookupBackupVaultResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupBackupVaultResultOutput) Identities

A `identity` block as defined below.

func (LookupBackupVaultResultOutput) Location

The Azure Region where the Backup Vault exists.

func (LookupBackupVaultResultOutput) Name

func (LookupBackupVaultResultOutput) Redundancy

Specifies the backup storage redundancy.

func (LookupBackupVaultResultOutput) ResourceGroupName

func (o LookupBackupVaultResultOutput) ResourceGroupName() pulumi.StringOutput

func (LookupBackupVaultResultOutput) Tags

A mapping of tags which are assigned to the Backup Vault.

func (LookupBackupVaultResultOutput) ToLookupBackupVaultResultOutput

func (o LookupBackupVaultResultOutput) ToLookupBackupVaultResultOutput() LookupBackupVaultResultOutput

func (LookupBackupVaultResultOutput) ToLookupBackupVaultResultOutputWithContext

func (o LookupBackupVaultResultOutput) ToLookupBackupVaultResultOutputWithContext(ctx context.Context) LookupBackupVaultResultOutput

type ResourceGuard added in v5.12.0

type ResourceGuard struct {
	pulumi.CustomResourceState

	// The Azure Region where the Resource Guard should exist. Changing this forces a new resource to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// The name of the Resource Guard. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the Resource Group where the Resource Guard should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// A mapping of tags which should be assigned to the Resource Guard.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A list of the critical operations which are not protected by this Resource Guard.
	VaultCriticalOperationExclusionLists pulumi.StringArrayOutput `pulumi:"vaultCriticalOperationExclusionLists"`
}

Manages a Resource Guard.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/dataprotection"
"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-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		_, err = dataprotection.NewResourceGuard(ctx, "example", &dataprotection.ResourceGuardArgs{
			Name:              pulumi.String("example-resourceguard"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Resource Guards can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:dataprotection/resourceGuard:ResourceGuard example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DataProtection/resourceGuards/resourceGuard1 ```

func GetResourceGuard added in v5.12.0

func GetResourceGuard(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ResourceGuardState, opts ...pulumi.ResourceOption) (*ResourceGuard, error)

GetResourceGuard gets an existing ResourceGuard 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 NewResourceGuard added in v5.12.0

func NewResourceGuard(ctx *pulumi.Context,
	name string, args *ResourceGuardArgs, opts ...pulumi.ResourceOption) (*ResourceGuard, error)

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

func (*ResourceGuard) ElementType added in v5.12.0

func (*ResourceGuard) ElementType() reflect.Type

func (*ResourceGuard) ToResourceGuardOutput added in v5.12.0

func (i *ResourceGuard) ToResourceGuardOutput() ResourceGuardOutput

func (*ResourceGuard) ToResourceGuardOutputWithContext added in v5.12.0

func (i *ResourceGuard) ToResourceGuardOutputWithContext(ctx context.Context) ResourceGuardOutput

type ResourceGuardArgs added in v5.12.0

type ResourceGuardArgs struct {
	// The Azure Region where the Resource Guard should exist. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The name of the Resource Guard. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the Resource Group where the Resource Guard should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// A mapping of tags which should be assigned to the Resource Guard.
	Tags pulumi.StringMapInput
	// A list of the critical operations which are not protected by this Resource Guard.
	VaultCriticalOperationExclusionLists pulumi.StringArrayInput
}

The set of arguments for constructing a ResourceGuard resource.

func (ResourceGuardArgs) ElementType added in v5.12.0

func (ResourceGuardArgs) ElementType() reflect.Type

type ResourceGuardArray added in v5.12.0

type ResourceGuardArray []ResourceGuardInput

func (ResourceGuardArray) ElementType added in v5.12.0

func (ResourceGuardArray) ElementType() reflect.Type

func (ResourceGuardArray) ToResourceGuardArrayOutput added in v5.12.0

func (i ResourceGuardArray) ToResourceGuardArrayOutput() ResourceGuardArrayOutput

func (ResourceGuardArray) ToResourceGuardArrayOutputWithContext added in v5.12.0

func (i ResourceGuardArray) ToResourceGuardArrayOutputWithContext(ctx context.Context) ResourceGuardArrayOutput

type ResourceGuardArrayInput added in v5.12.0

type ResourceGuardArrayInput interface {
	pulumi.Input

	ToResourceGuardArrayOutput() ResourceGuardArrayOutput
	ToResourceGuardArrayOutputWithContext(context.Context) ResourceGuardArrayOutput
}

ResourceGuardArrayInput is an input type that accepts ResourceGuardArray and ResourceGuardArrayOutput values. You can construct a concrete instance of `ResourceGuardArrayInput` via:

ResourceGuardArray{ ResourceGuardArgs{...} }

type ResourceGuardArrayOutput added in v5.12.0

type ResourceGuardArrayOutput struct{ *pulumi.OutputState }

func (ResourceGuardArrayOutput) ElementType added in v5.12.0

func (ResourceGuardArrayOutput) ElementType() reflect.Type

func (ResourceGuardArrayOutput) Index added in v5.12.0

func (ResourceGuardArrayOutput) ToResourceGuardArrayOutput added in v5.12.0

func (o ResourceGuardArrayOutput) ToResourceGuardArrayOutput() ResourceGuardArrayOutput

func (ResourceGuardArrayOutput) ToResourceGuardArrayOutputWithContext added in v5.12.0

func (o ResourceGuardArrayOutput) ToResourceGuardArrayOutputWithContext(ctx context.Context) ResourceGuardArrayOutput

type ResourceGuardInput added in v5.12.0

type ResourceGuardInput interface {
	pulumi.Input

	ToResourceGuardOutput() ResourceGuardOutput
	ToResourceGuardOutputWithContext(ctx context.Context) ResourceGuardOutput
}

type ResourceGuardMap added in v5.12.0

type ResourceGuardMap map[string]ResourceGuardInput

func (ResourceGuardMap) ElementType added in v5.12.0

func (ResourceGuardMap) ElementType() reflect.Type

func (ResourceGuardMap) ToResourceGuardMapOutput added in v5.12.0

func (i ResourceGuardMap) ToResourceGuardMapOutput() ResourceGuardMapOutput

func (ResourceGuardMap) ToResourceGuardMapOutputWithContext added in v5.12.0

func (i ResourceGuardMap) ToResourceGuardMapOutputWithContext(ctx context.Context) ResourceGuardMapOutput

type ResourceGuardMapInput added in v5.12.0

type ResourceGuardMapInput interface {
	pulumi.Input

	ToResourceGuardMapOutput() ResourceGuardMapOutput
	ToResourceGuardMapOutputWithContext(context.Context) ResourceGuardMapOutput
}

ResourceGuardMapInput is an input type that accepts ResourceGuardMap and ResourceGuardMapOutput values. You can construct a concrete instance of `ResourceGuardMapInput` via:

ResourceGuardMap{ "key": ResourceGuardArgs{...} }

type ResourceGuardMapOutput added in v5.12.0

type ResourceGuardMapOutput struct{ *pulumi.OutputState }

func (ResourceGuardMapOutput) ElementType added in v5.12.0

func (ResourceGuardMapOutput) ElementType() reflect.Type

func (ResourceGuardMapOutput) MapIndex added in v5.12.0

func (ResourceGuardMapOutput) ToResourceGuardMapOutput added in v5.12.0

func (o ResourceGuardMapOutput) ToResourceGuardMapOutput() ResourceGuardMapOutput

func (ResourceGuardMapOutput) ToResourceGuardMapOutputWithContext added in v5.12.0

func (o ResourceGuardMapOutput) ToResourceGuardMapOutputWithContext(ctx context.Context) ResourceGuardMapOutput

type ResourceGuardOutput added in v5.12.0

type ResourceGuardOutput struct{ *pulumi.OutputState }

func (ResourceGuardOutput) ElementType added in v5.12.0

func (ResourceGuardOutput) ElementType() reflect.Type

func (ResourceGuardOutput) Location added in v5.12.0

The Azure Region where the Resource Guard should exist. Changing this forces a new resource to be created.

func (ResourceGuardOutput) Name added in v5.12.0

The name of the Resource Guard. Changing this forces a new resource to be created.

func (ResourceGuardOutput) ResourceGroupName added in v5.12.0

func (o ResourceGuardOutput) ResourceGroupName() pulumi.StringOutput

The name of the Resource Group where the Resource Guard should exist. Changing this forces a new resource to be created.

func (ResourceGuardOutput) Tags added in v5.12.0

A mapping of tags which should be assigned to the Resource Guard.

func (ResourceGuardOutput) ToResourceGuardOutput added in v5.12.0

func (o ResourceGuardOutput) ToResourceGuardOutput() ResourceGuardOutput

func (ResourceGuardOutput) ToResourceGuardOutputWithContext added in v5.12.0

func (o ResourceGuardOutput) ToResourceGuardOutputWithContext(ctx context.Context) ResourceGuardOutput

func (ResourceGuardOutput) VaultCriticalOperationExclusionLists added in v5.12.0

func (o ResourceGuardOutput) VaultCriticalOperationExclusionLists() pulumi.StringArrayOutput

A list of the critical operations which are not protected by this Resource Guard.

type ResourceGuardState added in v5.12.0

type ResourceGuardState struct {
	// The Azure Region where the Resource Guard should exist. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The name of the Resource Guard. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the Resource Group where the Resource Guard should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// A mapping of tags which should be assigned to the Resource Guard.
	Tags pulumi.StringMapInput
	// A list of the critical operations which are not protected by this Resource Guard.
	VaultCriticalOperationExclusionLists pulumi.StringArrayInput
}

func (ResourceGuardState) ElementType added in v5.12.0

func (ResourceGuardState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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