gkebackup

package
v6.48.0 Latest Latest
Warning

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

Go to latest
Published: Jan 24, 2023 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 BackupPlan

type BackupPlan struct {
	pulumi.CustomResourceState

	// Defines the configuration of Backups created via this BackupPlan.
	// Structure is documented below.
	BackupConfig BackupPlanBackupConfigPtrOutput `pulumi:"backupConfig"`
	// Defines a schedule for automatic Backup creation via this BackupPlan.
	// Structure is documented below.
	BackupSchedule BackupPlanBackupSchedulePtrOutput `pulumi:"backupSchedule"`
	// The source cluster from which Backups will be created via this BackupPlan.
	Cluster pulumi.StringOutput `pulumi:"cluster"`
	// This flag indicates whether this BackupPlan has been deactivated.
	// Setting this field to True locks the BackupPlan such that no further updates will be allowed
	// (except deletes), including the deactivated field itself. It also prevents any new Backups
	// from being created via this BackupPlan (including scheduled Backups).
	Deactivated pulumi.BoolOutput `pulumi:"deactivated"`
	// User specified descriptive string for this BackupPlan.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// etag is used for optimistic concurrency control as a way to help prevent simultaneous
	// updates of a backup plan from overwriting each other. It is strongly suggested that
	// systems make use of the 'etag' in the read-modify-write cycle to perform BackupPlan updates
	// in order to avoid race conditions: An etag is returned in the response to backupPlans.get,
	// and systems are expected to put that etag in the request to backupPlans.patch or
	// backupPlans.delete to ensure that their change will be applied to the same version of the resource.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Description: A set of custom labels supplied by the user.
	// A list of key->value pairs.
	// Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// The region of the Backup Plan.
	Location pulumi.StringOutput `pulumi:"location"`
	// The full name of the BackupPlan Resource.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The number of Kubernetes Pods backed up in the last successful Backup created via this BackupPlan.
	ProtectedPodCount pulumi.IntOutput `pulumi:"protectedPodCount"`
	// RetentionPolicy governs lifecycle of Backups created under this plan.
	// Structure is documented below.
	RetentionPolicy BackupPlanRetentionPolicyPtrOutput `pulumi:"retentionPolicy"`
	// Server generated, unique identifier of UUID format.
	Uid pulumi.StringOutput `pulumi:"uid"`
}

Represents a Backup Plan instance.

To get more information about BackupPlan, see:

* [API documentation](https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke/reference/rest/v1/projects.locations.backupPlans) * How-to Guides

