dataprotection

package
v4.42.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BackupInstanceBlogStorage added in v4.18.0

type BackupInstanceBlogStorage struct {
	pulumi.CustomResourceState

	// The ID of the Backup Policy.
	BackupPolicyId pulumi.StringOutput `pulumi:"backupPolicyId"`
	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/v4/go/azure/authorization"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/dataprotection"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleAccount, err := storage.NewAccount(ctx, "exampleAccount", &storage.AccountArgs{
			ResourceGroupName:      exampleResourceGroup.Name,
			Location:               exampleResourceGroup.Location,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("LRS"),
		})
		if err != nil {
			return err
		}
		exampleBackupVault, err := dataprotection.NewBackupVault(ctx, "exampleBackupVault", &dataprotection.BackupVaultArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			Location:          exampleResourceGroup.Location,
			DatastoreType:     pulumi.String("VaultStore"),
			Redundancy:        pulumi.String("LocallyRedundant"),
			Identity: &dataprotection.BackupVaultIdentityArgs{
				Type: pulumi.String("SystemAssigned"),
			},
		})
		if err != nil {
			return err
		}
		exampleAssignment, err := authorization.NewAssignment(ctx, "exampleAssignment", &authorization.AssignmentArgs{
			Scope:              exampleAccount.ID(),
			RoleDefinitionName: pulumi.String("Storage Account Backup Contributor Role"),
			PrincipalId: exampleBackupVault.Identity.ApplyT(func(identity dataprotection.BackupVaultIdentity) (string, error) {
				return identity.PrincipalId, nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		exampleBackupPolicyBlobStorage, err := dataprotection.NewBackupPolicyBlobStorage(ctx, "exampleBackupPolicyBlobStorage", &dataprotection.BackupPolicyBlobStorageArgs{
			VaultId:           exampleBackupVault.ID(),
			RetentionDuration: pulumi.String("P30D"),
		})
		if err != nil {
			return err
		}
		_, err = dataprotection.NewBackupInstanceBlogStorage(ctx, "exampleBackupInstanceBlogStorage", &dataprotection.BackupInstanceBlogStorageArgs{
			VaultId:          exampleBackupVault.ID(),
			Location:         exampleResourceGroup.Location,
			StorageAccountId: exampleAccount.ID(),
			BackupPolicyId:   exampleBackupPolicyBlobStorage.ID(),
		}, pulumi.DependsOn([]pulumi.Resource{
			exampleAssignment,
		}))
		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 added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (*BackupInstanceBlogStorage) ElementType() reflect.Type

func (*BackupInstanceBlogStorage) ToBackupInstanceBlogStorageOutput added in v4.18.0

func (i *BackupInstanceBlogStorage) ToBackupInstanceBlogStorageOutput() BackupInstanceBlogStorageOutput

func (*BackupInstanceBlogStorage) ToBackupInstanceBlogStorageOutputWithContext added in v4.18.0

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

type BackupInstanceBlogStorageArgs added in v4.18.0

type BackupInstanceBlogStorageArgs struct {
	// The ID of the Backup Policy.
	BackupPolicyId pulumi.StringInput
	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 added in v4.18.0

type BackupInstanceBlogStorageArray added in v4.18.0

type BackupInstanceBlogStorageArray []BackupInstanceBlogStorageInput

func (BackupInstanceBlogStorageArray) ElementType added in v4.18.0

func (BackupInstanceBlogStorageArray) ToBackupInstanceBlogStorageArrayOutput added in v4.18.0

func (i BackupInstanceBlogStorageArray) ToBackupInstanceBlogStorageArrayOutput() BackupInstanceBlogStorageArrayOutput

func (BackupInstanceBlogStorageArray) ToBackupInstanceBlogStorageArrayOutputWithContext added in v4.18.0

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

type BackupInstanceBlogStorageArrayInput added in v4.18.0

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 added in v4.18.0

type BackupInstanceBlogStorageArrayOutput struct{ *pulumi.OutputState }

func (BackupInstanceBlogStorageArrayOutput) ElementType added in v4.18.0

func (BackupInstanceBlogStorageArrayOutput) Index added in v4.18.0

func (BackupInstanceBlogStorageArrayOutput) ToBackupInstanceBlogStorageArrayOutput added in v4.18.0

func (o BackupInstanceBlogStorageArrayOutput) ToBackupInstanceBlogStorageArrayOutput() BackupInstanceBlogStorageArrayOutput

func (BackupInstanceBlogStorageArrayOutput) ToBackupInstanceBlogStorageArrayOutputWithContext added in v4.18.0

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

type BackupInstanceBlogStorageInput added in v4.18.0

type BackupInstanceBlogStorageInput interface {
	pulumi.Input

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

type BackupInstanceBlogStorageMap added in v4.18.0

type BackupInstanceBlogStorageMap map[string]BackupInstanceBlogStorageInput

func (BackupInstanceBlogStorageMap) ElementType added in v4.18.0

func (BackupInstanceBlogStorageMap) ToBackupInstanceBlogStorageMapOutput added in v4.18.0

func (i BackupInstanceBlogStorageMap) ToBackupInstanceBlogStorageMapOutput() BackupInstanceBlogStorageMapOutput

func (BackupInstanceBlogStorageMap) ToBackupInstanceBlogStorageMapOutputWithContext added in v4.18.0

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

type BackupInstanceBlogStorageMapInput added in v4.18.0

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 added in v4.18.0

type BackupInstanceBlogStorageMapOutput struct{ *pulumi.OutputState }

func (BackupInstanceBlogStorageMapOutput) ElementType added in v4.18.0

func (BackupInstanceBlogStorageMapOutput) MapIndex added in v4.18.0

func (BackupInstanceBlogStorageMapOutput) ToBackupInstanceBlogStorageMapOutput added in v4.18.0

func (o BackupInstanceBlogStorageMapOutput) ToBackupInstanceBlogStorageMapOutput() BackupInstanceBlogStorageMapOutput

func (BackupInstanceBlogStorageMapOutput) ToBackupInstanceBlogStorageMapOutputWithContext added in v4.18.0

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

type BackupInstanceBlogStorageOutput added in v4.18.0

type BackupInstanceBlogStorageOutput struct{ *pulumi.OutputState }

func (BackupInstanceBlogStorageOutput) ElementType added in v4.18.0

func (BackupInstanceBlogStorageOutput) ToBackupInstanceBlogStorageOutput added in v4.18.0

func (o BackupInstanceBlogStorageOutput) ToBackupInstanceBlogStorageOutput() BackupInstanceBlogStorageOutput

func (BackupInstanceBlogStorageOutput) ToBackupInstanceBlogStorageOutputWithContext added in v4.18.0

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

type BackupInstanceBlogStorageState added in v4.18.0

type BackupInstanceBlogStorageState struct {
	// The ID of the Backup Policy.
	BackupPolicyId pulumi.StringPtrInput
	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 added in v4.18.0

type BackupInstanceDisk added in v4.13.0

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/v4/go/azure/authorization"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/compute"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/dataprotection"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		rg, err := core.NewResourceGroup(ctx, "rg", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleManagedDisk, err := compute.NewManagedDisk(ctx, "exampleManagedDisk", &compute.ManagedDiskArgs{
			Location:           rg.Location,
			ResourceGroupName:  rg.Name,
			StorageAccountType: pulumi.String("Standard_LRS"),
			CreateOption:       pulumi.String("Empty"),
			DiskSizeGb:         pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		exampleBackupVault, err := dataprotection.NewBackupVault(ctx, "exampleBackupVault", &dataprotection.BackupVaultArgs{
			ResourceGroupName: rg.Name,
			Location:          rg.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:              rg.ID(),
			RoleDefinitionName: pulumi.String("Disk Snapshot Contributor"),
			PrincipalId: exampleBackupVault.Identity.ApplyT(func(identity dataprotection.BackupVaultIdentity) (string, error) {
				return identity.PrincipalId, nil
			}).(pulumi.StringOutput),
		})
		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.StringOutput),
		})
		if err != nil {
			return err
		}
		exampleBackupPolicyDisk, err := dataprotection.NewBackupPolicyDisk(ctx, "exampleBackupPolicyDisk", &dataprotection.BackupPolicyDiskArgs{
			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, "exampleBackupInstanceDisk", &dataprotection.BackupInstanceDiskArgs{
			Location:                  exampleBackupVault.Location,
			VaultId:                   exampleBackupVault.ID(),
			DiskId:                    exampleManagedDisk.ID(),
			SnapshotResourceGroupName: rg.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 added in v4.13.0

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 added in v4.13.0

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 added in v4.13.0

func (*BackupInstanceDisk) ElementType() reflect.Type

func (*BackupInstanceDisk) ToBackupInstanceDiskOutput added in v4.13.0

func (i *BackupInstanceDisk) ToBackupInstanceDiskOutput() BackupInstanceDiskOutput

func (*BackupInstanceDisk) ToBackupInstanceDiskOutputWithContext added in v4.13.0

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

type BackupInstanceDiskArgs added in v4.13.0

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 added in v4.13.0

func (BackupInstanceDiskArgs) ElementType() reflect.Type

type BackupInstanceDiskArray added in v4.13.0

type BackupInstanceDiskArray []BackupInstanceDiskInput

func (BackupInstanceDiskArray) ElementType added in v4.13.0

func (BackupInstanceDiskArray) ElementType() reflect.Type

func (BackupInstanceDiskArray) ToBackupInstanceDiskArrayOutput added in v4.13.0

func (i BackupInstanceDiskArray) ToBackupInstanceDiskArrayOutput() BackupInstanceDiskArrayOutput

func (BackupInstanceDiskArray) ToBackupInstanceDiskArrayOutputWithContext added in v4.13.0

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

type BackupInstanceDiskArrayInput added in v4.13.0

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 added in v4.13.0

type BackupInstanceDiskArrayOutput struct{ *pulumi.OutputState }

func (BackupInstanceDiskArrayOutput) ElementType added in v4.13.0

func (BackupInstanceDiskArrayOutput) Index added in v4.13.0

func (BackupInstanceDiskArrayOutput) ToBackupInstanceDiskArrayOutput added in v4.13.0

func (o BackupInstanceDiskArrayOutput) ToBackupInstanceDiskArrayOutput() BackupInstanceDiskArrayOutput

func (BackupInstanceDiskArrayOutput) ToBackupInstanceDiskArrayOutputWithContext added in v4.13.0

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

type BackupInstanceDiskInput added in v4.13.0

type BackupInstanceDiskInput interface {
	pulumi.Input

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

type BackupInstanceDiskMap added in v4.13.0

type BackupInstanceDiskMap map[string]BackupInstanceDiskInput

func (BackupInstanceDiskMap) ElementType added in v4.13.0

func (BackupInstanceDiskMap) ElementType() reflect.Type

func (BackupInstanceDiskMap) ToBackupInstanceDiskMapOutput added in v4.13.0

func (i BackupInstanceDiskMap) ToBackupInstanceDiskMapOutput() BackupInstanceDiskMapOutput

func (BackupInstanceDiskMap) ToBackupInstanceDiskMapOutputWithContext added in v4.13.0

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

type BackupInstanceDiskMapInput added in v4.13.0

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 added in v4.13.0

type BackupInstanceDiskMapOutput struct{ *pulumi.OutputState }

func (BackupInstanceDiskMapOutput) ElementType added in v4.13.0

func (BackupInstanceDiskMapOutput) MapIndex added in v4.13.0

func (BackupInstanceDiskMapOutput) ToBackupInstanceDiskMapOutput added in v4.13.0

func (o BackupInstanceDiskMapOutput) ToBackupInstanceDiskMapOutput() BackupInstanceDiskMapOutput

func (BackupInstanceDiskMapOutput) ToBackupInstanceDiskMapOutputWithContext added in v4.13.0

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

type BackupInstanceDiskOutput added in v4.13.0

type BackupInstanceDiskOutput struct{ *pulumi.OutputState }

func (BackupInstanceDiskOutput) ElementType added in v4.13.0

func (BackupInstanceDiskOutput) ElementType() reflect.Type

func (BackupInstanceDiskOutput) ToBackupInstanceDiskOutput added in v4.13.0

func (o BackupInstanceDiskOutput) ToBackupInstanceDiskOutput() BackupInstanceDiskOutput

func (BackupInstanceDiskOutput) ToBackupInstanceDiskOutputWithContext added in v4.13.0

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

type BackupInstanceDiskState added in v4.13.0

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 added in v4.13.0

func (BackupInstanceDiskState) ElementType() reflect.Type

type BackupInstancePostgresql added in v4.9.0

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/en-us/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/v4/go/azure/authorization"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/dataprotection"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/keyvault"
"github.com/pulumi/pulumi-azure/sdk/v4/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
		}
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleServer, err := postgresql.NewServer(ctx, "exampleServer", &postgresql.ServerArgs{
			Location:                   exampleResourceGroup.Location,
			ResourceGroupName:          exampleResourceGroup.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, "exampleFirewallRule", &postgresql.FirewallRuleArgs{
			ResourceGroupName: exampleResourceGroup.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, "exampleDatabase", &postgresql.DatabaseArgs{
			ResourceGroupName: exampleResourceGroup.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, "exampleBackupVault", &dataprotection.BackupVaultArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			Location:          exampleResourceGroup.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, "exampleKeyVault", &keyvault.KeyVaultArgs{
			Location:                exampleResourceGroup.Location,
			ResourceGroupName:       exampleResourceGroup.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.StringOutput),
					ObjectId: exampleBackupVault.Identity.ApplyT(func(identity dataprotection.BackupVaultIdentity) (string, error) {
						return identity.PrincipalId, nil
					}).(pulumi.StringOutput),
					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, "exampleSecret", &keyvault.SecretArgs{
			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("%v%v%v%v%v%v%v", "Server=", exampleServerName, ".postgres.database.azure.com;Database=", exampleDatabaseName, ";Port=5432;User Id=psqladmin@", exampleServerName1, ";Password=H@Sh1CoR3!;Ssl Mode=Require;"), nil
			}).(pulumi.StringOutput),
			KeyVaultId: exampleKeyVault.ID(),
		})
		if err != nil {
			return err
		}
		exampleBackupPolicyPostgresql, err := dataprotection.NewBackupPolicyPostgresql(ctx, "exampleBackupPolicyPostgresql", &dataprotection.BackupPolicyPostgresqlArgs{
			ResourceGroupName: exampleResourceGroup.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, "exampleAssignment", &authorization.AssignmentArgs{
			Scope:              exampleServer.ID(),
			RoleDefinitionName: pulumi.String("Reader"),
			PrincipalId: exampleBackupVault.Identity.ApplyT(func(identity dataprotection.BackupVaultIdentity) (string, error) {
				return identity.PrincipalId, nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		_, err = dataprotection.NewBackupInstancePostgresql(ctx, "exampleBackupInstancePostgresql", &dataprotection.BackupInstancePostgresqlArgs{
			Location:                           exampleResourceGroup.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 added in v4.9.0

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 added in v4.9.0

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 added in v4.9.0

func (*BackupInstancePostgresql) ElementType() reflect.Type

func (*BackupInstancePostgresql) ToBackupInstancePostgresqlOutput added in v4.9.0

func (i *BackupInstancePostgresql) ToBackupInstancePostgresqlOutput() BackupInstancePostgresqlOutput

func (*BackupInstancePostgresql) ToBackupInstancePostgresqlOutputWithContext added in v4.9.0

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

type BackupInstancePostgresqlArgs added in v4.9.0

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 added in v4.9.0

type BackupInstancePostgresqlArray added in v4.9.0

type BackupInstancePostgresqlArray []BackupInstancePostgresqlInput

func (BackupInstancePostgresqlArray) ElementType added in v4.9.0

func (BackupInstancePostgresqlArray) ToBackupInstancePostgresqlArrayOutput added in v4.9.0

func (i BackupInstancePostgresqlArray) ToBackupInstancePostgresqlArrayOutput() BackupInstancePostgresqlArrayOutput

func (BackupInstancePostgresqlArray) ToBackupInstancePostgresqlArrayOutputWithContext added in v4.9.0

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

type BackupInstancePostgresqlArrayInput added in v4.9.0

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 added in v4.9.0

type BackupInstancePostgresqlArrayOutput struct{ *pulumi.OutputState }

func (BackupInstancePostgresqlArrayOutput) ElementType added in v4.9.0

func (BackupInstancePostgresqlArrayOutput) Index added in v4.9.0

func (BackupInstancePostgresqlArrayOutput) ToBackupInstancePostgresqlArrayOutput added in v4.9.0

func (o BackupInstancePostgresqlArrayOutput) ToBackupInstancePostgresqlArrayOutput() BackupInstancePostgresqlArrayOutput

func (BackupInstancePostgresqlArrayOutput) ToBackupInstancePostgresqlArrayOutputWithContext added in v4.9.0

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

type BackupInstancePostgresqlInput added in v4.9.0

type BackupInstancePostgresqlInput interface {
	pulumi.Input

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

type BackupInstancePostgresqlMap added in v4.9.0

type BackupInstancePostgresqlMap map[string]BackupInstancePostgresqlInput

func (BackupInstancePostgresqlMap) ElementType added in v4.9.0

func (BackupInstancePostgresqlMap) ToBackupInstancePostgresqlMapOutput added in v4.9.0

func (i BackupInstancePostgresqlMap) ToBackupInstancePostgresqlMapOutput() BackupInstancePostgresqlMapOutput

func (BackupInstancePostgresqlMap) ToBackupInstancePostgresqlMapOutputWithContext added in v4.9.0

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

type BackupInstancePostgresqlMapInput added in v4.9.0

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 added in v4.9.0

type BackupInstancePostgresqlMapOutput struct{ *pulumi.OutputState }

func (BackupInstancePostgresqlMapOutput) ElementType added in v4.9.0

func (BackupInstancePostgresqlMapOutput) MapIndex added in v4.9.0

func (BackupInstancePostgresqlMapOutput) ToBackupInstancePostgresqlMapOutput added in v4.9.0

func (o BackupInstancePostgresqlMapOutput) ToBackupInstancePostgresqlMapOutput() BackupInstancePostgresqlMapOutput

func (BackupInstancePostgresqlMapOutput) ToBackupInstancePostgresqlMapOutputWithContext added in v4.9.0

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

type BackupInstancePostgresqlOutput added in v4.9.0

type BackupInstancePostgresqlOutput struct{ *pulumi.OutputState }

func (BackupInstancePostgresqlOutput) ElementType added in v4.9.0

func (BackupInstancePostgresqlOutput) ToBackupInstancePostgresqlOutput added in v4.9.0

func (o BackupInstancePostgresqlOutput) ToBackupInstancePostgresqlOutput() BackupInstancePostgresqlOutput

func (BackupInstancePostgresqlOutput) ToBackupInstancePostgresqlOutputWithContext added in v4.9.0

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

type BackupInstancePostgresqlState added in v4.9.0

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 added in v4.9.0

type BackupPolicyBlobStorage added in v4.13.0

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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/dataprotection"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		rg, err := core.NewResourceGroup(ctx, "rg", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleBackupVault, err := dataprotection.NewBackupVault(ctx, "exampleBackupVault", &dataprotection.BackupVaultArgs{
			ResourceGroupName: rg.Name,
			Location:          rg.Location,
			DatastoreType:     pulumi.String("VaultStore"),
			Redundancy:        pulumi.String("LocallyRedundant"),
		})
		if err != nil {
			return err
		}
		_, err = dataprotection.NewBackupPolicyBlobStorage(ctx, "exampleBackupPolicyBlobStorage", &dataprotection.BackupPolicyBlobStorageArgs{
			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 added in v4.13.0

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 added in v4.13.0

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 added in v4.13.0

func (*BackupPolicyBlobStorage) ElementType() reflect.Type

func (*BackupPolicyBlobStorage) ToBackupPolicyBlobStorageOutput added in v4.13.0

func (i *BackupPolicyBlobStorage) ToBackupPolicyBlobStorageOutput() BackupPolicyBlobStorageOutput

func (*BackupPolicyBlobStorage) ToBackupPolicyBlobStorageOutputWithContext added in v4.13.0

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

type BackupPolicyBlobStorageArgs added in v4.13.0

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 added in v4.13.0

type BackupPolicyBlobStorageArray added in v4.13.0

type BackupPolicyBlobStorageArray []BackupPolicyBlobStorageInput

func (BackupPolicyBlobStorageArray) ElementType added in v4.13.0

func (BackupPolicyBlobStorageArray) ToBackupPolicyBlobStorageArrayOutput added in v4.13.0

func (i BackupPolicyBlobStorageArray) ToBackupPolicyBlobStorageArrayOutput() BackupPolicyBlobStorageArrayOutput

func (BackupPolicyBlobStorageArray) ToBackupPolicyBlobStorageArrayOutputWithContext added in v4.13.0

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

type BackupPolicyBlobStorageArrayInput added in v4.13.0

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 added in v4.13.0

type BackupPolicyBlobStorageArrayOutput struct{ *pulumi.OutputState }

func (BackupPolicyBlobStorageArrayOutput) ElementType added in v4.13.0

func (BackupPolicyBlobStorageArrayOutput) Index added in v4.13.0

func (BackupPolicyBlobStorageArrayOutput) ToBackupPolicyBlobStorageArrayOutput added in v4.13.0

func (o BackupPolicyBlobStorageArrayOutput) ToBackupPolicyBlobStorageArrayOutput() BackupPolicyBlobStorageArrayOutput

func (BackupPolicyBlobStorageArrayOutput) ToBackupPolicyBlobStorageArrayOutputWithContext added in v4.13.0

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

type BackupPolicyBlobStorageInput added in v4.13.0

type BackupPolicyBlobStorageInput interface {
	pulumi.Input

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

type BackupPolicyBlobStorageMap added in v4.13.0

type BackupPolicyBlobStorageMap map[string]BackupPolicyBlobStorageInput

func (BackupPolicyBlobStorageMap) ElementType added in v4.13.0

func (BackupPolicyBlobStorageMap) ElementType() reflect.Type

func (BackupPolicyBlobStorageMap) ToBackupPolicyBlobStorageMapOutput added in v4.13.0

func (i BackupPolicyBlobStorageMap) ToBackupPolicyBlobStorageMapOutput() BackupPolicyBlobStorageMapOutput

func (BackupPolicyBlobStorageMap) ToBackupPolicyBlobStorageMapOutputWithContext added in v4.13.0

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

type BackupPolicyBlobStorageMapInput added in v4.13.0

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 added in v4.13.0

type BackupPolicyBlobStorageMapOutput struct{ *pulumi.OutputState }

func (BackupPolicyBlobStorageMapOutput) ElementType added in v4.13.0

func (BackupPolicyBlobStorageMapOutput) MapIndex added in v4.13.0

func (BackupPolicyBlobStorageMapOutput) ToBackupPolicyBlobStorageMapOutput added in v4.13.0

func (o BackupPolicyBlobStorageMapOutput) ToBackupPolicyBlobStorageMapOutput() BackupPolicyBlobStorageMapOutput

func (BackupPolicyBlobStorageMapOutput) ToBackupPolicyBlobStorageMapOutputWithContext added in v4.13.0

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

type BackupPolicyBlobStorageOutput added in v4.13.0

type BackupPolicyBlobStorageOutput struct{ *pulumi.OutputState }

func (BackupPolicyBlobStorageOutput) ElementType added in v4.13.0

func (BackupPolicyBlobStorageOutput) ToBackupPolicyBlobStorageOutput added in v4.13.0

func (o BackupPolicyBlobStorageOutput) ToBackupPolicyBlobStorageOutput() BackupPolicyBlobStorageOutput

func (BackupPolicyBlobStorageOutput) ToBackupPolicyBlobStorageOutputWithContext added in v4.13.0

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

type BackupPolicyBlobStorageState added in v4.13.0

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 added in v4.13.0

type BackupPolicyDisk added in v4.11.0

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"`
	// 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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/dataprotection"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		rg, err := core.NewResourceGroup(ctx, "rg", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleBackupVault, err := dataprotection.NewBackupVault(ctx, "exampleBackupVault", &dataprotection.BackupVaultArgs{
			ResourceGroupName: rg.Name,
			Location:          rg.Location,
			DatastoreType:     pulumi.String("VaultStore"),
			Redundancy:        pulumi.String("LocallyRedundant"),
		})
		if err != nil {
			return err
		}
		_, err = dataprotection.NewBackupPolicyDisk(ctx, "exampleBackupPolicyDisk", &dataprotection.BackupPolicyDiskArgs{
			VaultId: exampleBackupVault.ID(),
			BackupRepeatingTimeIntervals: pulumi.StringArray{
				pulumi.String("R/2021-05-19T06:33:16+00:00/PT4H"),
			},
			DefaultRetentionDuration: pulumi.String("P7D"),
			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 added in v4.11.0

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 added in v4.11.0

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 added in v4.11.0

func (*BackupPolicyDisk) ElementType() reflect.Type

func (*BackupPolicyDisk) ToBackupPolicyDiskOutput added in v4.11.0

func (i *BackupPolicyDisk) ToBackupPolicyDiskOutput() BackupPolicyDiskOutput

func (*BackupPolicyDisk) ToBackupPolicyDiskOutputWithContext added in v4.11.0

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

type BackupPolicyDiskArgs added in v4.11.0

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
	// 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 added in v4.11.0

func (BackupPolicyDiskArgs) ElementType() reflect.Type

type BackupPolicyDiskArray added in v4.11.0

type BackupPolicyDiskArray []BackupPolicyDiskInput

func (BackupPolicyDiskArray) ElementType added in v4.11.0

func (BackupPolicyDiskArray) ElementType() reflect.Type

func (BackupPolicyDiskArray) ToBackupPolicyDiskArrayOutput added in v4.11.0

func (i BackupPolicyDiskArray) ToBackupPolicyDiskArrayOutput() BackupPolicyDiskArrayOutput

func (BackupPolicyDiskArray) ToBackupPolicyDiskArrayOutputWithContext added in v4.11.0

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

type BackupPolicyDiskArrayInput added in v4.11.0

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 added in v4.11.0

type BackupPolicyDiskArrayOutput struct{ *pulumi.OutputState }

func (BackupPolicyDiskArrayOutput) ElementType added in v4.11.0

func (BackupPolicyDiskArrayOutput) Index added in v4.11.0

func (BackupPolicyDiskArrayOutput) ToBackupPolicyDiskArrayOutput added in v4.11.0

func (o BackupPolicyDiskArrayOutput) ToBackupPolicyDiskArrayOutput() BackupPolicyDiskArrayOutput

func (BackupPolicyDiskArrayOutput) ToBackupPolicyDiskArrayOutputWithContext added in v4.11.0

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

type BackupPolicyDiskInput added in v4.11.0

type BackupPolicyDiskInput interface {
	pulumi.Input

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

type BackupPolicyDiskMap added in v4.11.0

type BackupPolicyDiskMap map[string]BackupPolicyDiskInput

func (BackupPolicyDiskMap) ElementType added in v4.11.0

func (BackupPolicyDiskMap) ElementType() reflect.Type

func (BackupPolicyDiskMap) ToBackupPolicyDiskMapOutput added in v4.11.0

func (i BackupPolicyDiskMap) ToBackupPolicyDiskMapOutput() BackupPolicyDiskMapOutput

func (BackupPolicyDiskMap) ToBackupPolicyDiskMapOutputWithContext added in v4.11.0

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

type BackupPolicyDiskMapInput added in v4.11.0

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 added in v4.11.0

type BackupPolicyDiskMapOutput struct{ *pulumi.OutputState }

func (BackupPolicyDiskMapOutput) ElementType added in v4.11.0

func (BackupPolicyDiskMapOutput) ElementType() reflect.Type

func (BackupPolicyDiskMapOutput) MapIndex added in v4.11.0

func (BackupPolicyDiskMapOutput) ToBackupPolicyDiskMapOutput added in v4.11.0

func (o BackupPolicyDiskMapOutput) ToBackupPolicyDiskMapOutput() BackupPolicyDiskMapOutput

func (BackupPolicyDiskMapOutput) ToBackupPolicyDiskMapOutputWithContext added in v4.11.0

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

type BackupPolicyDiskOutput added in v4.11.0

type BackupPolicyDiskOutput struct{ *pulumi.OutputState }

func (BackupPolicyDiskOutput) ElementType added in v4.11.0

func (BackupPolicyDiskOutput) ElementType() reflect.Type

func (BackupPolicyDiskOutput) ToBackupPolicyDiskOutput added in v4.11.0

func (o BackupPolicyDiskOutput) ToBackupPolicyDiskOutput() BackupPolicyDiskOutput

func (BackupPolicyDiskOutput) ToBackupPolicyDiskOutputWithContext added in v4.11.0

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

type BackupPolicyDiskRetentionRule added in v4.11.0

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 added in v4.11.0

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 added in v4.11.0

func (BackupPolicyDiskRetentionRuleArgs) ToBackupPolicyDiskRetentionRuleOutput added in v4.11.0

func (i BackupPolicyDiskRetentionRuleArgs) ToBackupPolicyDiskRetentionRuleOutput() BackupPolicyDiskRetentionRuleOutput

func (BackupPolicyDiskRetentionRuleArgs) ToBackupPolicyDiskRetentionRuleOutputWithContext added in v4.11.0

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

type BackupPolicyDiskRetentionRuleArray added in v4.11.0

type BackupPolicyDiskRetentionRuleArray []BackupPolicyDiskRetentionRuleInput

func (BackupPolicyDiskRetentionRuleArray) ElementType added in v4.11.0

func (BackupPolicyDiskRetentionRuleArray) ToBackupPolicyDiskRetentionRuleArrayOutput added in v4.11.0

func (i BackupPolicyDiskRetentionRuleArray) ToBackupPolicyDiskRetentionRuleArrayOutput() BackupPolicyDiskRetentionRuleArrayOutput

func (BackupPolicyDiskRetentionRuleArray) ToBackupPolicyDiskRetentionRuleArrayOutputWithContext added in v4.11.0

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

type BackupPolicyDiskRetentionRuleArrayInput added in v4.11.0

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 added in v4.11.0

type BackupPolicyDiskRetentionRuleArrayOutput struct{ *pulumi.OutputState }

func (BackupPolicyDiskRetentionRuleArrayOutput) ElementType added in v4.11.0

func (BackupPolicyDiskRetentionRuleArrayOutput) Index added in v4.11.0

func (BackupPolicyDiskRetentionRuleArrayOutput) ToBackupPolicyDiskRetentionRuleArrayOutput added in v4.11.0

func (o BackupPolicyDiskRetentionRuleArrayOutput) ToBackupPolicyDiskRetentionRuleArrayOutput() BackupPolicyDiskRetentionRuleArrayOutput

func (BackupPolicyDiskRetentionRuleArrayOutput) ToBackupPolicyDiskRetentionRuleArrayOutputWithContext added in v4.11.0

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

type BackupPolicyDiskRetentionRuleCriteria added in v4.11.0

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 added in v4.11.0

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 added in v4.11.0

func (BackupPolicyDiskRetentionRuleCriteriaArgs) ToBackupPolicyDiskRetentionRuleCriteriaOutput added in v4.11.0

func (i BackupPolicyDiskRetentionRuleCriteriaArgs) ToBackupPolicyDiskRetentionRuleCriteriaOutput() BackupPolicyDiskRetentionRuleCriteriaOutput

func (BackupPolicyDiskRetentionRuleCriteriaArgs) ToBackupPolicyDiskRetentionRuleCriteriaOutputWithContext added in v4.11.0

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

type BackupPolicyDiskRetentionRuleCriteriaInput added in v4.11.0

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 added in v4.11.0

type BackupPolicyDiskRetentionRuleCriteriaOutput struct{ *pulumi.OutputState }

func (BackupPolicyDiskRetentionRuleCriteriaOutput) AbsoluteCriteria added in v4.11.0

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

func (BackupPolicyDiskRetentionRuleCriteriaOutput) ElementType added in v4.11.0

func (BackupPolicyDiskRetentionRuleCriteriaOutput) ToBackupPolicyDiskRetentionRuleCriteriaOutput added in v4.11.0

func (o BackupPolicyDiskRetentionRuleCriteriaOutput) ToBackupPolicyDiskRetentionRuleCriteriaOutput() BackupPolicyDiskRetentionRuleCriteriaOutput

func (BackupPolicyDiskRetentionRuleCriteriaOutput) ToBackupPolicyDiskRetentionRuleCriteriaOutputWithContext added in v4.11.0

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

type BackupPolicyDiskRetentionRuleInput added in v4.11.0

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 added in v4.11.0

type BackupPolicyDiskRetentionRuleOutput struct{ *pulumi.OutputState }

func (BackupPolicyDiskRetentionRuleOutput) Criteria added in v4.11.0

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

func (BackupPolicyDiskRetentionRuleOutput) Duration added in v4.11.0

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 added in v4.11.0

func (BackupPolicyDiskRetentionRuleOutput) Name added in v4.11.0

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

func (BackupPolicyDiskRetentionRuleOutput) Priority added in v4.11.0

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

func (BackupPolicyDiskRetentionRuleOutput) ToBackupPolicyDiskRetentionRuleOutput added in v4.11.0

func (o BackupPolicyDiskRetentionRuleOutput) ToBackupPolicyDiskRetentionRuleOutput() BackupPolicyDiskRetentionRuleOutput

func (BackupPolicyDiskRetentionRuleOutput) ToBackupPolicyDiskRetentionRuleOutputWithContext added in v4.11.0

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

type BackupPolicyDiskState added in v4.11.0

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
	// 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 added in v4.11.0

func (BackupPolicyDiskState) ElementType() reflect.Type

type BackupPolicyPostgresql added in v4.8.0

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"`
	// 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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/dataprotection"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		rg, err := core.NewResourceGroup(ctx, "rg", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleBackupVault, err := dataprotection.NewBackupVault(ctx, "exampleBackupVault", &dataprotection.BackupVaultArgs{
			ResourceGroupName: rg.Name,
			Location:          rg.Location,
			DatastoreType:     pulumi.String("VaultStore"),
			Redundancy:        pulumi.String("LocallyRedundant"),
		})
		if err != nil {
			return err
		}
		_, err = dataprotection.NewBackupPolicyPostgresql(ctx, "exampleBackupPolicyPostgresql", &dataprotection.BackupPolicyPostgresqlArgs{
			ResourceGroupName: rg.Name,
			VaultName:         exampleBackupVault.Name,
			BackupRepeatingTimeIntervals: pulumi.StringArray{
				pulumi.String("R/2021-05-23T02:30:00+00:00/P1W"),
			},
			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 PostgreSQLs 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 added in v4.8.0

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 added in v4.8.0

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 added in v4.8.0

func (*BackupPolicyPostgresql) ElementType() reflect.Type

func (*BackupPolicyPostgresql) ToBackupPolicyPostgresqlOutput added in v4.8.0

func (i *BackupPolicyPostgresql) ToBackupPolicyPostgresqlOutput() BackupPolicyPostgresqlOutput

func (*BackupPolicyPostgresql) ToBackupPolicyPostgresqlOutputWithContext added in v4.8.0

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

type BackupPolicyPostgresqlArgs added in v4.8.0

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
	// 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 added in v4.8.0

func (BackupPolicyPostgresqlArgs) ElementType() reflect.Type

type BackupPolicyPostgresqlArray added in v4.8.0

type BackupPolicyPostgresqlArray []BackupPolicyPostgresqlInput

func (BackupPolicyPostgresqlArray) ElementType added in v4.8.0

func (BackupPolicyPostgresqlArray) ToBackupPolicyPostgresqlArrayOutput added in v4.8.0

func (i BackupPolicyPostgresqlArray) ToBackupPolicyPostgresqlArrayOutput() BackupPolicyPostgresqlArrayOutput

func (BackupPolicyPostgresqlArray) ToBackupPolicyPostgresqlArrayOutputWithContext added in v4.8.0

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

type BackupPolicyPostgresqlArrayInput added in v4.8.0

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 added in v4.8.0

type BackupPolicyPostgresqlArrayOutput struct{ *pulumi.OutputState }

func (BackupPolicyPostgresqlArrayOutput) ElementType added in v4.8.0

func (BackupPolicyPostgresqlArrayOutput) Index added in v4.8.0

func (BackupPolicyPostgresqlArrayOutput) ToBackupPolicyPostgresqlArrayOutput added in v4.8.0

func (o BackupPolicyPostgresqlArrayOutput) ToBackupPolicyPostgresqlArrayOutput() BackupPolicyPostgresqlArrayOutput

func (BackupPolicyPostgresqlArrayOutput) ToBackupPolicyPostgresqlArrayOutputWithContext added in v4.8.0

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

type BackupPolicyPostgresqlInput added in v4.8.0

type BackupPolicyPostgresqlInput interface {
	pulumi.Input

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

type BackupPolicyPostgresqlMap added in v4.8.0

type BackupPolicyPostgresqlMap map[string]BackupPolicyPostgresqlInput

func (BackupPolicyPostgresqlMap) ElementType added in v4.8.0

func (BackupPolicyPostgresqlMap) ElementType() reflect.Type

func (BackupPolicyPostgresqlMap) ToBackupPolicyPostgresqlMapOutput added in v4.8.0

func (i BackupPolicyPostgresqlMap) ToBackupPolicyPostgresqlMapOutput() BackupPolicyPostgresqlMapOutput

func (BackupPolicyPostgresqlMap) ToBackupPolicyPostgresqlMapOutputWithContext added in v4.8.0

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

type BackupPolicyPostgresqlMapInput added in v4.8.0

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 added in v4.8.0

type BackupPolicyPostgresqlMapOutput struct{ *pulumi.OutputState }

func (BackupPolicyPostgresqlMapOutput) ElementType added in v4.8.0

func (BackupPolicyPostgresqlMapOutput) MapIndex added in v4.8.0

func (BackupPolicyPostgresqlMapOutput) ToBackupPolicyPostgresqlMapOutput added in v4.8.0

func (o BackupPolicyPostgresqlMapOutput) ToBackupPolicyPostgresqlMapOutput() BackupPolicyPostgresqlMapOutput

func (BackupPolicyPostgresqlMapOutput) ToBackupPolicyPostgresqlMapOutputWithContext added in v4.8.0

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

type BackupPolicyPostgresqlOutput added in v4.8.0

type BackupPolicyPostgresqlOutput struct{ *pulumi.OutputState }

func (BackupPolicyPostgresqlOutput) ElementType added in v4.8.0

func (BackupPolicyPostgresqlOutput) ToBackupPolicyPostgresqlOutput added in v4.8.0

func (o BackupPolicyPostgresqlOutput) ToBackupPolicyPostgresqlOutput() BackupPolicyPostgresqlOutput

func (BackupPolicyPostgresqlOutput) ToBackupPolicyPostgresqlOutputWithContext added in v4.8.0

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

type BackupPolicyPostgresqlRetentionRule added in v4.8.0

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 Postgre Sql to be created.
	Priority int `pulumi:"priority"`
}

type BackupPolicyPostgresqlRetentionRuleArgs added in v4.8.0

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 Postgre Sql to be created.
	Priority pulumi.IntInput `pulumi:"priority"`
}

func (BackupPolicyPostgresqlRetentionRuleArgs) ElementType added in v4.8.0

func (BackupPolicyPostgresqlRetentionRuleArgs) ToBackupPolicyPostgresqlRetentionRuleOutput added in v4.8.0

func (i BackupPolicyPostgresqlRetentionRuleArgs) ToBackupPolicyPostgresqlRetentionRuleOutput() BackupPolicyPostgresqlRetentionRuleOutput

func (BackupPolicyPostgresqlRetentionRuleArgs) ToBackupPolicyPostgresqlRetentionRuleOutputWithContext added in v4.8.0

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

type BackupPolicyPostgresqlRetentionRuleArray added in v4.8.0

type BackupPolicyPostgresqlRetentionRuleArray []BackupPolicyPostgresqlRetentionRuleInput

func (BackupPolicyPostgresqlRetentionRuleArray) ElementType added in v4.8.0

func (BackupPolicyPostgresqlRetentionRuleArray) ToBackupPolicyPostgresqlRetentionRuleArrayOutput added in v4.8.0

func (i BackupPolicyPostgresqlRetentionRuleArray) ToBackupPolicyPostgresqlRetentionRuleArrayOutput() BackupPolicyPostgresqlRetentionRuleArrayOutput

func (BackupPolicyPostgresqlRetentionRuleArray) ToBackupPolicyPostgresqlRetentionRuleArrayOutputWithContext added in v4.8.0

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

type BackupPolicyPostgresqlRetentionRuleArrayInput added in v4.8.0

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 added in v4.8.0

type BackupPolicyPostgresqlRetentionRuleArrayOutput struct{ *pulumi.OutputState }

func (BackupPolicyPostgresqlRetentionRuleArrayOutput) ElementType added in v4.8.0

func (BackupPolicyPostgresqlRetentionRuleArrayOutput) Index added in v4.8.0

func (BackupPolicyPostgresqlRetentionRuleArrayOutput) ToBackupPolicyPostgresqlRetentionRuleArrayOutput added in v4.8.0

func (o BackupPolicyPostgresqlRetentionRuleArrayOutput) ToBackupPolicyPostgresqlRetentionRuleArrayOutput() BackupPolicyPostgresqlRetentionRuleArrayOutput

func (BackupPolicyPostgresqlRetentionRuleArrayOutput) ToBackupPolicyPostgresqlRetentionRuleArrayOutputWithContext added in v4.8.0

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

type BackupPolicyPostgresqlRetentionRuleCriteria added in v4.8.0

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 Postgre Sql 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 added in v4.8.0

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 Postgre Sql 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 added in v4.8.0

func (BackupPolicyPostgresqlRetentionRuleCriteriaArgs) ToBackupPolicyPostgresqlRetentionRuleCriteriaOutput added in v4.8.0

func (i BackupPolicyPostgresqlRetentionRuleCriteriaArgs) ToBackupPolicyPostgresqlRetentionRuleCriteriaOutput() BackupPolicyPostgresqlRetentionRuleCriteriaOutput

func (BackupPolicyPostgresqlRetentionRuleCriteriaArgs) ToBackupPolicyPostgresqlRetentionRuleCriteriaOutputWithContext added in v4.8.0

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

type BackupPolicyPostgresqlRetentionRuleCriteriaInput added in v4.8.0

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 added in v4.8.0

type BackupPolicyPostgresqlRetentionRuleCriteriaOutput struct{ *pulumi.OutputState }

func (BackupPolicyPostgresqlRetentionRuleCriteriaOutput) AbsoluteCriteria added in v4.8.0

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 added in v4.8.0

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

func (BackupPolicyPostgresqlRetentionRuleCriteriaOutput) ElementType added in v4.8.0

func (BackupPolicyPostgresqlRetentionRuleCriteriaOutput) MonthsOfYears added in v4.8.0

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 added in v4.8.0

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

func (BackupPolicyPostgresqlRetentionRuleCriteriaOutput) ToBackupPolicyPostgresqlRetentionRuleCriteriaOutput added in v4.8.0

func (o BackupPolicyPostgresqlRetentionRuleCriteriaOutput) ToBackupPolicyPostgresqlRetentionRuleCriteriaOutput() BackupPolicyPostgresqlRetentionRuleCriteriaOutput

func (BackupPolicyPostgresqlRetentionRuleCriteriaOutput) ToBackupPolicyPostgresqlRetentionRuleCriteriaOutputWithContext added in v4.8.0

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

func (BackupPolicyPostgresqlRetentionRuleCriteriaOutput) WeeksOfMonths added in v4.8.0

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

type BackupPolicyPostgresqlRetentionRuleInput added in v4.8.0

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 added in v4.8.0

type BackupPolicyPostgresqlRetentionRuleOutput struct{ *pulumi.OutputState }

func (BackupPolicyPostgresqlRetentionRuleOutput) Criteria added in v4.8.0

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

func (BackupPolicyPostgresqlRetentionRuleOutput) Duration added in v4.8.0

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 added in v4.8.0

func (BackupPolicyPostgresqlRetentionRuleOutput) Name added in v4.8.0

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

func (BackupPolicyPostgresqlRetentionRuleOutput) Priority added in v4.8.0

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 Postgre Sql to be created.

func (BackupPolicyPostgresqlRetentionRuleOutput) ToBackupPolicyPostgresqlRetentionRuleOutput added in v4.8.0

func (o BackupPolicyPostgresqlRetentionRuleOutput) ToBackupPolicyPostgresqlRetentionRuleOutput() BackupPolicyPostgresqlRetentionRuleOutput

func (BackupPolicyPostgresqlRetentionRuleOutput) ToBackupPolicyPostgresqlRetentionRuleOutputWithContext added in v4.8.0

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

type BackupPolicyPostgresqlState added in v4.8.0

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
	// 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 added in v4.8.0

type BackupVault

type BackupVault struct {
	pulumi.CustomResourceState

	// Specifies the type of the data store. Possible values are `ArchiveStore`, `SnapshotStore` and `VaultStore`.
	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` and `LocallyRedundant`. 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"`
	// 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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/dataprotection"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		rg, err := core.NewResourceGroup(ctx, "rg", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		_, err = dataprotection.NewBackupVault(ctx, "example", &dataprotection.BackupVaultArgs{
			ResourceGroupName: rg.Name,
			Location:          rg.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`, `SnapshotStore` and `VaultStore`.
	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` and `LocallyRedundant`. 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
	// 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 identity type of the Backup Vault. 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 identity type of the Backup Vault. 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 identity type of the Backup Vault. 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 identity type of the Backup Vault. 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) ElementType

func (BackupVaultOutput) ElementType() reflect.Type

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`, `SnapshotStore` and `VaultStore`.
	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` and `LocallyRedundant`. 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
	// 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 added in v4.15.0

type GetBackupVaultIdentity 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 identity type of the Backup Vault.
	Type string `pulumi:"type"`
}

type GetBackupVaultIdentityArgs added in v4.15.0

type GetBackupVaultIdentityArgs struct {
	// The Principal ID for the Service Principal associated with the Identity of this Backup Vault.
	PrincipalId pulumi.StringInput `pulumi:"principalId"`
	// The Tenant ID for the Service Principal associated with the Identity of this Backup Vault.
	TenantId pulumi.StringInput `pulumi:"tenantId"`
	// Specifies the identity type of the Backup Vault.
	Type pulumi.StringInput `pulumi:"type"`
}

func (GetBackupVaultIdentityArgs) ElementType added in v4.15.0

func (GetBackupVaultIdentityArgs) ElementType() reflect.Type

func (GetBackupVaultIdentityArgs) ToGetBackupVaultIdentityOutput added in v4.15.0

func (i GetBackupVaultIdentityArgs) ToGetBackupVaultIdentityOutput() GetBackupVaultIdentityOutput

func (GetBackupVaultIdentityArgs) ToGetBackupVaultIdentityOutputWithContext added in v4.15.0

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

type GetBackupVaultIdentityArray added in v4.15.0

type GetBackupVaultIdentityArray []GetBackupVaultIdentityInput

func (GetBackupVaultIdentityArray) ElementType added in v4.15.0

func (GetBackupVaultIdentityArray) ToGetBackupVaultIdentityArrayOutput added in v4.15.0

func (i GetBackupVaultIdentityArray) ToGetBackupVaultIdentityArrayOutput() GetBackupVaultIdentityArrayOutput

func (GetBackupVaultIdentityArray) ToGetBackupVaultIdentityArrayOutputWithContext added in v4.15.0

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

type GetBackupVaultIdentityArrayInput added in v4.15.0

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

type GetBackupVaultIdentityArrayOutput struct{ *pulumi.OutputState }

func (GetBackupVaultIdentityArrayOutput) ElementType added in v4.15.0

func (GetBackupVaultIdentityArrayOutput) Index added in v4.15.0

func (GetBackupVaultIdentityArrayOutput) ToGetBackupVaultIdentityArrayOutput added in v4.15.0

func (o GetBackupVaultIdentityArrayOutput) ToGetBackupVaultIdentityArrayOutput() GetBackupVaultIdentityArrayOutput

func (GetBackupVaultIdentityArrayOutput) ToGetBackupVaultIdentityArrayOutputWithContext added in v4.15.0

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

type GetBackupVaultIdentityInput added in v4.15.0

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

type GetBackupVaultIdentityOutput struct{ *pulumi.OutputState }

func (GetBackupVaultIdentityOutput) ElementType added in v4.15.0

func (GetBackupVaultIdentityOutput) PrincipalId added in v4.15.0

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

func (GetBackupVaultIdentityOutput) TenantId added in v4.15.0

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

func (GetBackupVaultIdentityOutput) ToGetBackupVaultIdentityOutput added in v4.15.0

func (o GetBackupVaultIdentityOutput) ToGetBackupVaultIdentityOutput() GetBackupVaultIdentityOutput

func (GetBackupVaultIdentityOutput) ToGetBackupVaultIdentityOutputWithContext added in v4.15.0

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

func (GetBackupVaultIdentityOutput) Type added in v4.15.0

Specifies the identity type of the Backup Vault.

type LookupBackupVaultArgs added in v4.15.0

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 added in v4.20.0

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 added in v4.20.0

type LookupBackupVaultResult added in v4.15.0

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

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/v4/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", data.Azurerm_vpn_gateway.Example.Id)
		ctx.Export("azurermDataProtectionBackupVaultPrincipalId", example.Identities[0].PrincipalId)
		return nil
	})
}

```

type LookupBackupVaultResultOutput added in v4.20.0

type LookupBackupVaultResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getBackupVault.

func LookupBackupVaultOutput added in v4.20.0

func (LookupBackupVaultResultOutput) DatastoreType added in v4.20.0

Specifies the type of the data store.

func (LookupBackupVaultResultOutput) ElementType added in v4.20.0

func (LookupBackupVaultResultOutput) Id added in v4.20.0

The provider-assigned unique ID for this managed resource.

func (LookupBackupVaultResultOutput) Identities added in v4.20.0

A `identity` block as defined below.

func (LookupBackupVaultResultOutput) Location added in v4.20.0

The Azure Region where the Backup Vault exists.

func (LookupBackupVaultResultOutput) Name added in v4.20.0

func (LookupBackupVaultResultOutput) Redundancy added in v4.20.0

Specifies the backup storage redundancy.

func (LookupBackupVaultResultOutput) ResourceGroupName added in v4.20.0

func (o LookupBackupVaultResultOutput) ResourceGroupName() pulumi.StringOutput

func (LookupBackupVaultResultOutput) Tags added in v4.20.0

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

func (LookupBackupVaultResultOutput) ToLookupBackupVaultResultOutput added in v4.20.0

func (o LookupBackupVaultResultOutput) ToLookupBackupVaultResultOutput() LookupBackupVaultResultOutput

func (LookupBackupVaultResultOutput) ToLookupBackupVaultResultOutputWithContext added in v4.20.0

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

Jump to

Keyboard shortcuts

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