## Example Usage ### Gkebackup Backupplan Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := container.NewCluster(ctx, "primary", &container.ClusterArgs{
			Location:         pulumi.String("us-central1"),
			InitialNodeCount: pulumi.Int(1),
			WorkloadIdentityConfig: &container.ClusterWorkloadIdentityConfigArgs{
				WorkloadPool: pulumi.String("my-project-name.svc.id.goog"),
			},
			AddonsConfig: &container.ClusterAddonsConfigArgs{
				GkeBackupAgentConfig: &container.ClusterAddonsConfigGkeBackupAgentConfigArgs{
					Enabled: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Cluster:  primary.ID(),
			Location: pulumi.String("us-central1"),
			BackupConfig: &gkebackup.BackupPlanBackupConfigArgs{
				IncludeVolumeData: pulumi.Bool(true),
				IncludeSecrets:    pulumi.Bool(true),
				AllNamespaces:     pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Gkebackup Backupplan Autopilot

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := container.NewCluster(ctx, "primary", &container.ClusterArgs{
			Location:           pulumi.String("us-central1"),
			EnableAutopilot:    pulumi.Bool(true),
			IpAllocationPolicy: nil,
			ReleaseChannel: &container.ClusterReleaseChannelArgs{
				Channel: pulumi.String("RAPID"),
			},
			AddonsConfig: &container.ClusterAddonsConfigArgs{
				GkeBackupAgentConfig: &container.ClusterAddonsConfigGkeBackupAgentConfigArgs{
					Enabled: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = gkebackup.NewBackupPlan(ctx, "autopilot", &gkebackup.BackupPlanArgs{
			Cluster:  primary.ID(),
			Location: pulumi.String("us-central1"),
			BackupConfig: &gkebackup.BackupPlanBackupConfigArgs{
				IncludeVolumeData: pulumi.Bool(true),
				IncludeSecrets:    pulumi.Bool(true),
				AllNamespaces:     pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Gkebackup Backupplan Cmek

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := container.NewCluster(ctx, "primary", &container.ClusterArgs{
			Location:         pulumi.String("us-central1"),
			InitialNodeCount: pulumi.Int(1),
			WorkloadIdentityConfig: &container.ClusterWorkloadIdentityConfigArgs{
				WorkloadPool: pulumi.String("my-project-name.svc.id.goog"),
			},
			AddonsConfig: &container.ClusterAddonsConfigArgs{
				GkeBackupAgentConfig: &container.ClusterAddonsConfigGkeBackupAgentConfigArgs{
					Enabled: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		keyRing, err := kms.NewKeyRing(ctx, "keyRing", &kms.KeyRingArgs{
			Location: pulumi.String("us-central1"),
		})
		if err != nil {
			return err
		}
		cryptoKey, err := kms.NewCryptoKey(ctx, "cryptoKey", &kms.CryptoKeyArgs{
			KeyRing: keyRing.ID(),
		})
		if err != nil {
			return err
		}
		_, err = gkebackup.NewBackupPlan(ctx, "cmek", &gkebackup.BackupPlanArgs{
			Cluster:  primary.ID(),
			Location: pulumi.String("us-central1"),
			BackupConfig: &gkebackup.BackupPlanBackupConfigArgs{
				IncludeVolumeData: pulumi.Bool(true),
				IncludeSecrets:    pulumi.Bool(true),
				SelectedNamespaces: &gkebackup.BackupPlanBackupConfigSelectedNamespacesArgs{
					Namespaces: pulumi.StringArray{
						pulumi.String("default"),
						pulumi.String("test"),
					},
				},
				EncryptionKey: &gkebackup.BackupPlanBackupConfigEncryptionKeyArgs{
					GcpKmsEncryptionKey: cryptoKey.ID(),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Gkebackup Backupplan Full

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := container.NewCluster(ctx, "primary", &container.ClusterArgs{
			Location:         pulumi.String("us-central1"),
			InitialNodeCount: pulumi.Int(1),
			WorkloadIdentityConfig: &container.ClusterWorkloadIdentityConfigArgs{
				WorkloadPool: pulumi.String("my-project-name.svc.id.goog"),
			},
			AddonsConfig: &container.ClusterAddonsConfigArgs{
				GkeBackupAgentConfig: &container.ClusterAddonsConfigGkeBackupAgentConfigArgs{
					Enabled: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = gkebackup.NewBackupPlan(ctx, "full", &gkebackup.BackupPlanArgs{
			Cluster:  primary.ID(),
			Location: pulumi.String("us-central1"),
			RetentionPolicy: &gkebackup.BackupPlanRetentionPolicyArgs{
				BackupDeleteLockDays: pulumi.Int(30),
				BackupRetainDays:     pulumi.Int(180),
			},
			BackupSchedule: &gkebackup.BackupPlanBackupScheduleArgs{
				CronSchedule: pulumi.String("0 9 * * 1"),
			},
			BackupConfig: &gkebackup.BackupPlanBackupConfigArgs{
				IncludeVolumeData: pulumi.Bool(true),
				IncludeSecrets:    pulumi.Bool(true),
				SelectedApplications: &gkebackup.BackupPlanBackupConfigSelectedApplicationsArgs{
					NamespacedNames: gkebackup.BackupPlanBackupConfigSelectedApplicationsNamespacedNameArray{
						&gkebackup.BackupPlanBackupConfigSelectedApplicationsNamespacedNameArgs{
							Name:      pulumi.String("app1"),
							Namespace: pulumi.String("ns1"),
						},
						&gkebackup.BackupPlanBackupConfigSelectedApplicationsNamespacedNameArgs{
							Name:      pulumi.String("app2"),
							Namespace: pulumi.String("ns2"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

BackupPlan can be imported using any of these accepted formats

```sh

$ pulumi import gcp:gkebackup/backupPlan:BackupPlan default projects/{{project}}/locations/{{location}}/backupPlans/{{name}}

```

```sh

$ pulumi import gcp:gkebackup/backupPlan:BackupPlan default {{project}}/{{location}}/{{name}}

```

```sh

$ pulumi import gcp:gkebackup/backupPlan:BackupPlan default {{location}}/{{name}}

```

func GetBackupPlan

func GetBackupPlan(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BackupPlanState, opts ...pulumi.ResourceOption) (*BackupPlan, error)

GetBackupPlan gets an existing BackupPlan 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 NewBackupPlan

func NewBackupPlan(ctx *pulumi.Context,
	name string, args *BackupPlanArgs, opts ...pulumi.ResourceOption) (*BackupPlan, error)

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

func (*BackupPlan) ElementType

func (*BackupPlan) ElementType() reflect.Type

func (*BackupPlan) ToBackupPlanOutput

func (i *BackupPlan) ToBackupPlanOutput() BackupPlanOutput

func (*BackupPlan) ToBackupPlanOutputWithContext

func (i *BackupPlan) ToBackupPlanOutputWithContext(ctx context.Context) BackupPlanOutput

type BackupPlanArgs

type BackupPlanArgs struct {
	// Defines the configuration of Backups created via this BackupPlan.
	// Structure is documented below.
	BackupConfig BackupPlanBackupConfigPtrInput
	// Defines a schedule for automatic Backup creation via this BackupPlan.
	// Structure is documented below.
	BackupSchedule BackupPlanBackupSchedulePtrInput
	// The source cluster from which Backups will be created via this BackupPlan.
	Cluster pulumi.StringInput
	// This flag indicates whether this BackupPlan has been deactivated.
	// Setting this field to True locks the BackupPlan such that no further updates will be allowed
	// (except deletes), including the deactivated field itself. It also prevents any new Backups
	// from being created via this BackupPlan (including scheduled Backups).
	Deactivated pulumi.BoolPtrInput
	// User specified descriptive string for this BackupPlan.
	Description pulumi.StringPtrInput
	// Description: A set of custom labels supplied by the user.
	// A list of key->value pairs.
	// Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
	Labels pulumi.StringMapInput
	// The region of the Backup Plan.
	Location pulumi.StringInput
	// The full name of the BackupPlan Resource.
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// RetentionPolicy governs lifecycle of Backups created under this plan.
	// Structure is documented below.
	RetentionPolicy BackupPlanRetentionPolicyPtrInput
}

The set of arguments for constructing a BackupPlan resource.

func (BackupPlanArgs) ElementType

func (BackupPlanArgs) ElementType() reflect.Type

type BackupPlanArray

type BackupPlanArray []BackupPlanInput

func (BackupPlanArray) ElementType

func (BackupPlanArray) ElementType() reflect.Type

func (BackupPlanArray) ToBackupPlanArrayOutput

func (i BackupPlanArray) ToBackupPlanArrayOutput() BackupPlanArrayOutput

func (BackupPlanArray) ToBackupPlanArrayOutputWithContext

func (i BackupPlanArray) ToBackupPlanArrayOutputWithContext(ctx context.Context) BackupPlanArrayOutput

type BackupPlanArrayInput

type BackupPlanArrayInput interface {
	pulumi.Input

	ToBackupPlanArrayOutput() BackupPlanArrayOutput
	ToBackupPlanArrayOutputWithContext(context.Context) BackupPlanArrayOutput
}

BackupPlanArrayInput is an input type that accepts BackupPlanArray and BackupPlanArrayOutput values. You can construct a concrete instance of `BackupPlanArrayInput` via:

BackupPlanArray{ BackupPlanArgs{...} }

type BackupPlanArrayOutput

type BackupPlanArrayOutput struct{ *pulumi.OutputState }

func (BackupPlanArrayOutput) ElementType

func (BackupPlanArrayOutput) ElementType() reflect.Type

func (BackupPlanArrayOutput) Index

func (BackupPlanArrayOutput) ToBackupPlanArrayOutput

func (o BackupPlanArrayOutput) ToBackupPlanArrayOutput() BackupPlanArrayOutput

func (BackupPlanArrayOutput) ToBackupPlanArrayOutputWithContext

func (o BackupPlanArrayOutput) ToBackupPlanArrayOutputWithContext(ctx context.Context) BackupPlanArrayOutput

type BackupPlanBackupConfig

type BackupPlanBackupConfig struct {
	// If True, include all namespaced resources.
	AllNamespaces *bool `pulumi:"allNamespaces"`
	// This defines a customer managed encryption key that will be used to encrypt the "config"
	// portion (the Kubernetes resources) of Backups created via this plan.
	// Structure is documented below.
	EncryptionKey *BackupPlanBackupConfigEncryptionKey `pulumi:"encryptionKey"`
	// This flag specifies whether Kubernetes Secret resources should be included
	// when they fall into the scope of Backups.
	IncludeSecrets *bool `pulumi:"includeSecrets"`
	// This flag specifies whether volume data should be backed up when PVCs are
	// included in the scope of a Backup.
	IncludeVolumeData *bool `pulumi:"includeVolumeData"`
	// A list of namespaced Kubernetes Resources.
	// Structure is documented below.
	SelectedApplications *BackupPlanBackupConfigSelectedApplications `pulumi:"selectedApplications"`
	// If set, include just the resources in the listed namespaces.
	// Structure is documented below.
	SelectedNamespaces *BackupPlanBackupConfigSelectedNamespaces `pulumi:"selectedNamespaces"`
}

type BackupPlanBackupConfigArgs

type BackupPlanBackupConfigArgs struct {
	// If True, include all namespaced resources.
	AllNamespaces pulumi.BoolPtrInput `pulumi:"allNamespaces"`
	// This defines a customer managed encryption key that will be used to encrypt the "config"
	// portion (the Kubernetes resources) of Backups created via this plan.
	// Structure is documented below.
	EncryptionKey BackupPlanBackupConfigEncryptionKeyPtrInput `pulumi:"encryptionKey"`
	// This flag specifies whether Kubernetes Secret resources should be included
	// when they fall into the scope of Backups.
	IncludeSecrets pulumi.BoolPtrInput `pulumi:"includeSecrets"`
	// This flag specifies whether volume data should be backed up when PVCs are
	// included in the scope of a Backup.
	IncludeVolumeData pulumi.BoolPtrInput `pulumi:"includeVolumeData"`
	// A list of namespaced Kubernetes Resources.
	// Structure is documented below.
	SelectedApplications BackupPlanBackupConfigSelectedApplicationsPtrInput `pulumi:"selectedApplications"`
	// If set, include just the resources in the listed namespaces.
	// Structure is documented below.
	SelectedNamespaces BackupPlanBackupConfigSelectedNamespacesPtrInput `pulumi:"selectedNamespaces"`
}

func (BackupPlanBackupConfigArgs) ElementType

func (BackupPlanBackupConfigArgs) ElementType() reflect.Type

func (BackupPlanBackupConfigArgs) ToBackupPlanBackupConfigOutput

func (i BackupPlanBackupConfigArgs) ToBackupPlanBackupConfigOutput() BackupPlanBackupConfigOutput

func (BackupPlanBackupConfigArgs) ToBackupPlanBackupConfigOutputWithContext

func (i BackupPlanBackupConfigArgs) ToBackupPlanBackupConfigOutputWithContext(ctx context.Context) BackupPlanBackupConfigOutput

func (BackupPlanBackupConfigArgs) ToBackupPlanBackupConfigPtrOutput

func (i BackupPlanBackupConfigArgs) ToBackupPlanBackupConfigPtrOutput() BackupPlanBackupConfigPtrOutput

func (BackupPlanBackupConfigArgs) ToBackupPlanBackupConfigPtrOutputWithContext

func (i BackupPlanBackupConfigArgs) ToBackupPlanBackupConfigPtrOutputWithContext(ctx context.Context) BackupPlanBackupConfigPtrOutput

type BackupPlanBackupConfigEncryptionKey

type BackupPlanBackupConfigEncryptionKey struct {
	// Google Cloud KMS encryption key. Format: projects/*/locations/*/keyRings/*/cryptoKeys/*
	GcpKmsEncryptionKey string `pulumi:"gcpKmsEncryptionKey"`
}

type BackupPlanBackupConfigEncryptionKeyArgs

type BackupPlanBackupConfigEncryptionKeyArgs struct {
	// Google Cloud KMS encryption key. Format: projects/*/locations/*/keyRings/*/cryptoKeys/*
	GcpKmsEncryptionKey pulumi.StringInput `pulumi:"gcpKmsEncryptionKey"`
}

func (BackupPlanBackupConfigEncryptionKeyArgs) ElementType

func (BackupPlanBackupConfigEncryptionKeyArgs) ToBackupPlanBackupConfigEncryptionKeyOutput

func (i BackupPlanBackupConfigEncryptionKeyArgs) ToBackupPlanBackupConfigEncryptionKeyOutput() BackupPlanBackupConfigEncryptionKeyOutput

func (BackupPlanBackupConfigEncryptionKeyArgs) ToBackupPlanBackupConfigEncryptionKeyOutputWithContext

func (i BackupPlanBackupConfigEncryptionKeyArgs) ToBackupPlanBackupConfigEncryptionKeyOutputWithContext(ctx context.Context) BackupPlanBackupConfigEncryptionKeyOutput

func (BackupPlanBackupConfigEncryptionKeyArgs) ToBackupPlanBackupConfigEncryptionKeyPtrOutput

func (i BackupPlanBackupConfigEncryptionKeyArgs) ToBackupPlanBackupConfigEncryptionKeyPtrOutput() BackupPlanBackupConfigEncryptionKeyPtrOutput

func (BackupPlanBackupConfigEncryptionKeyArgs) ToBackupPlanBackupConfigEncryptionKeyPtrOutputWithContext

func (i BackupPlanBackupConfigEncryptionKeyArgs) ToBackupPlanBackupConfigEncryptionKeyPtrOutputWithContext(ctx context.Context) BackupPlanBackupConfigEncryptionKeyPtrOutput

type BackupPlanBackupConfigEncryptionKeyInput

type BackupPlanBackupConfigEncryptionKeyInput interface {
	pulumi.Input

	ToBackupPlanBackupConfigEncryptionKeyOutput() BackupPlanBackupConfigEncryptionKeyOutput
	ToBackupPlanBackupConfigEncryptionKeyOutputWithContext(context.Context) BackupPlanBackupConfigEncryptionKeyOutput
}

BackupPlanBackupConfigEncryptionKeyInput is an input type that accepts BackupPlanBackupConfigEncryptionKeyArgs and BackupPlanBackupConfigEncryptionKeyOutput values. You can construct a concrete instance of `BackupPlanBackupConfigEncryptionKeyInput` via:

BackupPlanBackupConfigEncryptionKeyArgs{...}

type BackupPlanBackupConfigEncryptionKeyOutput

type BackupPlanBackupConfigEncryptionKeyOutput struct{ *pulumi.OutputState }

func (BackupPlanBackupConfigEncryptionKeyOutput) ElementType

func (BackupPlanBackupConfigEncryptionKeyOutput) GcpKmsEncryptionKey

Google Cloud KMS encryption key. Format: projects/*/locations/*/keyRings/*/cryptoKeys/*

func (BackupPlanBackupConfigEncryptionKeyOutput) ToBackupPlanBackupConfigEncryptionKeyOutput

func (o BackupPlanBackupConfigEncryptionKeyOutput) ToBackupPlanBackupConfigEncryptionKeyOutput() BackupPlanBackupConfigEncryptionKeyOutput

func (BackupPlanBackupConfigEncryptionKeyOutput) ToBackupPlanBackupConfigEncryptionKeyOutputWithContext

func (o BackupPlanBackupConfigEncryptionKeyOutput) ToBackupPlanBackupConfigEncryptionKeyOutputWithContext(ctx context.Context) BackupPlanBackupConfigEncryptionKeyOutput

func (BackupPlanBackupConfigEncryptionKeyOutput) ToBackupPlanBackupConfigEncryptionKeyPtrOutput

func (o BackupPlanBackupConfigEncryptionKeyOutput) ToBackupPlanBackupConfigEncryptionKeyPtrOutput() BackupPlanBackupConfigEncryptionKeyPtrOutput

func (BackupPlanBackupConfigEncryptionKeyOutput) ToBackupPlanBackupConfigEncryptionKeyPtrOutputWithContext

func (o BackupPlanBackupConfigEncryptionKeyOutput) ToBackupPlanBackupConfigEncryptionKeyPtrOutputWithContext(ctx context.Context) BackupPlanBackupConfigEncryptionKeyPtrOutput

type BackupPlanBackupConfigEncryptionKeyPtrInput

type BackupPlanBackupConfigEncryptionKeyPtrInput interface {
	pulumi.Input

	ToBackupPlanBackupConfigEncryptionKeyPtrOutput() BackupPlanBackupConfigEncryptionKeyPtrOutput
	ToBackupPlanBackupConfigEncryptionKeyPtrOutputWithContext(context.Context) BackupPlanBackupConfigEncryptionKeyPtrOutput
}

BackupPlanBackupConfigEncryptionKeyPtrInput is an input type that accepts BackupPlanBackupConfigEncryptionKeyArgs, BackupPlanBackupConfigEncryptionKeyPtr and BackupPlanBackupConfigEncryptionKeyPtrOutput values. You can construct a concrete instance of `BackupPlanBackupConfigEncryptionKeyPtrInput` via:

        BackupPlanBackupConfigEncryptionKeyArgs{...}

or:

        nil

type BackupPlanBackupConfigEncryptionKeyPtrOutput

type BackupPlanBackupConfigEncryptionKeyPtrOutput struct{ *pulumi.OutputState }

func (BackupPlanBackupConfigEncryptionKeyPtrOutput) Elem

func (BackupPlanBackupConfigEncryptionKeyPtrOutput) ElementType

func (BackupPlanBackupConfigEncryptionKeyPtrOutput) GcpKmsEncryptionKey

Google Cloud KMS encryption key. Format: projects/*/locations/*/keyRings/*/cryptoKeys/*

func (BackupPlanBackupConfigEncryptionKeyPtrOutput) ToBackupPlanBackupConfigEncryptionKeyPtrOutput

func (o BackupPlanBackupConfigEncryptionKeyPtrOutput) ToBackupPlanBackupConfigEncryptionKeyPtrOutput() BackupPlanBackupConfigEncryptionKeyPtrOutput

func (BackupPlanBackupConfigEncryptionKeyPtrOutput) ToBackupPlanBackupConfigEncryptionKeyPtrOutputWithContext

func (o BackupPlanBackupConfigEncryptionKeyPtrOutput) ToBackupPlanBackupConfigEncryptionKeyPtrOutputWithContext(ctx context.Context) BackupPlanBackupConfigEncryptionKeyPtrOutput

type BackupPlanBackupConfigInput

type BackupPlanBackupConfigInput interface {
	pulumi.Input

	ToBackupPlanBackupConfigOutput() BackupPlanBackupConfigOutput
	ToBackupPlanBackupConfigOutputWithContext(context.Context) BackupPlanBackupConfigOutput
}

BackupPlanBackupConfigInput is an input type that accepts BackupPlanBackupConfigArgs and BackupPlanBackupConfigOutput values. You can construct a concrete instance of `BackupPlanBackupConfigInput` via:

BackupPlanBackupConfigArgs{...}

type BackupPlanBackupConfigOutput

type BackupPlanBackupConfigOutput struct{ *pulumi.OutputState }

func (BackupPlanBackupConfigOutput) AllNamespaces

If True, include all namespaced resources.

func (BackupPlanBackupConfigOutput) ElementType

func (BackupPlanBackupConfigOutput) EncryptionKey

This defines a customer managed encryption key that will be used to encrypt the "config" portion (the Kubernetes resources) of Backups created via this plan. Structure is documented below.

func (BackupPlanBackupConfigOutput) IncludeSecrets

This flag specifies whether Kubernetes Secret resources should be included when they fall into the scope of Backups.

func (BackupPlanBackupConfigOutput) IncludeVolumeData

func (o BackupPlanBackupConfigOutput) IncludeVolumeData() pulumi.BoolPtrOutput

This flag specifies whether volume data should be backed up when PVCs are included in the scope of a Backup.

func (BackupPlanBackupConfigOutput) SelectedApplications

A list of namespaced Kubernetes Resources. Structure is documented below.

func (BackupPlanBackupConfigOutput) SelectedNamespaces

If set, include just the resources in the listed namespaces. Structure is documented below.

func (BackupPlanBackupConfigOutput) ToBackupPlanBackupConfigOutput

func (o BackupPlanBackupConfigOutput) ToBackupPlanBackupConfigOutput() BackupPlanBackupConfigOutput

func (BackupPlanBackupConfigOutput) ToBackupPlanBackupConfigOutputWithContext

func (o BackupPlanBackupConfigOutput) ToBackupPlanBackupConfigOutputWithContext(ctx context.Context) BackupPlanBackupConfigOutput

func (BackupPlanBackupConfigOutput) ToBackupPlanBackupConfigPtrOutput

func (o BackupPlanBackupConfigOutput) ToBackupPlanBackupConfigPtrOutput() BackupPlanBackupConfigPtrOutput

func (BackupPlanBackupConfigOutput) ToBackupPlanBackupConfigPtrOutputWithContext

func (o BackupPlanBackupConfigOutput) ToBackupPlanBackupConfigPtrOutputWithContext(ctx context.Context) BackupPlanBackupConfigPtrOutput

type BackupPlanBackupConfigPtrInput

type BackupPlanBackupConfigPtrInput interface {
	pulumi.Input

	ToBackupPlanBackupConfigPtrOutput() BackupPlanBackupConfigPtrOutput
	ToBackupPlanBackupConfigPtrOutputWithContext(context.Context) BackupPlanBackupConfigPtrOutput
}

BackupPlanBackupConfigPtrInput is an input type that accepts BackupPlanBackupConfigArgs, BackupPlanBackupConfigPtr and BackupPlanBackupConfigPtrOutput values. You can construct a concrete instance of `BackupPlanBackupConfigPtrInput` via:

        BackupPlanBackupConfigArgs{...}

or:

        nil

type BackupPlanBackupConfigPtrOutput

type BackupPlanBackupConfigPtrOutput struct{ *pulumi.OutputState }

func (BackupPlanBackupConfigPtrOutput) AllNamespaces

If True, include all namespaced resources.

func (BackupPlanBackupConfigPtrOutput) Elem

func (BackupPlanBackupConfigPtrOutput) ElementType

func (BackupPlanBackupConfigPtrOutput) EncryptionKey

This defines a customer managed encryption key that will be used to encrypt the "config" portion (the Kubernetes resources) of Backups created via this plan. Structure is documented below.

func (BackupPlanBackupConfigPtrOutput) IncludeSecrets

This flag specifies whether Kubernetes Secret resources should be included when they fall into the scope of Backups.

func (BackupPlanBackupConfigPtrOutput) IncludeVolumeData

This flag specifies whether volume data should be backed up when PVCs are included in the scope of a Backup.

func (BackupPlanBackupConfigPtrOutput) SelectedApplications

A list of namespaced Kubernetes Resources. Structure is documented below.

func (BackupPlanBackupConfigPtrOutput) SelectedNamespaces

If set, include just the resources in the listed namespaces. Structure is documented below.

func (BackupPlanBackupConfigPtrOutput) ToBackupPlanBackupConfigPtrOutput

func (o BackupPlanBackupConfigPtrOutput) ToBackupPlanBackupConfigPtrOutput() BackupPlanBackupConfigPtrOutput

func (BackupPlanBackupConfigPtrOutput) ToBackupPlanBackupConfigPtrOutputWithContext

func (o BackupPlanBackupConfigPtrOutput) ToBackupPlanBackupConfigPtrOutputWithContext(ctx context.Context) BackupPlanBackupConfigPtrOutput

type BackupPlanBackupConfigSelectedApplications

type BackupPlanBackupConfigSelectedApplications struct {
	// A list of namespaced Kubernetes resources.
	// Structure is documented below.
	NamespacedNames []BackupPlanBackupConfigSelectedApplicationsNamespacedName `pulumi:"namespacedNames"`
}

type BackupPlanBackupConfigSelectedApplicationsArgs

type BackupPlanBackupConfigSelectedApplicationsArgs struct {
	// A list of namespaced Kubernetes resources.
	// Structure is documented below.
	NamespacedNames BackupPlanBackupConfigSelectedApplicationsNamespacedNameArrayInput `pulumi:"namespacedNames"`
}

func (BackupPlanBackupConfigSelectedApplicationsArgs) ElementType

func (BackupPlanBackupConfigSelectedApplicationsArgs) ToBackupPlanBackupConfigSelectedApplicationsOutput

func (i BackupPlanBackupConfigSelectedApplicationsArgs) ToBackupPlanBackupConfigSelectedApplicationsOutput() BackupPlanBackupConfigSelectedApplicationsOutput

func (BackupPlanBackupConfigSelectedApplicationsArgs) ToBackupPlanBackupConfigSelectedApplicationsOutputWithContext

func (i BackupPlanBackupConfigSelectedApplicationsArgs) ToBackupPlanBackupConfigSelectedApplicationsOutputWithContext(ctx context.Context) BackupPlanBackupConfigSelectedApplicationsOutput

func (BackupPlanBackupConfigSelectedApplicationsArgs) ToBackupPlanBackupConfigSelectedApplicationsPtrOutput

func (i BackupPlanBackupConfigSelectedApplicationsArgs) ToBackupPlanBackupConfigSelectedApplicationsPtrOutput() BackupPlanBackupConfigSelectedApplicationsPtrOutput

func (BackupPlanBackupConfigSelectedApplicationsArgs) ToBackupPlanBackupConfigSelectedApplicationsPtrOutputWithContext

func (i BackupPlanBackupConfigSelectedApplicationsArgs) ToBackupPlanBackupConfigSelectedApplicationsPtrOutputWithContext(ctx context.Context) BackupPlanBackupConfigSelectedApplicationsPtrOutput

type BackupPlanBackupConfigSelectedApplicationsInput

type BackupPlanBackupConfigSelectedApplicationsInput interface {
	pulumi.Input

	ToBackupPlanBackupConfigSelectedApplicationsOutput() BackupPlanBackupConfigSelectedApplicationsOutput
	ToBackupPlanBackupConfigSelectedApplicationsOutputWithContext(context.Context) BackupPlanBackupConfigSelectedApplicationsOutput
}

BackupPlanBackupConfigSelectedApplicationsInput is an input type that accepts BackupPlanBackupConfigSelectedApplicationsArgs and BackupPlanBackupConfigSelectedApplicationsOutput values. You can construct a concrete instance of `BackupPlanBackupConfigSelectedApplicationsInput` via:

BackupPlanBackupConfigSelectedApplicationsArgs{...}

type BackupPlanBackupConfigSelectedApplicationsNamespacedName

type BackupPlanBackupConfigSelectedApplicationsNamespacedName struct {
	// The name of a Kubernetes Resource.
	Name string `pulumi:"name"`
	// The namespace of a Kubernetes Resource.
	Namespace string `pulumi:"namespace"`
}

type BackupPlanBackupConfigSelectedApplicationsNamespacedNameArgs

type BackupPlanBackupConfigSelectedApplicationsNamespacedNameArgs struct {
	// The name of a Kubernetes Resource.
	Name pulumi.StringInput `pulumi:"name"`
	// The namespace of a Kubernetes Resource.
	Namespace pulumi.StringInput `pulumi:"namespace"`
}

func (BackupPlanBackupConfigSelectedApplicationsNamespacedNameArgs) ElementType

func (BackupPlanBackupConfigSelectedApplicationsNamespacedNameArgs) ToBackupPlanBackupConfigSelectedApplicationsNamespacedNameOutput

func (BackupPlanBackupConfigSelectedApplicationsNamespacedNameArgs) ToBackupPlanBackupConfigSelectedApplicationsNamespacedNameOutputWithContext

func (i BackupPlanBackupConfigSelectedApplicationsNamespacedNameArgs) ToBackupPlanBackupConfigSelectedApplicationsNamespacedNameOutputWithContext(ctx context.Context) BackupPlanBackupConfigSelectedApplicationsNamespacedNameOutput

type BackupPlanBackupConfigSelectedApplicationsNamespacedNameArray

type BackupPlanBackupConfigSelectedApplicationsNamespacedNameArray []BackupPlanBackupConfigSelectedApplicationsNamespacedNameInput

func (BackupPlanBackupConfigSelectedApplicationsNamespacedNameArray) ElementType

func (BackupPlanBackupConfigSelectedApplicationsNamespacedNameArray) ToBackupPlanBackupConfigSelectedApplicationsNamespacedNameArrayOutput

func (BackupPlanBackupConfigSelectedApplicationsNamespacedNameArray) ToBackupPlanBackupConfigSelectedApplicationsNamespacedNameArrayOutputWithContext

func (i BackupPlanBackupConfigSelectedApplicationsNamespacedNameArray) ToBackupPlanBackupConfigSelectedApplicationsNamespacedNameArrayOutputWithContext(ctx context.Context) BackupPlanBackupConfigSelectedApplicationsNamespacedNameArrayOutput

type BackupPlanBackupConfigSelectedApplicationsNamespacedNameArrayInput

type BackupPlanBackupConfigSelectedApplicationsNamespacedNameArrayInput interface {
	pulumi.Input

	ToBackupPlanBackupConfigSelectedApplicationsNamespacedNameArrayOutput() BackupPlanBackupConfigSelectedApplicationsNamespacedNameArrayOutput
	ToBackupPlanBackupConfigSelectedApplicationsNamespacedNameArrayOutputWithContext(context.Context) BackupPlanBackupConfigSelectedApplicationsNamespacedNameArrayOutput
}

BackupPlanBackupConfigSelectedApplicationsNamespacedNameArrayInput is an input type that accepts BackupPlanBackupConfigSelectedApplicationsNamespacedNameArray and BackupPlanBackupConfigSelectedApplicationsNamespacedNameArrayOutput values. You can construct a concrete instance of `BackupPlanBackupConfigSelectedApplicationsNamespacedNameArrayInput` via:

BackupPlanBackupConfigSelectedApplicationsNamespacedNameArray{ BackupPlanBackupConfigSelectedApplicationsNamespacedNameArgs{...} }

type BackupPlanBackupConfigSelectedApplicationsNamespacedNameArrayOutput

type BackupPlanBackupConfigSelectedApplicationsNamespacedNameArrayOutput struct{ *pulumi.OutputState }

func (BackupPlanBackupConfigSelectedApplicationsNamespacedNameArrayOutput) ElementType

func (BackupPlanBackupConfigSelectedApplicationsNamespacedNameArrayOutput) Index

func (BackupPlanBackupConfigSelectedApplicationsNamespacedNameArrayOutput) ToBackupPlanBackupConfigSelectedApplicationsNamespacedNameArrayOutput

func (BackupPlanBackupConfigSelectedApplicationsNamespacedNameArrayOutput) ToBackupPlanBackupConfigSelectedApplicationsNamespacedNameArrayOutputWithContext

func (o BackupPlanBackupConfigSelectedApplicationsNamespacedNameArrayOutput) ToBackupPlanBackupConfigSelectedApplicationsNamespacedNameArrayOutputWithContext(ctx context.Context) BackupPlanBackupConfigSelectedApplicationsNamespacedNameArrayOutput

type BackupPlanBackupConfigSelectedApplicationsNamespacedNameInput

type BackupPlanBackupConfigSelectedApplicationsNamespacedNameInput interface {
	pulumi.Input

	ToBackupPlanBackupConfigSelectedApplicationsNamespacedNameOutput() BackupPlanBackupConfigSelectedApplicationsNamespacedNameOutput
	ToBackupPlanBackupConfigSelectedApplicationsNamespacedNameOutputWithContext(context.Context) BackupPlanBackupConfigSelectedApplicationsNamespacedNameOutput
}

BackupPlanBackupConfigSelectedApplicationsNamespacedNameInput is an input type that accepts BackupPlanBackupConfigSelectedApplicationsNamespacedNameArgs and BackupPlanBackupConfigSelectedApplicationsNamespacedNameOutput values. You can construct a concrete instance of `BackupPlanBackupConfigSelectedApplicationsNamespacedNameInput` via:

BackupPlanBackupConfigSelectedApplicationsNamespacedNameArgs{...}

type BackupPlanBackupConfigSelectedApplicationsNamespacedNameOutput

type BackupPlanBackupConfigSelectedApplicationsNamespacedNameOutput struct{ *pulumi.OutputState }

func (BackupPlanBackupConfigSelectedApplicationsNamespacedNameOutput) ElementType

func (BackupPlanBackupConfigSelectedApplicationsNamespacedNameOutput) Name

The name of a Kubernetes Resource.

func (BackupPlanBackupConfigSelectedApplicationsNamespacedNameOutput) Namespace

The namespace of a Kubernetes Resource.

func (BackupPlanBackupConfigSelectedApplicationsNamespacedNameOutput) ToBackupPlanBackupConfigSelectedApplicationsNamespacedNameOutput

func (BackupPlanBackupConfigSelectedApplicationsNamespacedNameOutput) ToBackupPlanBackupConfigSelectedApplicationsNamespacedNameOutputWithContext

func (o BackupPlanBackupConfigSelectedApplicationsNamespacedNameOutput) ToBackupPlanBackupConfigSelectedApplicationsNamespacedNameOutputWithContext(ctx context.Context) BackupPlanBackupConfigSelectedApplicationsNamespacedNameOutput

type BackupPlanBackupConfigSelectedApplicationsOutput

type BackupPlanBackupConfigSelectedApplicationsOutput struct{ *pulumi.OutputState }

func (BackupPlanBackupConfigSelectedApplicationsOutput) ElementType

func (BackupPlanBackupConfigSelectedApplicationsOutput) NamespacedNames

A list of namespaced Kubernetes resources. Structure is documented below.

func (BackupPlanBackupConfigSelectedApplicationsOutput) ToBackupPlanBackupConfigSelectedApplicationsOutput

func (o BackupPlanBackupConfigSelectedApplicationsOutput) ToBackupPlanBackupConfigSelectedApplicationsOutput() BackupPlanBackupConfigSelectedApplicationsOutput

func (BackupPlanBackupConfigSelectedApplicationsOutput) ToBackupPlanBackupConfigSelectedApplicationsOutputWithContext

func (o BackupPlanBackupConfigSelectedApplicationsOutput) ToBackupPlanBackupConfigSelectedApplicationsOutputWithContext(ctx context.Context) BackupPlanBackupConfigSelectedApplicationsOutput

func (BackupPlanBackupConfigSelectedApplicationsOutput) ToBackupPlanBackupConfigSelectedApplicationsPtrOutput

func (o BackupPlanBackupConfigSelectedApplicationsOutput) ToBackupPlanBackupConfigSelectedApplicationsPtrOutput() BackupPlanBackupConfigSelectedApplicationsPtrOutput

func (BackupPlanBackupConfigSelectedApplicationsOutput) ToBackupPlanBackupConfigSelectedApplicationsPtrOutputWithContext

func (o BackupPlanBackupConfigSelectedApplicationsOutput) ToBackupPlanBackupConfigSelectedApplicationsPtrOutputWithContext(ctx context.Context) BackupPlanBackupConfigSelectedApplicationsPtrOutput

type BackupPlanBackupConfigSelectedApplicationsPtrInput

type BackupPlanBackupConfigSelectedApplicationsPtrInput interface {
	pulumi.Input

	ToBackupPlanBackupConfigSelectedApplicationsPtrOutput() BackupPlanBackupConfigSelectedApplicationsPtrOutput
	ToBackupPlanBackupConfigSelectedApplicationsPtrOutputWithContext(context.Context) BackupPlanBackupConfigSelectedApplicationsPtrOutput
}

BackupPlanBackupConfigSelectedApplicationsPtrInput is an input type that accepts BackupPlanBackupConfigSelectedApplicationsArgs, BackupPlanBackupConfigSelectedApplicationsPtr and BackupPlanBackupConfigSelectedApplicationsPtrOutput values. You can construct a concrete instance of `BackupPlanBackupConfigSelectedApplicationsPtrInput` via:

        BackupPlanBackupConfigSelectedApplicationsArgs{...}

or:

        nil

type BackupPlanBackupConfigSelectedApplicationsPtrOutput

type BackupPlanBackupConfigSelectedApplicationsPtrOutput struct{ *pulumi.OutputState }

func (BackupPlanBackupConfigSelectedApplicationsPtrOutput) Elem

func (BackupPlanBackupConfigSelectedApplicationsPtrOutput) ElementType

func (BackupPlanBackupConfigSelectedApplicationsPtrOutput) NamespacedNames

A list of namespaced Kubernetes resources. Structure is documented below.

func (BackupPlanBackupConfigSelectedApplicationsPtrOutput) ToBackupPlanBackupConfigSelectedApplicationsPtrOutput

func (o BackupPlanBackupConfigSelectedApplicationsPtrOutput) ToBackupPlanBackupConfigSelectedApplicationsPtrOutput() BackupPlanBackupConfigSelectedApplicationsPtrOutput

func (BackupPlanBackupConfigSelectedApplicationsPtrOutput) ToBackupPlanBackupConfigSelectedApplicationsPtrOutputWithContext

func (o BackupPlanBackupConfigSelectedApplicationsPtrOutput) ToBackupPlanBackupConfigSelectedApplicationsPtrOutputWithContext(ctx context.Context) BackupPlanBackupConfigSelectedApplicationsPtrOutput

type BackupPlanBackupConfigSelectedNamespaces

type BackupPlanBackupConfigSelectedNamespaces struct {
	// A list of Kubernetes Namespaces.
	Namespaces []string `pulumi:"namespaces"`
}

type BackupPlanBackupConfigSelectedNamespacesArgs

type BackupPlanBackupConfigSelectedNamespacesArgs struct {
	// A list of Kubernetes Namespaces.
	Namespaces pulumi.StringArrayInput `pulumi:"namespaces"`
}

func (BackupPlanBackupConfigSelectedNamespacesArgs) ElementType

func (BackupPlanBackupConfigSelectedNamespacesArgs) ToBackupPlanBackupConfigSelectedNamespacesOutput

func (i BackupPlanBackupConfigSelectedNamespacesArgs) ToBackupPlanBackupConfigSelectedNamespacesOutput() BackupPlanBackupConfigSelectedNamespacesOutput

func (BackupPlanBackupConfigSelectedNamespacesArgs) ToBackupPlanBackupConfigSelectedNamespacesOutputWithContext

func (i BackupPlanBackupConfigSelectedNamespacesArgs) ToBackupPlanBackupConfigSelectedNamespacesOutputWithContext(ctx context.Context) BackupPlanBackupConfigSelectedNamespacesOutput

func (BackupPlanBackupConfigSelectedNamespacesArgs) ToBackupPlanBackupConfigSelectedNamespacesPtrOutput

func (i BackupPlanBackupConfigSelectedNamespacesArgs) ToBackupPlanBackupConfigSelectedNamespacesPtrOutput() BackupPlanBackupConfigSelectedNamespacesPtrOutput

func (BackupPlanBackupConfigSelectedNamespacesArgs) ToBackupPlanBackupConfigSelectedNamespacesPtrOutputWithContext

func (i BackupPlanBackupConfigSelectedNamespacesArgs) ToBackupPlanBackupConfigSelectedNamespacesPtrOutputWithContext(ctx context.Context) BackupPlanBackupConfigSelectedNamespacesPtrOutput

type BackupPlanBackupConfigSelectedNamespacesInput

type BackupPlanBackupConfigSelectedNamespacesInput interface {
	pulumi.Input

	ToBackupPlanBackupConfigSelectedNamespacesOutput() BackupPlanBackupConfigSelectedNamespacesOutput
	ToBackupPlanBackupConfigSelectedNamespacesOutputWithContext(context.Context) BackupPlanBackupConfigSelectedNamespacesOutput
}

BackupPlanBackupConfigSelectedNamespacesInput is an input type that accepts BackupPlanBackupConfigSelectedNamespacesArgs and BackupPlanBackupConfigSelectedNamespacesOutput values. You can construct a concrete instance of `BackupPlanBackupConfigSelectedNamespacesInput` via:

BackupPlanBackupConfigSelectedNamespacesArgs{...}

type BackupPlanBackupConfigSelectedNamespacesOutput

type BackupPlanBackupConfigSelectedNamespacesOutput struct{ *pulumi.OutputState }

func (BackupPlanBackupConfigSelectedNamespacesOutput) ElementType

func (BackupPlanBackupConfigSelectedNamespacesOutput) Namespaces

A list of Kubernetes Namespaces.

func (BackupPlanBackupConfigSelectedNamespacesOutput) ToBackupPlanBackupConfigSelectedNamespacesOutput

func (o BackupPlanBackupConfigSelectedNamespacesOutput) ToBackupPlanBackupConfigSelectedNamespacesOutput() BackupPlanBackupConfigSelectedNamespacesOutput

func (BackupPlanBackupConfigSelectedNamespacesOutput) ToBackupPlanBackupConfigSelectedNamespacesOutputWithContext

func (o BackupPlanBackupConfigSelectedNamespacesOutput) ToBackupPlanBackupConfigSelectedNamespacesOutputWithContext(ctx context.Context) BackupPlanBackupConfigSelectedNamespacesOutput

func (BackupPlanBackupConfigSelectedNamespacesOutput) ToBackupPlanBackupConfigSelectedNamespacesPtrOutput

func (o BackupPlanBackupConfigSelectedNamespacesOutput) ToBackupPlanBackupConfigSelectedNamespacesPtrOutput() BackupPlanBackupConfigSelectedNamespacesPtrOutput

func (BackupPlanBackupConfigSelectedNamespacesOutput) ToBackupPlanBackupConfigSelectedNamespacesPtrOutputWithContext

func (o BackupPlanBackupConfigSelectedNamespacesOutput) ToBackupPlanBackupConfigSelectedNamespacesPtrOutputWithContext(ctx context.Context) BackupPlanBackupConfigSelectedNamespacesPtrOutput

type BackupPlanBackupConfigSelectedNamespacesPtrInput

type BackupPlanBackupConfigSelectedNamespacesPtrInput interface {
	pulumi.Input

	ToBackupPlanBackupConfigSelectedNamespacesPtrOutput() BackupPlanBackupConfigSelectedNamespacesPtrOutput
	ToBackupPlanBackupConfigSelectedNamespacesPtrOutputWithContext(context.Context) BackupPlanBackupConfigSelectedNamespacesPtrOutput
}

BackupPlanBackupConfigSelectedNamespacesPtrInput is an input type that accepts BackupPlanBackupConfigSelectedNamespacesArgs, BackupPlanBackupConfigSelectedNamespacesPtr and BackupPlanBackupConfigSelectedNamespacesPtrOutput values. You can construct a concrete instance of `BackupPlanBackupConfigSelectedNamespacesPtrInput` via:

        BackupPlanBackupConfigSelectedNamespacesArgs{...}

or:

        nil

type BackupPlanBackupConfigSelectedNamespacesPtrOutput

type BackupPlanBackupConfigSelectedNamespacesPtrOutput struct{ *pulumi.OutputState }

func (BackupPlanBackupConfigSelectedNamespacesPtrOutput) Elem

func (BackupPlanBackupConfigSelectedNamespacesPtrOutput) ElementType

func (BackupPlanBackupConfigSelectedNamespacesPtrOutput) Namespaces

A list of Kubernetes Namespaces.

func (BackupPlanBackupConfigSelectedNamespacesPtrOutput) ToBackupPlanBackupConfigSelectedNamespacesPtrOutput

func (o BackupPlanBackupConfigSelectedNamespacesPtrOutput) ToBackupPlanBackupConfigSelectedNamespacesPtrOutput() BackupPlanBackupConfigSelectedNamespacesPtrOutput

func (BackupPlanBackupConfigSelectedNamespacesPtrOutput) ToBackupPlanBackupConfigSelectedNamespacesPtrOutputWithContext

func (o BackupPlanBackupConfigSelectedNamespacesPtrOutput) ToBackupPlanBackupConfigSelectedNamespacesPtrOutputWithContext(ctx context.Context) BackupPlanBackupConfigSelectedNamespacesPtrOutput

type BackupPlanBackupSchedule

type BackupPlanBackupSchedule struct {
	// A standard cron string that defines a repeating schedule for
	// creating Backups via this BackupPlan.
	// If this is defined, then backupRetainDays must also be defined.
	CronSchedule *string `pulumi:"cronSchedule"`
	// This flag denotes whether automatic Backup creation is paused for this BackupPlan.
	Paused *bool `pulumi:"paused"`
}

type BackupPlanBackupScheduleArgs

type BackupPlanBackupScheduleArgs struct {
	// A standard cron string that defines a repeating schedule for
	// creating Backups via this BackupPlan.
	// If this is defined, then backupRetainDays must also be defined.
	CronSchedule pulumi.StringPtrInput `pulumi:"cronSchedule"`
	// This flag denotes whether automatic Backup creation is paused for this BackupPlan.
	Paused pulumi.BoolPtrInput `pulumi:"paused"`
}

func (BackupPlanBackupScheduleArgs) ElementType

func (BackupPlanBackupScheduleArgs) ToBackupPlanBackupScheduleOutput

func (i BackupPlanBackupScheduleArgs) ToBackupPlanBackupScheduleOutput() BackupPlanBackupScheduleOutput

func (BackupPlanBackupScheduleArgs) ToBackupPlanBackupScheduleOutputWithContext

func (i BackupPlanBackupScheduleArgs) ToBackupPlanBackupScheduleOutputWithContext(ctx context.Context) BackupPlanBackupScheduleOutput

func (BackupPlanBackupScheduleArgs) ToBackupPlanBackupSchedulePtrOutput

func (i BackupPlanBackupScheduleArgs) ToBackupPlanBackupSchedulePtrOutput() BackupPlanBackupSchedulePtrOutput

func (BackupPlanBackupScheduleArgs) ToBackupPlanBackupSchedulePtrOutputWithContext

func (i BackupPlanBackupScheduleArgs) ToBackupPlanBackupSchedulePtrOutputWithContext(ctx context.Context) BackupPlanBackupSchedulePtrOutput

type BackupPlanBackupScheduleInput

type BackupPlanBackupScheduleInput interface {
	pulumi.Input

	ToBackupPlanBackupScheduleOutput() BackupPlanBackupScheduleOutput
	ToBackupPlanBackupScheduleOutputWithContext(context.Context) BackupPlanBackupScheduleOutput
}

BackupPlanBackupScheduleInput is an input type that accepts BackupPlanBackupScheduleArgs and BackupPlanBackupScheduleOutput values. You can construct a concrete instance of `BackupPlanBackupScheduleInput` via:

BackupPlanBackupScheduleArgs{...}

type BackupPlanBackupScheduleOutput

type BackupPlanBackupScheduleOutput struct{ *pulumi.OutputState }

func (BackupPlanBackupScheduleOutput) CronSchedule

A standard cron string that defines a repeating schedule for creating Backups via this BackupPlan. If this is defined, then backupRetainDays must also be defined.

func (BackupPlanBackupScheduleOutput) ElementType

func (BackupPlanBackupScheduleOutput) Paused

This flag denotes whether automatic Backup creation is paused for this BackupPlan.

func (BackupPlanBackupScheduleOutput) ToBackupPlanBackupScheduleOutput

func (o BackupPlanBackupScheduleOutput) ToBackupPlanBackupScheduleOutput() BackupPlanBackupScheduleOutput

func (BackupPlanBackupScheduleOutput) ToBackupPlanBackupScheduleOutputWithContext

func (o BackupPlanBackupScheduleOutput) ToBackupPlanBackupScheduleOutputWithContext(ctx context.Context) BackupPlanBackupScheduleOutput

func (BackupPlanBackupScheduleOutput) ToBackupPlanBackupSchedulePtrOutput

func (o BackupPlanBackupScheduleOutput) ToBackupPlanBackupSchedulePtrOutput() BackupPlanBackupSchedulePtrOutput

func (BackupPlanBackupScheduleOutput) ToBackupPlanBackupSchedulePtrOutputWithContext

func (o BackupPlanBackupScheduleOutput) ToBackupPlanBackupSchedulePtrOutputWithContext(ctx context.Context) BackupPlanBackupSchedulePtrOutput

type BackupPlanBackupSchedulePtrInput

type BackupPlanBackupSchedulePtrInput interface {
	pulumi.Input

	ToBackupPlanBackupSchedulePtrOutput() BackupPlanBackupSchedulePtrOutput
	ToBackupPlanBackupSchedulePtrOutputWithContext(context.Context) BackupPlanBackupSchedulePtrOutput
}

BackupPlanBackupSchedulePtrInput is an input type that accepts BackupPlanBackupScheduleArgs, BackupPlanBackupSchedulePtr and BackupPlanBackupSchedulePtrOutput values. You can construct a concrete instance of `BackupPlanBackupSchedulePtrInput` via:

        BackupPlanBackupScheduleArgs{...}

or:

        nil

type BackupPlanBackupSchedulePtrOutput

type BackupPlanBackupSchedulePtrOutput struct{ *pulumi.OutputState }

func (BackupPlanBackupSchedulePtrOutput) CronSchedule

A standard cron string that defines a repeating schedule for creating Backups via this BackupPlan. If this is defined, then backupRetainDays must also be defined.

func (BackupPlanBackupSchedulePtrOutput) Elem

func (BackupPlanBackupSchedulePtrOutput) ElementType

func (BackupPlanBackupSchedulePtrOutput) Paused

This flag denotes whether automatic Backup creation is paused for this BackupPlan.

func (BackupPlanBackupSchedulePtrOutput) ToBackupPlanBackupSchedulePtrOutput

func (o BackupPlanBackupSchedulePtrOutput) ToBackupPlanBackupSchedulePtrOutput() BackupPlanBackupSchedulePtrOutput

func (BackupPlanBackupSchedulePtrOutput) ToBackupPlanBackupSchedulePtrOutputWithContext

func (o BackupPlanBackupSchedulePtrOutput) ToBackupPlanBackupSchedulePtrOutputWithContext(ctx context.Context) BackupPlanBackupSchedulePtrOutput

type BackupPlanIamBinding added in v6.48.0

type BackupPlanIamBinding struct {
	pulumi.CustomResourceState

	Condition BackupPlanIamBindingConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The region of the Backup Plan.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringOutput      `pulumi:"location"`
	Members  pulumi.StringArrayOutput `pulumi:"members"`
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The role that should be applied. Only one
	// `gkebackup.BackupPlanIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Three different resources help you manage your IAM policy for Backup for GKE BackupPlan. Each of these resources serves a different use case:

* `gkebackup.BackupPlanIamPolicy`: Authoritative. Sets the IAM policy for the backupplan and replaces any existing policy already attached. * `gkebackup.BackupPlanIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the backupplan are preserved. * `gkebackup.BackupPlanIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the backupplan are preserved.

> **Note:** `gkebackup.BackupPlanIamPolicy` **cannot** be used in conjunction with `gkebackup.BackupPlanIamBinding` and `gkebackup.BackupPlanIamMember` or they will fight over what your policy should be.

> **Note:** `gkebackup.BackupPlanIamBinding` resources **can be** used in conjunction with `gkebackup.BackupPlanIamMember` resources **only if** they do not grant privilege to the same role.

## google\_gke\_backup\_backup\_plan\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = gkebackup.NewBackupPlanIamPolicy(ctx, "policy", &gkebackup.BackupPlanIamPolicyArgs{
			Project:    pulumi.Any(google_gke_backup_backup_plan.Basic.Project),
			Location:   pulumi.Any(google_gke_backup_backup_plan.Basic.Location),
			PolicyData: *pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_gke\_backup\_backup\_plan\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := gkebackup.NewBackupPlanIamBinding(ctx, "binding", &gkebackup.BackupPlanIamBindingArgs{
			Project:  pulumi.Any(google_gke_backup_backup_plan.Basic.Project),
			Location: pulumi.Any(google_gke_backup_backup_plan.Basic.Location),
			Role:     pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_gke\_backup\_backup\_plan\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := gkebackup.NewBackupPlanIamMember(ctx, "member", &gkebackup.BackupPlanIamMemberArgs{
			Project:  pulumi.Any(google_gke_backup_backup_plan.Basic.Project),
			Location: pulumi.Any(google_gke_backup_backup_plan.Basic.Location),
			Role:     pulumi.String("roles/viewer"),
			Member:   pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* projects/{{project}}/locations/{{location}}/backupPlans/{{name}} * {{project}}/{{location}}/{{name}} * {{location}}/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Backup for GKE backupplan IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.

```sh

$ pulumi import gcp:gkebackup/backupPlanIamBinding:BackupPlanIamBinding editor "projects/{{project}}/locations/{{location}}/backupPlans/{{backup_plan}} roles/viewer user:jane@example.com"

```

IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.

```sh

$ pulumi import gcp:gkebackup/backupPlanIamBinding:BackupPlanIamBinding editor "projects/{{project}}/locations/{{location}}/backupPlans/{{backup_plan}} roles/viewer"

```

IAM policy imports use the identifier of the resource in question, e.g.

```sh

$ pulumi import gcp:gkebackup/backupPlanIamBinding:BackupPlanIamBinding editor projects/{{project}}/locations/{{location}}/backupPlans/{{backup_plan}}

```

-> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetBackupPlanIamBinding added in v6.48.0

func GetBackupPlanIamBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BackupPlanIamBindingState, opts ...pulumi.ResourceOption) (*BackupPlanIamBinding, error)

GetBackupPlanIamBinding gets an existing BackupPlanIamBinding 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 NewBackupPlanIamBinding added in v6.48.0

func NewBackupPlanIamBinding(ctx *pulumi.Context,
	name string, args *BackupPlanIamBindingArgs, opts ...pulumi.ResourceOption) (*BackupPlanIamBinding, error)

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

func (*BackupPlanIamBinding) ElementType added in v6.48.0

func (*BackupPlanIamBinding) ElementType() reflect.Type

func (*BackupPlanIamBinding) ToBackupPlanIamBindingOutput added in v6.48.0

func (i *BackupPlanIamBinding) ToBackupPlanIamBindingOutput() BackupPlanIamBindingOutput

func (*BackupPlanIamBinding) ToBackupPlanIamBindingOutputWithContext added in v6.48.0

func (i *BackupPlanIamBinding) ToBackupPlanIamBindingOutputWithContext(ctx context.Context) BackupPlanIamBindingOutput

type BackupPlanIamBindingArgs added in v6.48.0

type BackupPlanIamBindingArgs struct {
	Condition BackupPlanIamBindingConditionPtrInput
	// The region of the Backup Plan.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput
	Members  pulumi.StringArrayInput
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `gkebackup.BackupPlanIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
}

The set of arguments for constructing a BackupPlanIamBinding resource.

func (BackupPlanIamBindingArgs) ElementType added in v6.48.0

func (BackupPlanIamBindingArgs) ElementType() reflect.Type

type BackupPlanIamBindingArray added in v6.48.0

type BackupPlanIamBindingArray []BackupPlanIamBindingInput

func (BackupPlanIamBindingArray) ElementType added in v6.48.0

func (BackupPlanIamBindingArray) ElementType() reflect.Type

func (BackupPlanIamBindingArray) ToBackupPlanIamBindingArrayOutput added in v6.48.0

func (i BackupPlanIamBindingArray) ToBackupPlanIamBindingArrayOutput() BackupPlanIamBindingArrayOutput

func (BackupPlanIamBindingArray) ToBackupPlanIamBindingArrayOutputWithContext added in v6.48.0

func (i BackupPlanIamBindingArray) ToBackupPlanIamBindingArrayOutputWithContext(ctx context.Context) BackupPlanIamBindingArrayOutput

type BackupPlanIamBindingArrayInput added in v6.48.0

type BackupPlanIamBindingArrayInput interface {
	pulumi.Input

	ToBackupPlanIamBindingArrayOutput() BackupPlanIamBindingArrayOutput
	ToBackupPlanIamBindingArrayOutputWithContext(context.Context) BackupPlanIamBindingArrayOutput
}

BackupPlanIamBindingArrayInput is an input type that accepts BackupPlanIamBindingArray and BackupPlanIamBindingArrayOutput values. You can construct a concrete instance of `BackupPlanIamBindingArrayInput` via:

BackupPlanIamBindingArray{ BackupPlanIamBindingArgs{...} }

type BackupPlanIamBindingArrayOutput added in v6.48.0

type BackupPlanIamBindingArrayOutput struct{ *pulumi.OutputState }

func (BackupPlanIamBindingArrayOutput) ElementType added in v6.48.0

func (BackupPlanIamBindingArrayOutput) Index added in v6.48.0

func (BackupPlanIamBindingArrayOutput) ToBackupPlanIamBindingArrayOutput added in v6.48.0

func (o BackupPlanIamBindingArrayOutput) ToBackupPlanIamBindingArrayOutput() BackupPlanIamBindingArrayOutput

func (BackupPlanIamBindingArrayOutput) ToBackupPlanIamBindingArrayOutputWithContext added in v6.48.0

func (o BackupPlanIamBindingArrayOutput) ToBackupPlanIamBindingArrayOutputWithContext(ctx context.Context) BackupPlanIamBindingArrayOutput

type BackupPlanIamBindingCondition added in v6.48.0

type BackupPlanIamBindingCondition struct {
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type BackupPlanIamBindingConditionArgs added in v6.48.0

type BackupPlanIamBindingConditionArgs struct {
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (BackupPlanIamBindingConditionArgs) ElementType added in v6.48.0

func (BackupPlanIamBindingConditionArgs) ToBackupPlanIamBindingConditionOutput added in v6.48.0

func (i BackupPlanIamBindingConditionArgs) ToBackupPlanIamBindingConditionOutput() BackupPlanIamBindingConditionOutput

func (BackupPlanIamBindingConditionArgs) ToBackupPlanIamBindingConditionOutputWithContext added in v6.48.0

func (i BackupPlanIamBindingConditionArgs) ToBackupPlanIamBindingConditionOutputWithContext(ctx context.Context) BackupPlanIamBindingConditionOutput

func (BackupPlanIamBindingConditionArgs) ToBackupPlanIamBindingConditionPtrOutput added in v6.48.0

func (i BackupPlanIamBindingConditionArgs) ToBackupPlanIamBindingConditionPtrOutput() BackupPlanIamBindingConditionPtrOutput

func (BackupPlanIamBindingConditionArgs) ToBackupPlanIamBindingConditionPtrOutputWithContext added in v6.48.0

func (i BackupPlanIamBindingConditionArgs) ToBackupPlanIamBindingConditionPtrOutputWithContext(ctx context.Context) BackupPlanIamBindingConditionPtrOutput

type BackupPlanIamBindingConditionInput added in v6.48.0

type BackupPlanIamBindingConditionInput interface {
	pulumi.Input

	ToBackupPlanIamBindingConditionOutput() BackupPlanIamBindingConditionOutput
	ToBackupPlanIamBindingConditionOutputWithContext(context.Context) BackupPlanIamBindingConditionOutput
}

BackupPlanIamBindingConditionInput is an input type that accepts BackupPlanIamBindingConditionArgs and BackupPlanIamBindingConditionOutput values. You can construct a concrete instance of `BackupPlanIamBindingConditionInput` via:

BackupPlanIamBindingConditionArgs{...}

type BackupPlanIamBindingConditionOutput added in v6.48.0

type BackupPlanIamBindingConditionOutput struct{ *pulumi.OutputState }

func (BackupPlanIamBindingConditionOutput) Description added in v6.48.0

func (BackupPlanIamBindingConditionOutput) ElementType added in v6.48.0

func (BackupPlanIamBindingConditionOutput) Expression added in v6.48.0

func (BackupPlanIamBindingConditionOutput) Title added in v6.48.0

func (BackupPlanIamBindingConditionOutput) ToBackupPlanIamBindingConditionOutput added in v6.48.0

func (o BackupPlanIamBindingConditionOutput) ToBackupPlanIamBindingConditionOutput() BackupPlanIamBindingConditionOutput

func (BackupPlanIamBindingConditionOutput) ToBackupPlanIamBindingConditionOutputWithContext added in v6.48.0

func (o BackupPlanIamBindingConditionOutput) ToBackupPlanIamBindingConditionOutputWithContext(ctx context.Context) BackupPlanIamBindingConditionOutput

func (BackupPlanIamBindingConditionOutput) ToBackupPlanIamBindingConditionPtrOutput added in v6.48.0

func (o BackupPlanIamBindingConditionOutput) ToBackupPlanIamBindingConditionPtrOutput() BackupPlanIamBindingConditionPtrOutput

func (BackupPlanIamBindingConditionOutput) ToBackupPlanIamBindingConditionPtrOutputWithContext added in v6.48.0

func (o BackupPlanIamBindingConditionOutput) ToBackupPlanIamBindingConditionPtrOutputWithContext(ctx context.Context) BackupPlanIamBindingConditionPtrOutput

type BackupPlanIamBindingConditionPtrInput added in v6.48.0

type BackupPlanIamBindingConditionPtrInput interface {
	pulumi.Input

	ToBackupPlanIamBindingConditionPtrOutput() BackupPlanIamBindingConditionPtrOutput
	ToBackupPlanIamBindingConditionPtrOutputWithContext(context.Context) BackupPlanIamBindingConditionPtrOutput
}

BackupPlanIamBindingConditionPtrInput is an input type that accepts BackupPlanIamBindingConditionArgs, BackupPlanIamBindingConditionPtr and BackupPlanIamBindingConditionPtrOutput values. You can construct a concrete instance of `BackupPlanIamBindingConditionPtrInput` via:

        BackupPlanIamBindingConditionArgs{...}

or:

        nil

type BackupPlanIamBindingConditionPtrOutput added in v6.48.0

type BackupPlanIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (BackupPlanIamBindingConditionPtrOutput) Description added in v6.48.0

func (BackupPlanIamBindingConditionPtrOutput) Elem added in v6.48.0

func (BackupPlanIamBindingConditionPtrOutput) ElementType added in v6.48.0

func (BackupPlanIamBindingConditionPtrOutput) Expression added in v6.48.0

func (BackupPlanIamBindingConditionPtrOutput) Title added in v6.48.0

func (BackupPlanIamBindingConditionPtrOutput) ToBackupPlanIamBindingConditionPtrOutput added in v6.48.0

func (o BackupPlanIamBindingConditionPtrOutput) ToBackupPlanIamBindingConditionPtrOutput() BackupPlanIamBindingConditionPtrOutput

func (BackupPlanIamBindingConditionPtrOutput) ToBackupPlanIamBindingConditionPtrOutputWithContext added in v6.48.0

func (o BackupPlanIamBindingConditionPtrOutput) ToBackupPlanIamBindingConditionPtrOutputWithContext(ctx context.Context) BackupPlanIamBindingConditionPtrOutput

type BackupPlanIamBindingInput added in v6.48.0

type BackupPlanIamBindingInput interface {
	pulumi.Input

	ToBackupPlanIamBindingOutput() BackupPlanIamBindingOutput
	ToBackupPlanIamBindingOutputWithContext(ctx context.Context) BackupPlanIamBindingOutput
}

type BackupPlanIamBindingMap added in v6.48.0

type BackupPlanIamBindingMap map[string]BackupPlanIamBindingInput

func (BackupPlanIamBindingMap) ElementType added in v6.48.0

func (BackupPlanIamBindingMap) ElementType() reflect.Type

func (BackupPlanIamBindingMap) ToBackupPlanIamBindingMapOutput added in v6.48.0

func (i BackupPlanIamBindingMap) ToBackupPlanIamBindingMapOutput() BackupPlanIamBindingMapOutput

func (BackupPlanIamBindingMap) ToBackupPlanIamBindingMapOutputWithContext added in v6.48.0

func (i BackupPlanIamBindingMap) ToBackupPlanIamBindingMapOutputWithContext(ctx context.Context) BackupPlanIamBindingMapOutput

type BackupPlanIamBindingMapInput added in v6.48.0

type BackupPlanIamBindingMapInput interface {
	pulumi.Input

	ToBackupPlanIamBindingMapOutput() BackupPlanIamBindingMapOutput
	ToBackupPlanIamBindingMapOutputWithContext(context.Context) BackupPlanIamBindingMapOutput
}

BackupPlanIamBindingMapInput is an input type that accepts BackupPlanIamBindingMap and BackupPlanIamBindingMapOutput values. You can construct a concrete instance of `BackupPlanIamBindingMapInput` via:

BackupPlanIamBindingMap{ "key": BackupPlanIamBindingArgs{...} }

type BackupPlanIamBindingMapOutput added in v6.48.0

type BackupPlanIamBindingMapOutput struct{ *pulumi.OutputState }

func (BackupPlanIamBindingMapOutput) ElementType added in v6.48.0

func (BackupPlanIamBindingMapOutput) MapIndex added in v6.48.0

func (BackupPlanIamBindingMapOutput) ToBackupPlanIamBindingMapOutput added in v6.48.0

func (o BackupPlanIamBindingMapOutput) ToBackupPlanIamBindingMapOutput() BackupPlanIamBindingMapOutput

func (BackupPlanIamBindingMapOutput) ToBackupPlanIamBindingMapOutputWithContext added in v6.48.0

func (o BackupPlanIamBindingMapOutput) ToBackupPlanIamBindingMapOutputWithContext(ctx context.Context) BackupPlanIamBindingMapOutput

type BackupPlanIamBindingOutput added in v6.48.0

type BackupPlanIamBindingOutput struct{ *pulumi.OutputState }

func (BackupPlanIamBindingOutput) Condition added in v6.48.0

func (BackupPlanIamBindingOutput) ElementType added in v6.48.0

func (BackupPlanIamBindingOutput) ElementType() reflect.Type

func (BackupPlanIamBindingOutput) Etag added in v6.48.0

(Computed) The etag of the IAM policy.

func (BackupPlanIamBindingOutput) Location added in v6.48.0

The region of the Backup Plan. Used to find the parent resource to bind the IAM policy to

func (BackupPlanIamBindingOutput) Members added in v6.48.0

func (BackupPlanIamBindingOutput) Name added in v6.48.0

Used to find the parent resource to bind the IAM policy to

func (BackupPlanIamBindingOutput) Project added in v6.48.0

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

func (BackupPlanIamBindingOutput) Role added in v6.48.0

The role that should be applied. Only one `gkebackup.BackupPlanIamBinding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (BackupPlanIamBindingOutput) ToBackupPlanIamBindingOutput added in v6.48.0

func (o BackupPlanIamBindingOutput) ToBackupPlanIamBindingOutput() BackupPlanIamBindingOutput

func (BackupPlanIamBindingOutput) ToBackupPlanIamBindingOutputWithContext added in v6.48.0

func (o BackupPlanIamBindingOutput) ToBackupPlanIamBindingOutputWithContext(ctx context.Context) BackupPlanIamBindingOutput

type BackupPlanIamBindingState added in v6.48.0

type BackupPlanIamBindingState struct {
	Condition BackupPlanIamBindingConditionPtrInput
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// The region of the Backup Plan.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput
	Members  pulumi.StringArrayInput
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `gkebackup.BackupPlanIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (BackupPlanIamBindingState) ElementType added in v6.48.0

func (BackupPlanIamBindingState) ElementType() reflect.Type

type BackupPlanIamMember added in v6.48.0

type BackupPlanIamMember struct {
	pulumi.CustomResourceState

	Condition BackupPlanIamMemberConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The region of the Backup Plan.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringOutput `pulumi:"location"`
	Member   pulumi.StringOutput `pulumi:"member"`
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The role that should be applied. Only one
	// `gkebackup.BackupPlanIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Three different resources help you manage your IAM policy for Backup for GKE BackupPlan. Each of these resources serves a different use case:

* `gkebackup.BackupPlanIamPolicy`: Authoritative. Sets the IAM policy for the backupplan and replaces any existing policy already attached. * `gkebackup.BackupPlanIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the backupplan are preserved. * `gkebackup.BackupPlanIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the backupplan are preserved.

> **Note:** `gkebackup.BackupPlanIamPolicy` **cannot** be used in conjunction with `gkebackup.BackupPlanIamBinding` and `gkebackup.BackupPlanIamMember` or they will fight over what your policy should be.

> **Note:** `gkebackup.BackupPlanIamBinding` resources **can be** used in conjunction with `gkebackup.BackupPlanIamMember` resources **only if** they do not grant privilege to the same role.

## google\_gke\_backup\_backup\_plan\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = gkebackup.NewBackupPlanIamPolicy(ctx, "policy", &gkebackup.BackupPlanIamPolicyArgs{
			Project:    pulumi.Any(google_gke_backup_backup_plan.Basic.Project),
			Location:   pulumi.Any(google_gke_backup_backup_plan.Basic.Location),
			PolicyData: *pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_gke\_backup\_backup\_plan\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := gkebackup.NewBackupPlanIamBinding(ctx, "binding", &gkebackup.BackupPlanIamBindingArgs{
			Project:  pulumi.Any(google_gke_backup_backup_plan.Basic.Project),
			Location: pulumi.Any(google_gke_backup_backup_plan.Basic.Location),
			Role:     pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_gke\_backup\_backup\_plan\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := gkebackup.NewBackupPlanIamMember(ctx, "member", &gkebackup.BackupPlanIamMemberArgs{
			Project:  pulumi.Any(google_gke_backup_backup_plan.Basic.Project),
			Location: pulumi.Any(google_gke_backup_backup_plan.Basic.Location),
			Role:     pulumi.String("roles/viewer"),
			Member:   pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* projects/{{project}}/locations/{{location}}/backupPlans/{{name}} * {{project}}/{{location}}/{{name}} * {{location}}/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Backup for GKE backupplan IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.

```sh

$ pulumi import gcp:gkebackup/backupPlanIamMember:BackupPlanIamMember editor "projects/{{project}}/locations/{{location}}/backupPlans/{{backup_plan}} roles/viewer user:jane@example.com"

```

IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.

```sh

$ pulumi import gcp:gkebackup/backupPlanIamMember:BackupPlanIamMember editor "projects/{{project}}/locations/{{location}}/backupPlans/{{backup_plan}} roles/viewer"

```

IAM policy imports use the identifier of the resource in question, e.g.

```sh

$ pulumi import gcp:gkebackup/backupPlanIamMember:BackupPlanIamMember editor projects/{{project}}/locations/{{location}}/backupPlans/{{backup_plan}}

```

-> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetBackupPlanIamMember added in v6.48.0

func GetBackupPlanIamMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BackupPlanIamMemberState, opts ...pulumi.ResourceOption) (*BackupPlanIamMember, error)

GetBackupPlanIamMember gets an existing BackupPlanIamMember 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 NewBackupPlanIamMember added in v6.48.0

func NewBackupPlanIamMember(ctx *pulumi.Context,
	name string, args *BackupPlanIamMemberArgs, opts ...pulumi.ResourceOption) (*BackupPlanIamMember, error)

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

func (*BackupPlanIamMember) ElementType added in v6.48.0

func (*BackupPlanIamMember) ElementType() reflect.Type

func (*BackupPlanIamMember) ToBackupPlanIamMemberOutput added in v6.48.0

func (i *BackupPlanIamMember) ToBackupPlanIamMemberOutput() BackupPlanIamMemberOutput

func (*BackupPlanIamMember) ToBackupPlanIamMemberOutputWithContext added in v6.48.0

func (i *BackupPlanIamMember) ToBackupPlanIamMemberOutputWithContext(ctx context.Context) BackupPlanIamMemberOutput

type BackupPlanIamMemberArgs added in v6.48.0

type BackupPlanIamMemberArgs struct {
	Condition BackupPlanIamMemberConditionPtrInput
	// The region of the Backup Plan.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput
	Member   pulumi.StringInput
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `gkebackup.BackupPlanIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
}

The set of arguments for constructing a BackupPlanIamMember resource.

func (BackupPlanIamMemberArgs) ElementType added in v6.48.0

func (BackupPlanIamMemberArgs) ElementType() reflect.Type

type BackupPlanIamMemberArray added in v6.48.0

type BackupPlanIamMemberArray []BackupPlanIamMemberInput

func (BackupPlanIamMemberArray) ElementType added in v6.48.0

func (BackupPlanIamMemberArray) ElementType() reflect.Type

func (BackupPlanIamMemberArray) ToBackupPlanIamMemberArrayOutput added in v6.48.0

func (i BackupPlanIamMemberArray) ToBackupPlanIamMemberArrayOutput() BackupPlanIamMemberArrayOutput

func (BackupPlanIamMemberArray) ToBackupPlanIamMemberArrayOutputWithContext added in v6.48.0

func (i BackupPlanIamMemberArray) ToBackupPlanIamMemberArrayOutputWithContext(ctx context.Context) BackupPlanIamMemberArrayOutput

type BackupPlanIamMemberArrayInput added in v6.48.0

type BackupPlanIamMemberArrayInput interface {
	pulumi.Input

	ToBackupPlanIamMemberArrayOutput() BackupPlanIamMemberArrayOutput
	ToBackupPlanIamMemberArrayOutputWithContext(context.Context) BackupPlanIamMemberArrayOutput
}

BackupPlanIamMemberArrayInput is an input type that accepts BackupPlanIamMemberArray and BackupPlanIamMemberArrayOutput values. You can construct a concrete instance of `BackupPlanIamMemberArrayInput` via:

BackupPlanIamMemberArray{ BackupPlanIamMemberArgs{...} }

type BackupPlanIamMemberArrayOutput added in v6.48.0

type BackupPlanIamMemberArrayOutput struct{ *pulumi.OutputState }

func (BackupPlanIamMemberArrayOutput) ElementType added in v6.48.0

func (BackupPlanIamMemberArrayOutput) Index added in v6.48.0

func (BackupPlanIamMemberArrayOutput) ToBackupPlanIamMemberArrayOutput added in v6.48.0

func (o BackupPlanIamMemberArrayOutput) ToBackupPlanIamMemberArrayOutput() BackupPlanIamMemberArrayOutput

func (BackupPlanIamMemberArrayOutput) ToBackupPlanIamMemberArrayOutputWithContext added in v6.48.0

func (o BackupPlanIamMemberArrayOutput) ToBackupPlanIamMemberArrayOutputWithContext(ctx context.Context) BackupPlanIamMemberArrayOutput

type BackupPlanIamMemberCondition added in v6.48.0

type BackupPlanIamMemberCondition struct {
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type BackupPlanIamMemberConditionArgs added in v6.48.0

type BackupPlanIamMemberConditionArgs struct {
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (BackupPlanIamMemberConditionArgs) ElementType added in v6.48.0

func (BackupPlanIamMemberConditionArgs) ToBackupPlanIamMemberConditionOutput added in v6.48.0

func (i BackupPlanIamMemberConditionArgs) ToBackupPlanIamMemberConditionOutput() BackupPlanIamMemberConditionOutput

func (BackupPlanIamMemberConditionArgs) ToBackupPlanIamMemberConditionOutputWithContext added in v6.48.0

func (i BackupPlanIamMemberConditionArgs) ToBackupPlanIamMemberConditionOutputWithContext(ctx context.Context) BackupPlanIamMemberConditionOutput

func (BackupPlanIamMemberConditionArgs) ToBackupPlanIamMemberConditionPtrOutput added in v6.48.0

func (i BackupPlanIamMemberConditionArgs) ToBackupPlanIamMemberConditionPtrOutput() BackupPlanIamMemberConditionPtrOutput

func (BackupPlanIamMemberConditionArgs) ToBackupPlanIamMemberConditionPtrOutputWithContext added in v6.48.0

func (i BackupPlanIamMemberConditionArgs) ToBackupPlanIamMemberConditionPtrOutputWithContext(ctx context.Context) BackupPlanIamMemberConditionPtrOutput

type BackupPlanIamMemberConditionInput added in v6.48.0

type BackupPlanIamMemberConditionInput interface {
	pulumi.Input

	ToBackupPlanIamMemberConditionOutput() BackupPlanIamMemberConditionOutput
	ToBackupPlanIamMemberConditionOutputWithContext(context.Context) BackupPlanIamMemberConditionOutput
}

BackupPlanIamMemberConditionInput is an input type that accepts BackupPlanIamMemberConditionArgs and BackupPlanIamMemberConditionOutput values. You can construct a concrete instance of `BackupPlanIamMemberConditionInput` via:

BackupPlanIamMemberConditionArgs{...}

type BackupPlanIamMemberConditionOutput added in v6.48.0

type BackupPlanIamMemberConditionOutput struct{ *pulumi.OutputState }

func (BackupPlanIamMemberConditionOutput) Description added in v6.48.0

func (BackupPlanIamMemberConditionOutput) ElementType added in v6.48.0

func (BackupPlanIamMemberConditionOutput) Expression added in v6.48.0

func (BackupPlanIamMemberConditionOutput) Title added in v6.48.0

func (BackupPlanIamMemberConditionOutput) ToBackupPlanIamMemberConditionOutput added in v6.48.0

func (o BackupPlanIamMemberConditionOutput) ToBackupPlanIamMemberConditionOutput() BackupPlanIamMemberConditionOutput

func (BackupPlanIamMemberConditionOutput) ToBackupPlanIamMemberConditionOutputWithContext added in v6.48.0

func (o BackupPlanIamMemberConditionOutput) ToBackupPlanIamMemberConditionOutputWithContext(ctx context.Context) BackupPlanIamMemberConditionOutput

func (BackupPlanIamMemberConditionOutput) ToBackupPlanIamMemberConditionPtrOutput added in v6.48.0

func (o BackupPlanIamMemberConditionOutput) ToBackupPlanIamMemberConditionPtrOutput() BackupPlanIamMemberConditionPtrOutput

func (BackupPlanIamMemberConditionOutput) ToBackupPlanIamMemberConditionPtrOutputWithContext added in v6.48.0

func (o BackupPlanIamMemberConditionOutput) ToBackupPlanIamMemberConditionPtrOutputWithContext(ctx context.Context) BackupPlanIamMemberConditionPtrOutput

type BackupPlanIamMemberConditionPtrInput added in v6.48.0

type BackupPlanIamMemberConditionPtrInput interface {
	pulumi.Input

	ToBackupPlanIamMemberConditionPtrOutput() BackupPlanIamMemberConditionPtrOutput
	ToBackupPlanIamMemberConditionPtrOutputWithContext(context.Context) BackupPlanIamMemberConditionPtrOutput
}

BackupPlanIamMemberConditionPtrInput is an input type that accepts BackupPlanIamMemberConditionArgs, BackupPlanIamMemberConditionPtr and BackupPlanIamMemberConditionPtrOutput values. You can construct a concrete instance of `BackupPlanIamMemberConditionPtrInput` via:

        BackupPlanIamMemberConditionArgs{...}

or:

        nil

func BackupPlanIamMemberConditionPtr added in v6.48.0

type BackupPlanIamMemberConditionPtrOutput added in v6.48.0

type BackupPlanIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (BackupPlanIamMemberConditionPtrOutput) Description added in v6.48.0

func (BackupPlanIamMemberConditionPtrOutput) Elem added in v6.48.0

func (BackupPlanIamMemberConditionPtrOutput) ElementType added in v6.48.0

func (BackupPlanIamMemberConditionPtrOutput) Expression added in v6.48.0

func (BackupPlanIamMemberConditionPtrOutput) Title added in v6.48.0

func (BackupPlanIamMemberConditionPtrOutput) ToBackupPlanIamMemberConditionPtrOutput added in v6.48.0

func (o BackupPlanIamMemberConditionPtrOutput) ToBackupPlanIamMemberConditionPtrOutput() BackupPlanIamMemberConditionPtrOutput

func (BackupPlanIamMemberConditionPtrOutput) ToBackupPlanIamMemberConditionPtrOutputWithContext added in v6.48.0

func (o BackupPlanIamMemberConditionPtrOutput) ToBackupPlanIamMemberConditionPtrOutputWithContext(ctx context.Context) BackupPlanIamMemberConditionPtrOutput

type BackupPlanIamMemberInput added in v6.48.0

type BackupPlanIamMemberInput interface {
	pulumi.Input

	ToBackupPlanIamMemberOutput() BackupPlanIamMemberOutput
	ToBackupPlanIamMemberOutputWithContext(ctx context.Context) BackupPlanIamMemberOutput
}

type BackupPlanIamMemberMap added in v6.48.0

type BackupPlanIamMemberMap map[string]BackupPlanIamMemberInput

func (BackupPlanIamMemberMap) ElementType added in v6.48.0

func (BackupPlanIamMemberMap) ElementType() reflect.Type

func (BackupPlanIamMemberMap) ToBackupPlanIamMemberMapOutput added in v6.48.0

func (i BackupPlanIamMemberMap) ToBackupPlanIamMemberMapOutput() BackupPlanIamMemberMapOutput

func (BackupPlanIamMemberMap) ToBackupPlanIamMemberMapOutputWithContext added in v6.48.0

func (i BackupPlanIamMemberMap) ToBackupPlanIamMemberMapOutputWithContext(ctx context.Context) BackupPlanIamMemberMapOutput

type BackupPlanIamMemberMapInput added in v6.48.0

type BackupPlanIamMemberMapInput interface {
	pulumi.Input

	ToBackupPlanIamMemberMapOutput() BackupPlanIamMemberMapOutput
	ToBackupPlanIamMemberMapOutputWithContext(context.Context) BackupPlanIamMemberMapOutput
}

BackupPlanIamMemberMapInput is an input type that accepts BackupPlanIamMemberMap and BackupPlanIamMemberMapOutput values. You can construct a concrete instance of `BackupPlanIamMemberMapInput` via:

BackupPlanIamMemberMap{ "key": BackupPlanIamMemberArgs{...} }

type BackupPlanIamMemberMapOutput added in v6.48.0

type BackupPlanIamMemberMapOutput struct{ *pulumi.OutputState }

func (BackupPlanIamMemberMapOutput) ElementType added in v6.48.0

func (BackupPlanIamMemberMapOutput) MapIndex added in v6.48.0

func (BackupPlanIamMemberMapOutput) ToBackupPlanIamMemberMapOutput added in v6.48.0

func (o BackupPlanIamMemberMapOutput) ToBackupPlanIamMemberMapOutput() BackupPlanIamMemberMapOutput

func (BackupPlanIamMemberMapOutput) ToBackupPlanIamMemberMapOutputWithContext added in v6.48.0

func (o BackupPlanIamMemberMapOutput) ToBackupPlanIamMemberMapOutputWithContext(ctx context.Context) BackupPlanIamMemberMapOutput

type BackupPlanIamMemberOutput added in v6.48.0

type BackupPlanIamMemberOutput struct{ *pulumi.OutputState }

func (BackupPlanIamMemberOutput) Condition added in v6.48.0

func (BackupPlanIamMemberOutput) ElementType added in v6.48.0

func (BackupPlanIamMemberOutput) ElementType() reflect.Type

func (BackupPlanIamMemberOutput) Etag added in v6.48.0

(Computed) The etag of the IAM policy.

func (BackupPlanIamMemberOutput) Location added in v6.48.0

The region of the Backup Plan. Used to find the parent resource to bind the IAM policy to

func (BackupPlanIamMemberOutput) Member added in v6.48.0

func (BackupPlanIamMemberOutput) Name added in v6.48.0

Used to find the parent resource to bind the IAM policy to

func (BackupPlanIamMemberOutput) Project added in v6.48.0

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

func (BackupPlanIamMemberOutput) Role added in v6.48.0

The role that should be applied. Only one `gkebackup.BackupPlanIamBinding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (BackupPlanIamMemberOutput) ToBackupPlanIamMemberOutput added in v6.48.0

func (o BackupPlanIamMemberOutput) ToBackupPlanIamMemberOutput() BackupPlanIamMemberOutput

func (BackupPlanIamMemberOutput) ToBackupPlanIamMemberOutputWithContext added in v6.48.0

func (o BackupPlanIamMemberOutput) ToBackupPlanIamMemberOutputWithContext(ctx context.Context) BackupPlanIamMemberOutput

type BackupPlanIamMemberState added in v6.48.0

type BackupPlanIamMemberState struct {
	Condition BackupPlanIamMemberConditionPtrInput
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// The region of the Backup Plan.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput
	Member   pulumi.StringPtrInput
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `gkebackup.BackupPlanIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (BackupPlanIamMemberState) ElementType added in v6.48.0

func (BackupPlanIamMemberState) ElementType() reflect.Type

type BackupPlanIamPolicy added in v6.48.0

type BackupPlanIamPolicy struct {
	pulumi.CustomResourceState

	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The region of the Backup Plan.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringOutput `pulumi:"location"`
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringOutput `pulumi:"name"`
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringOutput `pulumi:"policyData"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
}

Three different resources help you manage your IAM policy for Backup for GKE BackupPlan. Each of these resources serves a different use case:

* `gkebackup.BackupPlanIamPolicy`: Authoritative. Sets the IAM policy for the backupplan and replaces any existing policy already attached. * `gkebackup.BackupPlanIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the backupplan are preserved. * `gkebackup.BackupPlanIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the backupplan are preserved.

> **Note:** `gkebackup.BackupPlanIamPolicy` **cannot** be used in conjunction with `gkebackup.BackupPlanIamBinding` and `gkebackup.BackupPlanIamMember` or they will fight over what your policy should be.

> **Note:** `gkebackup.BackupPlanIamBinding` resources **can be** used in conjunction with `gkebackup.BackupPlanIamMember` resources **only if** they do not grant privilege to the same role.

## google\_gke\_backup\_backup\_plan\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = gkebackup.NewBackupPlanIamPolicy(ctx, "policy", &gkebackup.BackupPlanIamPolicyArgs{
			Project:    pulumi.Any(google_gke_backup_backup_plan.Basic.Project),
			Location:   pulumi.Any(google_gke_backup_backup_plan.Basic.Location),
			PolicyData: *pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_gke\_backup\_backup\_plan\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := gkebackup.NewBackupPlanIamBinding(ctx, "binding", &gkebackup.BackupPlanIamBindingArgs{
			Project:  pulumi.Any(google_gke_backup_backup_plan.Basic.Project),
			Location: pulumi.Any(google_gke_backup_backup_plan.Basic.Location),
			Role:     pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_gke\_backup\_backup\_plan\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := gkebackup.NewBackupPlanIamMember(ctx, "member", &gkebackup.BackupPlanIamMemberArgs{
			Project:  pulumi.Any(google_gke_backup_backup_plan.Basic.Project),
			Location: pulumi.Any(google_gke_backup_backup_plan.Basic.Location),
			Role:     pulumi.String("roles/viewer"),
			Member:   pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* projects/{{project}}/locations/{{location}}/backupPlans/{{name}} * {{project}}/{{location}}/{{name}} * {{location}}/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Backup for GKE backupplan IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.

```sh

$ pulumi import gcp:gkebackup/backupPlanIamPolicy:BackupPlanIamPolicy editor "projects/{{project}}/locations/{{location}}/backupPlans/{{backup_plan}} roles/viewer user:jane@example.com"

```

IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.

```sh

$ pulumi import gcp:gkebackup/backupPlanIamPolicy:BackupPlanIamPolicy editor "projects/{{project}}/locations/{{location}}/backupPlans/{{backup_plan}} roles/viewer"

```

IAM policy imports use the identifier of the resource in question, e.g.

```sh

$ pulumi import gcp:gkebackup/backupPlanIamPolicy:BackupPlanIamPolicy editor projects/{{project}}/locations/{{location}}/backupPlans/{{backup_plan}}

```

-> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetBackupPlanIamPolicy added in v6.48.0

func GetBackupPlanIamPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BackupPlanIamPolicyState, opts ...pulumi.ResourceOption) (*BackupPlanIamPolicy, error)

GetBackupPlanIamPolicy gets an existing BackupPlanIamPolicy 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 NewBackupPlanIamPolicy added in v6.48.0

func NewBackupPlanIamPolicy(ctx *pulumi.Context,
	name string, args *BackupPlanIamPolicyArgs, opts ...pulumi.ResourceOption) (*BackupPlanIamPolicy, error)

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

func (*BackupPlanIamPolicy) ElementType added in v6.48.0

func (*BackupPlanIamPolicy) ElementType() reflect.Type

func (*BackupPlanIamPolicy) ToBackupPlanIamPolicyOutput added in v6.48.0

func (i *BackupPlanIamPolicy) ToBackupPlanIamPolicyOutput() BackupPlanIamPolicyOutput

func (*BackupPlanIamPolicy) ToBackupPlanIamPolicyOutputWithContext added in v6.48.0

func (i *BackupPlanIamPolicy) ToBackupPlanIamPolicyOutputWithContext(ctx context.Context) BackupPlanIamPolicyOutput

type BackupPlanIamPolicyArgs added in v6.48.0

type BackupPlanIamPolicyArgs struct {
	// The region of the Backup Plan.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
}

The set of arguments for constructing a BackupPlanIamPolicy resource.

func (BackupPlanIamPolicyArgs) ElementType added in v6.48.0

func (BackupPlanIamPolicyArgs) ElementType() reflect.Type

type BackupPlanIamPolicyArray added in v6.48.0

type BackupPlanIamPolicyArray []BackupPlanIamPolicyInput

func (BackupPlanIamPolicyArray) ElementType added in v6.48.0

func (BackupPlanIamPolicyArray) ElementType() reflect.Type

func (BackupPlanIamPolicyArray) ToBackupPlanIamPolicyArrayOutput added in v6.48.0

func (i BackupPlanIamPolicyArray) ToBackupPlanIamPolicyArrayOutput() BackupPlanIamPolicyArrayOutput

func (BackupPlanIamPolicyArray) ToBackupPlanIamPolicyArrayOutputWithContext added in v6.48.0

func (i BackupPlanIamPolicyArray) ToBackupPlanIamPolicyArrayOutputWithContext(ctx context.Context) BackupPlanIamPolicyArrayOutput

type BackupPlanIamPolicyArrayInput added in v6.48.0

type BackupPlanIamPolicyArrayInput interface {
	pulumi.Input

	ToBackupPlanIamPolicyArrayOutput() BackupPlanIamPolicyArrayOutput
	ToBackupPlanIamPolicyArrayOutputWithContext(context.Context) BackupPlanIamPolicyArrayOutput
}

BackupPlanIamPolicyArrayInput is an input type that accepts BackupPlanIamPolicyArray and BackupPlanIamPolicyArrayOutput values. You can construct a concrete instance of `BackupPlanIamPolicyArrayInput` via:

BackupPlanIamPolicyArray{ BackupPlanIamPolicyArgs{...} }

type BackupPlanIamPolicyArrayOutput added in v6.48.0

type BackupPlanIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (BackupPlanIamPolicyArrayOutput) ElementType added in v6.48.0

func (BackupPlanIamPolicyArrayOutput) Index added in v6.48.0

func (BackupPlanIamPolicyArrayOutput) ToBackupPlanIamPolicyArrayOutput added in v6.48.0

func (o BackupPlanIamPolicyArrayOutput) ToBackupPlanIamPolicyArrayOutput() BackupPlanIamPolicyArrayOutput

func (BackupPlanIamPolicyArrayOutput) ToBackupPlanIamPolicyArrayOutputWithContext added in v6.48.0

func (o BackupPlanIamPolicyArrayOutput) ToBackupPlanIamPolicyArrayOutputWithContext(ctx context.Context) BackupPlanIamPolicyArrayOutput

type BackupPlanIamPolicyInput added in v6.48.0

type BackupPlanIamPolicyInput interface {
	pulumi.Input

	ToBackupPlanIamPolicyOutput() BackupPlanIamPolicyOutput
	ToBackupPlanIamPolicyOutputWithContext(ctx context.Context) BackupPlanIamPolicyOutput
}

type BackupPlanIamPolicyMap added in v6.48.0

type BackupPlanIamPolicyMap map[string]BackupPlanIamPolicyInput

func (BackupPlanIamPolicyMap) ElementType added in v6.48.0

func (BackupPlanIamPolicyMap) ElementType() reflect.Type

func (BackupPlanIamPolicyMap) ToBackupPlanIamPolicyMapOutput added in v6.48.0

func (i BackupPlanIamPolicyMap) ToBackupPlanIamPolicyMapOutput() BackupPlanIamPolicyMapOutput

func (BackupPlanIamPolicyMap) ToBackupPlanIamPolicyMapOutputWithContext added in v6.48.0

func (i BackupPlanIamPolicyMap) ToBackupPlanIamPolicyMapOutputWithContext(ctx context.Context) BackupPlanIamPolicyMapOutput

type BackupPlanIamPolicyMapInput added in v6.48.0

type BackupPlanIamPolicyMapInput interface {
	pulumi.Input

	ToBackupPlanIamPolicyMapOutput() BackupPlanIamPolicyMapOutput
	ToBackupPlanIamPolicyMapOutputWithContext(context.Context) BackupPlanIamPolicyMapOutput
}

BackupPlanIamPolicyMapInput is an input type that accepts BackupPlanIamPolicyMap and BackupPlanIamPolicyMapOutput values. You can construct a concrete instance of `BackupPlanIamPolicyMapInput` via:

BackupPlanIamPolicyMap{ "key": BackupPlanIamPolicyArgs{...} }

type BackupPlanIamPolicyMapOutput added in v6.48.0

type BackupPlanIamPolicyMapOutput struct{ *pulumi.OutputState }

func (BackupPlanIamPolicyMapOutput) ElementType added in v6.48.0

func (BackupPlanIamPolicyMapOutput) MapIndex added in v6.48.0

func (BackupPlanIamPolicyMapOutput) ToBackupPlanIamPolicyMapOutput added in v6.48.0

func (o BackupPlanIamPolicyMapOutput) ToBackupPlanIamPolicyMapOutput() BackupPlanIamPolicyMapOutput

func (BackupPlanIamPolicyMapOutput) ToBackupPlanIamPolicyMapOutputWithContext added in v6.48.0

func (o BackupPlanIamPolicyMapOutput) ToBackupPlanIamPolicyMapOutputWithContext(ctx context.Context) BackupPlanIamPolicyMapOutput

type BackupPlanIamPolicyOutput added in v6.48.0

type BackupPlanIamPolicyOutput struct{ *pulumi.OutputState }

func (BackupPlanIamPolicyOutput) ElementType added in v6.48.0

func (BackupPlanIamPolicyOutput) ElementType() reflect.Type

func (BackupPlanIamPolicyOutput) Etag added in v6.48.0

(Computed) The etag of the IAM policy.

func (BackupPlanIamPolicyOutput) Location added in v6.48.0

The region of the Backup Plan. Used to find the parent resource to bind the IAM policy to

func (BackupPlanIamPolicyOutput) Name added in v6.48.0

Used to find the parent resource to bind the IAM policy to

func (BackupPlanIamPolicyOutput) PolicyData added in v6.48.0

The policy data generated by a `organizations.getIAMPolicy` data source.

func (BackupPlanIamPolicyOutput) Project added in v6.48.0

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

func (BackupPlanIamPolicyOutput) ToBackupPlanIamPolicyOutput added in v6.48.0

func (o BackupPlanIamPolicyOutput) ToBackupPlanIamPolicyOutput() BackupPlanIamPolicyOutput

func (BackupPlanIamPolicyOutput) ToBackupPlanIamPolicyOutputWithContext added in v6.48.0

func (o BackupPlanIamPolicyOutput) ToBackupPlanIamPolicyOutputWithContext(ctx context.Context) BackupPlanIamPolicyOutput

type BackupPlanIamPolicyState added in v6.48.0

type BackupPlanIamPolicyState struct {
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// The region of the Backup Plan.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
}

func (BackupPlanIamPolicyState) ElementType added in v6.48.0

func (BackupPlanIamPolicyState) ElementType() reflect.Type

type BackupPlanInput

type BackupPlanInput interface {
	pulumi.Input

	ToBackupPlanOutput() BackupPlanOutput
	ToBackupPlanOutputWithContext(ctx context.Context) BackupPlanOutput
}

type BackupPlanMap

type BackupPlanMap map[string]BackupPlanInput

func (BackupPlanMap) ElementType

func (BackupPlanMap) ElementType() reflect.Type

func (BackupPlanMap) ToBackupPlanMapOutput

func (i BackupPlanMap) ToBackupPlanMapOutput() BackupPlanMapOutput

func (BackupPlanMap) ToBackupPlanMapOutputWithContext

func (i BackupPlanMap) ToBackupPlanMapOutputWithContext(ctx context.Context) BackupPlanMapOutput

type BackupPlanMapInput

type BackupPlanMapInput interface {
	pulumi.Input

	ToBackupPlanMapOutput() BackupPlanMapOutput
	ToBackupPlanMapOutputWithContext(context.Context) BackupPlanMapOutput
}

BackupPlanMapInput is an input type that accepts BackupPlanMap and BackupPlanMapOutput values. You can construct a concrete instance of `BackupPlanMapInput` via:

BackupPlanMap{ "key": BackupPlanArgs{...} }

type BackupPlanMapOutput

type BackupPlanMapOutput struct{ *pulumi.OutputState }

func (BackupPlanMapOutput) ElementType

func (BackupPlanMapOutput) ElementType() reflect.Type

func (BackupPlanMapOutput) MapIndex

func (BackupPlanMapOutput) ToBackupPlanMapOutput

func (o BackupPlanMapOutput) ToBackupPlanMapOutput() BackupPlanMapOutput

func (BackupPlanMapOutput) ToBackupPlanMapOutputWithContext

func (o BackupPlanMapOutput) ToBackupPlanMapOutputWithContext(ctx context.Context) BackupPlanMapOutput

type BackupPlanOutput

type BackupPlanOutput struct{ *pulumi.OutputState }

func (BackupPlanOutput) BackupConfig

Defines the configuration of Backups created via this BackupPlan. Structure is documented below.

func (BackupPlanOutput) BackupSchedule

Defines a schedule for automatic Backup creation via this BackupPlan. Structure is documented below.

func (BackupPlanOutput) Cluster

func (o BackupPlanOutput) Cluster() pulumi.StringOutput

The source cluster from which Backups will be created via this BackupPlan.

func (BackupPlanOutput) Deactivated

func (o BackupPlanOutput) Deactivated() pulumi.BoolOutput

This flag indicates whether this BackupPlan has been deactivated. Setting this field to True locks the BackupPlan such that no further updates will be allowed (except deletes), including the deactivated field itself. It also prevents any new Backups from being created via this BackupPlan (including scheduled Backups).

func (BackupPlanOutput) Description

func (o BackupPlanOutput) Description() pulumi.StringPtrOutput

User specified descriptive string for this BackupPlan.

func (BackupPlanOutput) ElementType

func (BackupPlanOutput) ElementType() reflect.Type

func (BackupPlanOutput) Etag

etag is used for optimistic concurrency control as a way to help prevent simultaneous updates of a backup plan from overwriting each other. It is strongly suggested that systems make use of the 'etag' in the read-modify-write cycle to perform BackupPlan updates in order to avoid race conditions: An etag is returned in the response to backupPlans.get, and systems are expected to put that etag in the request to backupPlans.patch or backupPlans.delete to ensure that their change will be applied to the same version of the resource.

func (BackupPlanOutput) Labels

Description: A set of custom labels supplied by the user. A list of key->value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

func (BackupPlanOutput) Location

func (o BackupPlanOutput) Location() pulumi.StringOutput

The region of the Backup Plan.

func (BackupPlanOutput) Name

The full name of the BackupPlan Resource.

func (BackupPlanOutput) Project

func (o BackupPlanOutput) Project() pulumi.StringOutput

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

func (BackupPlanOutput) ProtectedPodCount

func (o BackupPlanOutput) ProtectedPodCount() pulumi.IntOutput

The number of Kubernetes Pods backed up in the last successful Backup created via this BackupPlan.

func (BackupPlanOutput) RetentionPolicy

RetentionPolicy governs lifecycle of Backups created under this plan. Structure is documented below.

func (BackupPlanOutput) ToBackupPlanOutput

func (o BackupPlanOutput) ToBackupPlanOutput() BackupPlanOutput

func (BackupPlanOutput) ToBackupPlanOutputWithContext

func (o BackupPlanOutput) ToBackupPlanOutputWithContext(ctx context.Context) BackupPlanOutput

func (BackupPlanOutput) Uid

Server generated, unique identifier of UUID format.

type BackupPlanRetentionPolicy

type BackupPlanRetentionPolicy struct {
	// Minimum age for a Backup created via this BackupPlan (in days).
	// Must be an integer value between 0-90 (inclusive).
	// A Backup created under this BackupPlan will not be deletable
	// until it reaches Backup's (create time + backup_delete_lock_days).
	// Updating this field of a BackupPlan does not affect existing Backups.
	// Backups created after a successful update will inherit this new value.
	BackupDeleteLockDays *int `pulumi:"backupDeleteLockDays"`
	// The default maximum age of a Backup created via this BackupPlan.
	// This field MUST be an integer value >= 0 and <= 365. If specified,
	// a Backup created under this BackupPlan will be automatically deleted
	// after its age reaches (createTime + backupRetainDays).
	// If not specified, Backups created under this BackupPlan will NOT be
	// subject to automatic deletion. Updating this field does NOT affect
	// existing Backups under it. Backups created AFTER a successful update
	// will automatically pick up the new value.
	// NOTE: backupRetainDays must be >= backupDeleteLockDays.
	// If cronSchedule is defined, then this must be <= 360 * the creation interval.]
	BackupRetainDays *int `pulumi:"backupRetainDays"`
	// This flag denotes whether the retention policy of this BackupPlan is locked.
	// If set to True, no further update is allowed on this policy, including
	// the locked field itself.
	Locked *bool `pulumi:"locked"`
}

type BackupPlanRetentionPolicyArgs

type BackupPlanRetentionPolicyArgs struct {
	// Minimum age for a Backup created via this BackupPlan (in days).
	// Must be an integer value between 0-90 (inclusive).
	// A Backup created under this BackupPlan will not be deletable
	// until it reaches Backup's (create time + backup_delete_lock_days).
	// Updating this field of a BackupPlan does not affect existing Backups.
	// Backups created after a successful update will inherit this new value.
	BackupDeleteLockDays pulumi.IntPtrInput `pulumi:"backupDeleteLockDays"`
	// The default maximum age of a Backup created via this BackupPlan.
	// This field MUST be an integer value >= 0 and <= 365. If specified,
	// a Backup created under this BackupPlan will be automatically deleted
	// after its age reaches (createTime + backupRetainDays).
	// If not specified, Backups created under this BackupPlan will NOT be
	// subject to automatic deletion. Updating this field does NOT affect
	// existing Backups under it. Backups created AFTER a successful update
	// will automatically pick up the new value.
	// NOTE: backupRetainDays must be >= backupDeleteLockDays.
	// If cronSchedule is defined, then this must be <= 360 * the creation interval.]
	BackupRetainDays pulumi.IntPtrInput `pulumi:"backupRetainDays"`
	// This flag denotes whether the retention policy of this BackupPlan is locked.
	// If set to True, no further update is allowed on this policy, including
	// the locked field itself.
	Locked pulumi.BoolPtrInput `pulumi:"locked"`
}

func (BackupPlanRetentionPolicyArgs) ElementType

func (BackupPlanRetentionPolicyArgs) ToBackupPlanRetentionPolicyOutput

func (i BackupPlanRetentionPolicyArgs) ToBackupPlanRetentionPolicyOutput() BackupPlanRetentionPolicyOutput

func (BackupPlanRetentionPolicyArgs) ToBackupPlanRetentionPolicyOutputWithContext

func (i BackupPlanRetentionPolicyArgs) ToBackupPlanRetentionPolicyOutputWithContext(ctx context.Context) BackupPlanRetentionPolicyOutput

func (BackupPlanRetentionPolicyArgs) ToBackupPlanRetentionPolicyPtrOutput

func (i BackupPlanRetentionPolicyArgs) ToBackupPlanRetentionPolicyPtrOutput() BackupPlanRetentionPolicyPtrOutput

func (BackupPlanRetentionPolicyArgs) ToBackupPlanRetentionPolicyPtrOutputWithContext

func (i BackupPlanRetentionPolicyArgs) ToBackupPlanRetentionPolicyPtrOutputWithContext(ctx context.Context) BackupPlanRetentionPolicyPtrOutput

type BackupPlanRetentionPolicyInput

type BackupPlanRetentionPolicyInput interface {
	pulumi.Input

	ToBackupPlanRetentionPolicyOutput() BackupPlanRetentionPolicyOutput
	ToBackupPlanRetentionPolicyOutputWithContext(context.Context) BackupPlanRetentionPolicyOutput
}

BackupPlanRetentionPolicyInput is an input type that accepts BackupPlanRetentionPolicyArgs and BackupPlanRetentionPolicyOutput values. You can construct a concrete instance of `BackupPlanRetentionPolicyInput` via:

BackupPlanRetentionPolicyArgs{...}

type BackupPlanRetentionPolicyOutput

type BackupPlanRetentionPolicyOutput struct{ *pulumi.OutputState }

func (BackupPlanRetentionPolicyOutput) BackupDeleteLockDays

func (o BackupPlanRetentionPolicyOutput) BackupDeleteLockDays() pulumi.IntPtrOutput

Minimum age for a Backup created via this BackupPlan (in days). Must be an integer value between 0-90 (inclusive). A Backup created under this BackupPlan will not be deletable until it reaches Backup's (create time + backup_delete_lock_days). Updating this field of a BackupPlan does not affect existing Backups. Backups created after a successful update will inherit this new value.

func (BackupPlanRetentionPolicyOutput) BackupRetainDays

The default maximum age of a Backup created via this BackupPlan. This field MUST be an integer value >= 0 and <= 365. If specified, a Backup created under this BackupPlan will be automatically deleted after its age reaches (createTime + backupRetainDays). If not specified, Backups created under this BackupPlan will NOT be subject to automatic deletion. Updating this field does NOT affect existing Backups under it. Backups created AFTER a successful update will automatically pick up the new value. NOTE: backupRetainDays must be >= backupDeleteLockDays. If cronSchedule is defined, then this must be <= 360 * the creation interval.]

func (BackupPlanRetentionPolicyOutput) ElementType

func (BackupPlanRetentionPolicyOutput) Locked

This flag denotes whether the retention policy of this BackupPlan is locked. If set to True, no further update is allowed on this policy, including the locked field itself.

func (BackupPlanRetentionPolicyOutput) ToBackupPlanRetentionPolicyOutput

func (o BackupPlanRetentionPolicyOutput) ToBackupPlanRetentionPolicyOutput() BackupPlanRetentionPolicyOutput

func (BackupPlanRetentionPolicyOutput) ToBackupPlanRetentionPolicyOutputWithContext

func (o BackupPlanRetentionPolicyOutput) ToBackupPlanRetentionPolicyOutputWithContext(ctx context.Context) BackupPlanRetentionPolicyOutput

func (BackupPlanRetentionPolicyOutput) ToBackupPlanRetentionPolicyPtrOutput

func (o BackupPlanRetentionPolicyOutput) ToBackupPlanRetentionPolicyPtrOutput() BackupPlanRetentionPolicyPtrOutput

func (BackupPlanRetentionPolicyOutput) ToBackupPlanRetentionPolicyPtrOutputWithContext

func (o BackupPlanRetentionPolicyOutput) ToBackupPlanRetentionPolicyPtrOutputWithContext(ctx context.Context) BackupPlanRetentionPolicyPtrOutput

type BackupPlanRetentionPolicyPtrInput

type BackupPlanRetentionPolicyPtrInput interface {
	pulumi.Input

	ToBackupPlanRetentionPolicyPtrOutput() BackupPlanRetentionPolicyPtrOutput
	ToBackupPlanRetentionPolicyPtrOutputWithContext(context.Context) BackupPlanRetentionPolicyPtrOutput
}

BackupPlanRetentionPolicyPtrInput is an input type that accepts BackupPlanRetentionPolicyArgs, BackupPlanRetentionPolicyPtr and BackupPlanRetentionPolicyPtrOutput values. You can construct a concrete instance of `BackupPlanRetentionPolicyPtrInput` via:

        BackupPlanRetentionPolicyArgs{...}

or:

        nil

type BackupPlanRetentionPolicyPtrOutput

type BackupPlanRetentionPolicyPtrOutput struct{ *pulumi.OutputState }

func (BackupPlanRetentionPolicyPtrOutput) BackupDeleteLockDays

func (o BackupPlanRetentionPolicyPtrOutput) BackupDeleteLockDays() pulumi.IntPtrOutput

Minimum age for a Backup created via this BackupPlan (in days). Must be an integer value between 0-90 (inclusive). A Backup created under this BackupPlan will not be deletable until it reaches Backup's (create time + backup_delete_lock_days). Updating this field of a BackupPlan does not affect existing Backups. Backups created after a successful update will inherit this new value.

func (BackupPlanRetentionPolicyPtrOutput) BackupRetainDays

The default maximum age of a Backup created via this BackupPlan. This field MUST be an integer value >= 0 and <= 365. If specified, a Backup created under this BackupPlan will be automatically deleted after its age reaches (createTime + backupRetainDays). If not specified, Backups created under this BackupPlan will NOT be subject to automatic deletion. Updating this field does NOT affect existing Backups under it. Backups created AFTER a successful update will automatically pick up the new value. NOTE: backupRetainDays must be >= backupDeleteLockDays. If cronSchedule is defined, then this must be <= 360 * the creation interval.]

func (BackupPlanRetentionPolicyPtrOutput) Elem

func (BackupPlanRetentionPolicyPtrOutput) ElementType

func (BackupPlanRetentionPolicyPtrOutput) Locked

This flag denotes whether the retention policy of this BackupPlan is locked. If set to True, no further update is allowed on this policy, including the locked field itself.

func (BackupPlanRetentionPolicyPtrOutput) ToBackupPlanRetentionPolicyPtrOutput

func (o BackupPlanRetentionPolicyPtrOutput) ToBackupPlanRetentionPolicyPtrOutput() BackupPlanRetentionPolicyPtrOutput

func (BackupPlanRetentionPolicyPtrOutput) ToBackupPlanRetentionPolicyPtrOutputWithContext

func (o BackupPlanRetentionPolicyPtrOutput) ToBackupPlanRetentionPolicyPtrOutputWithContext(ctx context.Context) BackupPlanRetentionPolicyPtrOutput

type BackupPlanState

type BackupPlanState struct {
	// Defines the configuration of Backups created via this BackupPlan.
	// Structure is documented below.
	BackupConfig BackupPlanBackupConfigPtrInput
	// Defines a schedule for automatic Backup creation via this BackupPlan.
	// Structure is documented below.
	BackupSchedule BackupPlanBackupSchedulePtrInput
	// The source cluster from which Backups will be created via this BackupPlan.
	Cluster pulumi.StringPtrInput
	// This flag indicates whether this BackupPlan has been deactivated.
	// Setting this field to True locks the BackupPlan such that no further updates will be allowed
	// (except deletes), including the deactivated field itself. It also prevents any new Backups
	// from being created via this BackupPlan (including scheduled Backups).
	Deactivated pulumi.BoolPtrInput
	// User specified descriptive string for this BackupPlan.
	Description pulumi.StringPtrInput
	// etag is used for optimistic concurrency control as a way to help prevent simultaneous
	// updates of a backup plan from overwriting each other. It is strongly suggested that
	// systems make use of the 'etag' in the read-modify-write cycle to perform BackupPlan updates
	// in order to avoid race conditions: An etag is returned in the response to backupPlans.get,
	// and systems are expected to put that etag in the request to backupPlans.patch or
	// backupPlans.delete to ensure that their change will be applied to the same version of the resource.
	Etag pulumi.StringPtrInput
	// Description: A set of custom labels supplied by the user.
	// A list of key->value pairs.
	// Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
	Labels pulumi.StringMapInput
	// The region of the Backup Plan.
	Location pulumi.StringPtrInput
	// The full name of the BackupPlan Resource.
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// The number of Kubernetes Pods backed up in the last successful Backup created via this BackupPlan.
	ProtectedPodCount pulumi.IntPtrInput
	// RetentionPolicy governs lifecycle of Backups created under this plan.
	// Structure is documented below.
	RetentionPolicy BackupPlanRetentionPolicyPtrInput
	// Server generated, unique identifier of UUID format.
	Uid pulumi.StringPtrInput
}

func (BackupPlanState) ElementType

func (BackupPlanState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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