gkebackup

package
v7.20.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type 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"`
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapOutput `pulumi:"effectiveLabels"`
	// 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" }.
	//
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	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"`
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapOutput `pulumi:"pulumiLabels"`
	// RetentionPolicy governs lifecycle of Backups created under this plan.
	// Structure is documented below.
	RetentionPolicy BackupPlanRetentionPolicyPtrOutput `pulumi:"retentionPolicy"`
	// The State of the BackupPlan.
	State pulumi.StringOutput `pulumi:"state"`
	// Detailed description of why BackupPlan is in its current state.
	StateReason pulumi.StringOutput `pulumi:"stateReason"`
	// 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/v7/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:             pulumi.String("basic-cluster"),
			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),
				},
			},
			DeletionProtection: pulumi.Bool(true),
			Network:            pulumi.String("default"),
			Subnetwork:         pulumi.String("default"),
		})
		if err != nil {
			return err
		}
		_, err = gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Name:     pulumi.String("basic-plan"),
			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/v7/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:               pulumi.String("autopilot-cluster"),
			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),
				},
			},
			DeletionProtection: pulumi.Bool(true),
			Network:            pulumi.String("default"),
			Subnetwork:         pulumi.String("default"),
		})
		if err != nil {
			return err
		}
		_, err = gkebackup.NewBackupPlan(ctx, "autopilot", &gkebackup.BackupPlanArgs{
			Name:     pulumi.String("autopilot-plan"),
			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/v7/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/gkebackup"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:             pulumi.String("cmek-cluster"),
			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),
				},
			},
			DeletionProtection: pulumi.Bool(true),
			Network:            pulumi.String("default"),
			Subnetwork:         pulumi.String("default"),
		})
		if err != nil {
			return err
		}
		keyRing, err := kms.NewKeyRing(ctx, "key_ring", &kms.KeyRingArgs{
			Name:     pulumi.String("backup-key"),
			Location: pulumi.String("us-central1"),
		})
		if err != nil {
			return err
		}
		cryptoKey, err := kms.NewCryptoKey(ctx, "crypto_key", &kms.CryptoKeyArgs{
			Name:    pulumi.String("backup-key"),
			KeyRing: keyRing.ID(),
		})
		if err != nil {
			return err
		}
		_, err = gkebackup.NewBackupPlan(ctx, "cmek", &gkebackup.BackupPlanArgs{
			Name:     pulumi.String("cmek-plan"),
			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/v7/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:             pulumi.String("full-cluster"),
			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),
				},
			},
			DeletionProtection: pulumi.Bool(true),
			Network:            pulumi.String("default"),
			Subnetwork:         pulumi.String("default"),
		})
		if err != nil {
			return err
		}
		_, err = gkebackup.NewBackupPlan(ctx, "full", &gkebackup.BackupPlanArgs{
			Name:     pulumi.String("full-plan"),
			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
	})
}

``` ### Gkebackup Backupplan Rpo Daily Window

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:             pulumi.String("rpo-daily-cluster"),
			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),
				},
			},
			DeletionProtection: pulumi.Bool(true),
			Network:            pulumi.String("default"),
			Subnetwork:         pulumi.String("default"),
		})
		if err != nil {
			return err
		}
		_, err = gkebackup.NewBackupPlan(ctx, "rpo_daily_window", &gkebackup.BackupPlanArgs{
			Name:     pulumi.String("rpo-daily-window"),
			Cluster:  primary.ID(),
			Location: pulumi.String("us-central1"),
			RetentionPolicy: &gkebackup.BackupPlanRetentionPolicyArgs{
				BackupDeleteLockDays: pulumi.Int(30),
				BackupRetainDays:     pulumi.Int(180),
			},
			BackupSchedule: &gkebackup.BackupPlanBackupScheduleArgs{
				Paused: pulumi.Bool(true),
				RpoConfig: &gkebackup.BackupPlanBackupScheduleRpoConfigArgs{
					TargetRpoMinutes: pulumi.Int(1440),
					ExclusionWindows: gkebackup.BackupPlanBackupScheduleRpoConfigExclusionWindowArray{
						&gkebackup.BackupPlanBackupScheduleRpoConfigExclusionWindowArgs{
							StartTime: &gkebackup.BackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeArgs{
								Hours: pulumi.Int(12),
							},
							Duration: pulumi.String("7200s"),
							Daily:    pulumi.Bool(true),
						},
						&gkebackup.BackupPlanBackupScheduleRpoConfigExclusionWindowArgs{
							StartTime: &gkebackup.BackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeArgs{
								Hours:   pulumi.Int(8),
								Minutes: pulumi.Int(40),
								Seconds: pulumi.Int(1),
								Nanos:   pulumi.Int(100),
							},
							Duration: pulumi.String("3600s"),
							SingleOccurrenceDate: &gkebackup.BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateArgs{
								Year:  pulumi.Int(2024),
								Month: pulumi.Int(3),
								Day:   pulumi.Int(16),
							},
						},
					},
				},
			},
			BackupConfig: &gkebackup.BackupPlanBackupConfigArgs{
				IncludeVolumeData: pulumi.Bool(true),
				IncludeSecrets:    pulumi.Bool(true),
				AllNamespaces:     pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Gkebackup Backupplan Rpo Weekly Window

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:             pulumi.String("rpo-weekly-cluster"),
			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),
				},
			},
			DeletionProtection: pulumi.Bool(true),
			Network:            pulumi.String("default"),
			Subnetwork:         pulumi.String("default"),
		})
		if err != nil {
			return err
		}
		_, err = gkebackup.NewBackupPlan(ctx, "rpo_weekly_window", &gkebackup.BackupPlanArgs{
			Name:     pulumi.String("rpo-weekly-window"),
			Cluster:  primary.ID(),
			Location: pulumi.String("us-central1"),
			RetentionPolicy: &gkebackup.BackupPlanRetentionPolicyArgs{
				BackupDeleteLockDays: pulumi.Int(30),
				BackupRetainDays:     pulumi.Int(180),
			},
			BackupSchedule: &gkebackup.BackupPlanBackupScheduleArgs{
				Paused: pulumi.Bool(true),
				RpoConfig: &gkebackup.BackupPlanBackupScheduleRpoConfigArgs{
					TargetRpoMinutes: pulumi.Int(1440),
					ExclusionWindows: gkebackup.BackupPlanBackupScheduleRpoConfigExclusionWindowArray{
						&gkebackup.BackupPlanBackupScheduleRpoConfigExclusionWindowArgs{
							StartTime: &gkebackup.BackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeArgs{
								Hours:   pulumi.Int(1),
								Minutes: pulumi.Int(23),
							},
							Duration: pulumi.String("1800s"),
							DaysOfWeek: &gkebackup.BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekArgs{
								DaysOfWeeks: pulumi.StringArray{
									pulumi.String("MONDAY"),
									pulumi.String("THURSDAY"),
								},
							},
						},
						&gkebackup.BackupPlanBackupScheduleRpoConfigExclusionWindowArgs{
							StartTime: &gkebackup.BackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeArgs{
								Hours: pulumi.Int(12),
							},
							Duration: pulumi.String("3600s"),
							SingleOccurrenceDate: &gkebackup.BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateArgs{
								Year:  pulumi.Int(2024),
								Month: pulumi.Int(3),
								Day:   pulumi.Int(17),
							},
						},
						&gkebackup.BackupPlanBackupScheduleRpoConfigExclusionWindowArgs{
							StartTime: &gkebackup.BackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeArgs{
								Hours:   pulumi.Int(8),
								Minutes: pulumi.Int(40),
							},
							Duration: pulumi.String("600s"),
							SingleOccurrenceDate: &gkebackup.BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateArgs{
								Year:  pulumi.Int(2024),
								Month: pulumi.Int(3),
								Day:   pulumi.Int(18),
							},
						},
					},
				},
			},
			BackupConfig: &gkebackup.BackupPlanBackupConfigArgs{
				IncludeVolumeData: pulumi.Bool(true),
				IncludeSecrets:    pulumi.Bool(true),
				AllNamespaces:     pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

BackupPlan can be imported using any of these accepted formats:

* `projects/{{project}}/locations/{{location}}/backupPlans/{{name}}`

* `{{project}}/{{location}}/{{name}}`

* `{{location}}/{{name}}`

When using the `pulumi import` command, BackupPlan can be imported using one of the formats above. For example:

```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" }.
	//
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	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.
	// This is mutually exclusive with the rpoConfig field since at most one
	// schedule can be defined for a 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"`
	// Defines the RPO schedule configuration for this BackupPlan. This is mutually
	// exclusive with the cronSchedule field since at most one schedule can be defined
	// for a BackupPLan. If this is defined, then backupRetainDays must also be defined.
	// Structure is documented below.
	RpoConfig *BackupPlanBackupScheduleRpoConfig `pulumi:"rpoConfig"`
}

type BackupPlanBackupScheduleArgs

type BackupPlanBackupScheduleArgs struct {
	// A standard cron string that defines a repeating schedule for
	// creating Backups via this BackupPlan.
	// This is mutually exclusive with the rpoConfig field since at most one
	// schedule can be defined for a 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"`
	// Defines the RPO schedule configuration for this BackupPlan. This is mutually
	// exclusive with the cronSchedule field since at most one schedule can be defined
	// for a BackupPLan. If this is defined, then backupRetainDays must also be defined.
	// Structure is documented below.
	RpoConfig BackupPlanBackupScheduleRpoConfigPtrInput `pulumi:"rpoConfig"`
}

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. This is mutually exclusive with the rpoConfig field since at most one schedule can be defined for a 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) RpoConfig added in v7.19.0

Defines the RPO schedule configuration for this BackupPlan. This is mutually exclusive with the cronSchedule field since at most one schedule can be defined for a BackupPLan. If this is defined, then backupRetainDays must also be defined. Structure is documented below.

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. This is mutually exclusive with the rpoConfig field since at most one schedule can be defined for a 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) RpoConfig added in v7.19.0

Defines the RPO schedule configuration for this BackupPlan. This is mutually exclusive with the cronSchedule field since at most one schedule can be defined for a BackupPLan. If this is defined, then backupRetainDays must also be defined. Structure is documented below.

func (BackupPlanBackupSchedulePtrOutput) ToBackupPlanBackupSchedulePtrOutput

func (o BackupPlanBackupSchedulePtrOutput) ToBackupPlanBackupSchedulePtrOutput() BackupPlanBackupSchedulePtrOutput

func (BackupPlanBackupSchedulePtrOutput) ToBackupPlanBackupSchedulePtrOutputWithContext

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

type BackupPlanBackupScheduleRpoConfig added in v7.19.0

type BackupPlanBackupScheduleRpoConfig struct {
	// User specified time windows during which backup can NOT happen for this BackupPlan.
	// Backups should start and finish outside of any given exclusion window. Note: backup
	// jobs will be scheduled to start and finish outside the duration of the window as
	// much as possible, but running jobs will not get canceled when it runs into the window.
	// All the time and date values in exclusionWindows entry in the API are in UTC. We
	// only allow <=1 recurrence (daily or weekly) exclusion window for a BackupPlan while no
	// restriction on number of single occurrence windows.
	// Structure is documented below.
	ExclusionWindows []BackupPlanBackupScheduleRpoConfigExclusionWindow `pulumi:"exclusionWindows"`
	// Defines the target RPO for the BackupPlan in minutes, which means the target
	// maximum data loss in time that is acceptable for this BackupPlan. This must be
	// at least 60, i.e., 1 hour, and at most 86400, i.e., 60 days.
	TargetRpoMinutes int `pulumi:"targetRpoMinutes"`
}

type BackupPlanBackupScheduleRpoConfigArgs added in v7.19.0

type BackupPlanBackupScheduleRpoConfigArgs struct {
	// User specified time windows during which backup can NOT happen for this BackupPlan.
	// Backups should start and finish outside of any given exclusion window. Note: backup
	// jobs will be scheduled to start and finish outside the duration of the window as
	// much as possible, but running jobs will not get canceled when it runs into the window.
	// All the time and date values in exclusionWindows entry in the API are in UTC. We
	// only allow <=1 recurrence (daily or weekly) exclusion window for a BackupPlan while no
	// restriction on number of single occurrence windows.
	// Structure is documented below.
	ExclusionWindows BackupPlanBackupScheduleRpoConfigExclusionWindowArrayInput `pulumi:"exclusionWindows"`
	// Defines the target RPO for the BackupPlan in minutes, which means the target
	// maximum data loss in time that is acceptable for this BackupPlan. This must be
	// at least 60, i.e., 1 hour, and at most 86400, i.e., 60 days.
	TargetRpoMinutes pulumi.IntInput `pulumi:"targetRpoMinutes"`
}

func (BackupPlanBackupScheduleRpoConfigArgs) ElementType added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigArgs) ToBackupPlanBackupScheduleRpoConfigOutput added in v7.19.0

func (i BackupPlanBackupScheduleRpoConfigArgs) ToBackupPlanBackupScheduleRpoConfigOutput() BackupPlanBackupScheduleRpoConfigOutput

func (BackupPlanBackupScheduleRpoConfigArgs) ToBackupPlanBackupScheduleRpoConfigOutputWithContext added in v7.19.0

func (i BackupPlanBackupScheduleRpoConfigArgs) ToBackupPlanBackupScheduleRpoConfigOutputWithContext(ctx context.Context) BackupPlanBackupScheduleRpoConfigOutput

func (BackupPlanBackupScheduleRpoConfigArgs) ToBackupPlanBackupScheduleRpoConfigPtrOutput added in v7.19.0

func (i BackupPlanBackupScheduleRpoConfigArgs) ToBackupPlanBackupScheduleRpoConfigPtrOutput() BackupPlanBackupScheduleRpoConfigPtrOutput

func (BackupPlanBackupScheduleRpoConfigArgs) ToBackupPlanBackupScheduleRpoConfigPtrOutputWithContext added in v7.19.0

func (i BackupPlanBackupScheduleRpoConfigArgs) ToBackupPlanBackupScheduleRpoConfigPtrOutputWithContext(ctx context.Context) BackupPlanBackupScheduleRpoConfigPtrOutput

type BackupPlanBackupScheduleRpoConfigExclusionWindow added in v7.19.0

type BackupPlanBackupScheduleRpoConfigExclusionWindow struct {
	// The exclusion window occurs every day if set to "True".
	// Specifying this field to "False" is an error.
	// Only one of singleOccurrenceDate, daily and daysOfWeek may be set.
	Daily *bool `pulumi:"daily"`
	// The exclusion window occurs on these days of each week in UTC.
	// Only one of singleOccurrenceDate, daily and daysOfWeek may be set.
	// Structure is documented below.
	DaysOfWeek *BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeek `pulumi:"daysOfWeek"`
	// Specifies duration of the window in seconds with up to nine fractional digits,
	// terminated by 's'. Example: "3.5s". Restrictions for duration based on the
	// recurrence type to allow some time for backup to happen:
	// - single_occurrence_date:  no restriction
	// - daily window: duration < 24 hours
	// - weekly window:
	// - days of week includes all seven days of a week: duration < 24 hours
	// - all other weekly window: duration < 168 hours (i.e., 24 * 7 hours)
	Duration string `pulumi:"duration"`
	// No recurrence. The exclusion window occurs only once and on this date in UTC.
	// Only one of singleOccurrenceDate, daily and daysOfWeek may be set.
	// Structure is documented below.
	SingleOccurrenceDate *BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDate `pulumi:"singleOccurrenceDate"`
	// Specifies the start time of the window using time of the day in UTC.
	// Structure is documented below.
	StartTime BackupPlanBackupScheduleRpoConfigExclusionWindowStartTime `pulumi:"startTime"`
}

type BackupPlanBackupScheduleRpoConfigExclusionWindowArgs added in v7.19.0

type BackupPlanBackupScheduleRpoConfigExclusionWindowArgs struct {
	// The exclusion window occurs every day if set to "True".
	// Specifying this field to "False" is an error.
	// Only one of singleOccurrenceDate, daily and daysOfWeek may be set.
	Daily pulumi.BoolPtrInput `pulumi:"daily"`
	// The exclusion window occurs on these days of each week in UTC.
	// Only one of singleOccurrenceDate, daily and daysOfWeek may be set.
	// Structure is documented below.
	DaysOfWeek BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekPtrInput `pulumi:"daysOfWeek"`
	// Specifies duration of the window in seconds with up to nine fractional digits,
	// terminated by 's'. Example: "3.5s". Restrictions for duration based on the
	// recurrence type to allow some time for backup to happen:
	// - single_occurrence_date:  no restriction
	// - daily window: duration < 24 hours
	// - weekly window:
	// - days of week includes all seven days of a week: duration < 24 hours
	// - all other weekly window: duration < 168 hours (i.e., 24 * 7 hours)
	Duration pulumi.StringInput `pulumi:"duration"`
	// No recurrence. The exclusion window occurs only once and on this date in UTC.
	// Only one of singleOccurrenceDate, daily and daysOfWeek may be set.
	// Structure is documented below.
	SingleOccurrenceDate BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDatePtrInput `pulumi:"singleOccurrenceDate"`
	// Specifies the start time of the window using time of the day in UTC.
	// Structure is documented below.
	StartTime BackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeInput `pulumi:"startTime"`
}

func (BackupPlanBackupScheduleRpoConfigExclusionWindowArgs) ElementType added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigExclusionWindowArgs) ToBackupPlanBackupScheduleRpoConfigExclusionWindowOutput added in v7.19.0

func (i BackupPlanBackupScheduleRpoConfigExclusionWindowArgs) ToBackupPlanBackupScheduleRpoConfigExclusionWindowOutput() BackupPlanBackupScheduleRpoConfigExclusionWindowOutput

func (BackupPlanBackupScheduleRpoConfigExclusionWindowArgs) ToBackupPlanBackupScheduleRpoConfigExclusionWindowOutputWithContext added in v7.19.0

func (i BackupPlanBackupScheduleRpoConfigExclusionWindowArgs) ToBackupPlanBackupScheduleRpoConfigExclusionWindowOutputWithContext(ctx context.Context) BackupPlanBackupScheduleRpoConfigExclusionWindowOutput

type BackupPlanBackupScheduleRpoConfigExclusionWindowArray added in v7.19.0

type BackupPlanBackupScheduleRpoConfigExclusionWindowArray []BackupPlanBackupScheduleRpoConfigExclusionWindowInput

func (BackupPlanBackupScheduleRpoConfigExclusionWindowArray) ElementType added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigExclusionWindowArray) ToBackupPlanBackupScheduleRpoConfigExclusionWindowArrayOutput added in v7.19.0

func (i BackupPlanBackupScheduleRpoConfigExclusionWindowArray) ToBackupPlanBackupScheduleRpoConfigExclusionWindowArrayOutput() BackupPlanBackupScheduleRpoConfigExclusionWindowArrayOutput

func (BackupPlanBackupScheduleRpoConfigExclusionWindowArray) ToBackupPlanBackupScheduleRpoConfigExclusionWindowArrayOutputWithContext added in v7.19.0

func (i BackupPlanBackupScheduleRpoConfigExclusionWindowArray) ToBackupPlanBackupScheduleRpoConfigExclusionWindowArrayOutputWithContext(ctx context.Context) BackupPlanBackupScheduleRpoConfigExclusionWindowArrayOutput

type BackupPlanBackupScheduleRpoConfigExclusionWindowArrayInput added in v7.19.0

type BackupPlanBackupScheduleRpoConfigExclusionWindowArrayInput interface {
	pulumi.Input

	ToBackupPlanBackupScheduleRpoConfigExclusionWindowArrayOutput() BackupPlanBackupScheduleRpoConfigExclusionWindowArrayOutput
	ToBackupPlanBackupScheduleRpoConfigExclusionWindowArrayOutputWithContext(context.Context) BackupPlanBackupScheduleRpoConfigExclusionWindowArrayOutput
}

BackupPlanBackupScheduleRpoConfigExclusionWindowArrayInput is an input type that accepts BackupPlanBackupScheduleRpoConfigExclusionWindowArray and BackupPlanBackupScheduleRpoConfigExclusionWindowArrayOutput values. You can construct a concrete instance of `BackupPlanBackupScheduleRpoConfigExclusionWindowArrayInput` via:

BackupPlanBackupScheduleRpoConfigExclusionWindowArray{ BackupPlanBackupScheduleRpoConfigExclusionWindowArgs{...} }

type BackupPlanBackupScheduleRpoConfigExclusionWindowArrayOutput added in v7.19.0

type BackupPlanBackupScheduleRpoConfigExclusionWindowArrayOutput struct{ *pulumi.OutputState }

func (BackupPlanBackupScheduleRpoConfigExclusionWindowArrayOutput) ElementType added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigExclusionWindowArrayOutput) Index added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigExclusionWindowArrayOutput) ToBackupPlanBackupScheduleRpoConfigExclusionWindowArrayOutput added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigExclusionWindowArrayOutput) ToBackupPlanBackupScheduleRpoConfigExclusionWindowArrayOutputWithContext added in v7.19.0

func (o BackupPlanBackupScheduleRpoConfigExclusionWindowArrayOutput) ToBackupPlanBackupScheduleRpoConfigExclusionWindowArrayOutputWithContext(ctx context.Context) BackupPlanBackupScheduleRpoConfigExclusionWindowArrayOutput

type BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeek added in v7.19.0

type BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeek struct {
	// A list of days of week.
	// Each value may be one of: `MONDAY`, `TUESDAY`, `WEDNESDAY`, `THURSDAY`, `FRIDAY`, `SATURDAY`, `SUNDAY`.
	DaysOfWeeks []string `pulumi:"daysOfWeeks"`
}

type BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekArgs added in v7.19.0

type BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekArgs struct {
	// A list of days of week.
	// Each value may be one of: `MONDAY`, `TUESDAY`, `WEDNESDAY`, `THURSDAY`, `FRIDAY`, `SATURDAY`, `SUNDAY`.
	DaysOfWeeks pulumi.StringArrayInput `pulumi:"daysOfWeeks"`
}

func (BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekArgs) ElementType added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekArgs) ToBackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekOutput added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekArgs) ToBackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekOutputWithContext added in v7.19.0

func (i BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekArgs) ToBackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekOutputWithContext(ctx context.Context) BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekOutput

func (BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekArgs) ToBackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekPtrOutput added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekArgs) ToBackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekPtrOutputWithContext added in v7.19.0

func (i BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekArgs) ToBackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekPtrOutputWithContext(ctx context.Context) BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekPtrOutput

type BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekInput added in v7.19.0

type BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekInput interface {
	pulumi.Input

	ToBackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekOutput() BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekOutput
	ToBackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekOutputWithContext(context.Context) BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekOutput
}

BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekInput is an input type that accepts BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekArgs and BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekOutput values. You can construct a concrete instance of `BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekInput` via:

BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekArgs{...}

type BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekOutput added in v7.19.0

type BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekOutput struct{ *pulumi.OutputState }

func (BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekOutput) DaysOfWeeks added in v7.19.0

A list of days of week. Each value may be one of: `MONDAY`, `TUESDAY`, `WEDNESDAY`, `THURSDAY`, `FRIDAY`, `SATURDAY`, `SUNDAY`.

func (BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekOutput) ElementType added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekOutput) ToBackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekOutput added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekOutput) ToBackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekOutputWithContext added in v7.19.0

func (o BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekOutput) ToBackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekOutputWithContext(ctx context.Context) BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekOutput

func (BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekOutput) ToBackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekPtrOutput added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekOutput) ToBackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekPtrOutputWithContext added in v7.19.0

func (o BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekOutput) ToBackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekPtrOutputWithContext(ctx context.Context) BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekPtrOutput

type BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekPtrInput added in v7.19.0

type BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekPtrInput interface {
	pulumi.Input

	ToBackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekPtrOutput() BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekPtrOutput
	ToBackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekPtrOutputWithContext(context.Context) BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekPtrOutput
}

BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekPtrInput is an input type that accepts BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekArgs, BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekPtr and BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekPtrOutput values. You can construct a concrete instance of `BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekPtrInput` via:

        BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekArgs{...}

or:

        nil

type BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekPtrOutput added in v7.19.0

type BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekPtrOutput struct{ *pulumi.OutputState }

func (BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekPtrOutput) DaysOfWeeks added in v7.19.0

A list of days of week. Each value may be one of: `MONDAY`, `TUESDAY`, `WEDNESDAY`, `THURSDAY`, `FRIDAY`, `SATURDAY`, `SUNDAY`.

func (BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekPtrOutput) Elem added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekPtrOutput) ElementType added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekPtrOutput) ToBackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekPtrOutput added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekPtrOutput) ToBackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekPtrOutputWithContext added in v7.19.0

func (o BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekPtrOutput) ToBackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekPtrOutputWithContext(ctx context.Context) BackupPlanBackupScheduleRpoConfigExclusionWindowDaysOfWeekPtrOutput

type BackupPlanBackupScheduleRpoConfigExclusionWindowInput added in v7.19.0

type BackupPlanBackupScheduleRpoConfigExclusionWindowInput interface {
	pulumi.Input

	ToBackupPlanBackupScheduleRpoConfigExclusionWindowOutput() BackupPlanBackupScheduleRpoConfigExclusionWindowOutput
	ToBackupPlanBackupScheduleRpoConfigExclusionWindowOutputWithContext(context.Context) BackupPlanBackupScheduleRpoConfigExclusionWindowOutput
}

BackupPlanBackupScheduleRpoConfigExclusionWindowInput is an input type that accepts BackupPlanBackupScheduleRpoConfigExclusionWindowArgs and BackupPlanBackupScheduleRpoConfigExclusionWindowOutput values. You can construct a concrete instance of `BackupPlanBackupScheduleRpoConfigExclusionWindowInput` via:

BackupPlanBackupScheduleRpoConfigExclusionWindowArgs{...}

type BackupPlanBackupScheduleRpoConfigExclusionWindowOutput added in v7.19.0

type BackupPlanBackupScheduleRpoConfigExclusionWindowOutput struct{ *pulumi.OutputState }

func (BackupPlanBackupScheduleRpoConfigExclusionWindowOutput) Daily added in v7.19.0

The exclusion window occurs every day if set to "True". Specifying this field to "False" is an error. Only one of singleOccurrenceDate, daily and daysOfWeek may be set.

func (BackupPlanBackupScheduleRpoConfigExclusionWindowOutput) DaysOfWeek added in v7.19.0

The exclusion window occurs on these days of each week in UTC. Only one of singleOccurrenceDate, daily and daysOfWeek may be set. Structure is documented below.

func (BackupPlanBackupScheduleRpoConfigExclusionWindowOutput) Duration added in v7.19.0

Specifies duration of the window in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". Restrictions for duration based on the recurrence type to allow some time for backup to happen: - single_occurrence_date: no restriction - daily window: duration < 24 hours - weekly window: - days of week includes all seven days of a week: duration < 24 hours - all other weekly window: duration < 168 hours (i.e., 24 * 7 hours)

func (BackupPlanBackupScheduleRpoConfigExclusionWindowOutput) ElementType added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigExclusionWindowOutput) SingleOccurrenceDate added in v7.19.0

No recurrence. The exclusion window occurs only once and on this date in UTC. Only one of singleOccurrenceDate, daily and daysOfWeek may be set. Structure is documented below.

func (BackupPlanBackupScheduleRpoConfigExclusionWindowOutput) StartTime added in v7.19.0

Specifies the start time of the window using time of the day in UTC. Structure is documented below.

func (BackupPlanBackupScheduleRpoConfigExclusionWindowOutput) ToBackupPlanBackupScheduleRpoConfigExclusionWindowOutput added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigExclusionWindowOutput) ToBackupPlanBackupScheduleRpoConfigExclusionWindowOutputWithContext added in v7.19.0

func (o BackupPlanBackupScheduleRpoConfigExclusionWindowOutput) ToBackupPlanBackupScheduleRpoConfigExclusionWindowOutputWithContext(ctx context.Context) BackupPlanBackupScheduleRpoConfigExclusionWindowOutput

type BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDate added in v7.19.0

type BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDate struct {
	// Day of a month.
	Day *int `pulumi:"day"`
	// Month of a year.
	Month *int `pulumi:"month"`
	// Year of the date.
	Year *int `pulumi:"year"`
}

type BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateArgs added in v7.19.0

type BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateArgs struct {
	// Day of a month.
	Day pulumi.IntPtrInput `pulumi:"day"`
	// Month of a year.
	Month pulumi.IntPtrInput `pulumi:"month"`
	// Year of the date.
	Year pulumi.IntPtrInput `pulumi:"year"`
}

func (BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateArgs) ElementType added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateArgs) ToBackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateOutput added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateArgs) ToBackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateOutputWithContext added in v7.19.0

func (i BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateArgs) ToBackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateOutputWithContext(ctx context.Context) BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateOutput

func (BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateArgs) ToBackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDatePtrOutput added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateArgs) ToBackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDatePtrOutputWithContext added in v7.19.0

func (i BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateArgs) ToBackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDatePtrOutputWithContext(ctx context.Context) BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDatePtrOutput

type BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateInput added in v7.19.0

type BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateInput interface {
	pulumi.Input

	ToBackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateOutput() BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateOutput
	ToBackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateOutputWithContext(context.Context) BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateOutput
}

BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateInput is an input type that accepts BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateArgs and BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateOutput values. You can construct a concrete instance of `BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateInput` via:

BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateArgs{...}

type BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateOutput added in v7.19.0

type BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateOutput struct{ *pulumi.OutputState }

func (BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateOutput) Day added in v7.19.0

Day of a month.

func (BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateOutput) ElementType added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateOutput) Month added in v7.19.0

Month of a year.

func (BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateOutput) ToBackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateOutput added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateOutput) ToBackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateOutputWithContext added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateOutput) ToBackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDatePtrOutput added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateOutput) ToBackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDatePtrOutputWithContext added in v7.19.0

func (o BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateOutput) ToBackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDatePtrOutputWithContext(ctx context.Context) BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDatePtrOutput

func (BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateOutput) Year added in v7.19.0

Year of the date.

type BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDatePtrInput added in v7.19.0

type BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDatePtrInput interface {
	pulumi.Input

	ToBackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDatePtrOutput() BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDatePtrOutput
	ToBackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDatePtrOutputWithContext(context.Context) BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDatePtrOutput
}

BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDatePtrInput is an input type that accepts BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateArgs, BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDatePtr and BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDatePtrOutput values. You can construct a concrete instance of `BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDatePtrInput` via:

        BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDateArgs{...}

or:

        nil

type BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDatePtrOutput added in v7.19.0

type BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDatePtrOutput struct{ *pulumi.OutputState }

func (BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDatePtrOutput) Day added in v7.19.0

Day of a month.

func (BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDatePtrOutput) Elem added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDatePtrOutput) ElementType added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDatePtrOutput) Month added in v7.19.0

Month of a year.

func (BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDatePtrOutput) ToBackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDatePtrOutput added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDatePtrOutput) ToBackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDatePtrOutputWithContext added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigExclusionWindowSingleOccurrenceDatePtrOutput) Year added in v7.19.0

Year of the date.

type BackupPlanBackupScheduleRpoConfigExclusionWindowStartTime added in v7.19.0

type BackupPlanBackupScheduleRpoConfigExclusionWindowStartTime struct {
	// Hours of day in 24 hour format.
	Hours *int `pulumi:"hours"`
	// Minutes of hour of day.
	Minutes *int `pulumi:"minutes"`
	// Fractions of seconds in nanoseconds.
	Nanos *int `pulumi:"nanos"`
	// Seconds of minutes of the time.
	Seconds *int `pulumi:"seconds"`
}

type BackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeArgs added in v7.19.0

type BackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeArgs struct {
	// Hours of day in 24 hour format.
	Hours pulumi.IntPtrInput `pulumi:"hours"`
	// Minutes of hour of day.
	Minutes pulumi.IntPtrInput `pulumi:"minutes"`
	// Fractions of seconds in nanoseconds.
	Nanos pulumi.IntPtrInput `pulumi:"nanos"`
	// Seconds of minutes of the time.
	Seconds pulumi.IntPtrInput `pulumi:"seconds"`
}

func (BackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeArgs) ElementType added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeArgs) ToBackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeOutput added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeArgs) ToBackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeOutputWithContext added in v7.19.0

func (i BackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeArgs) ToBackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeOutputWithContext(ctx context.Context) BackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeOutput

type BackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeInput added in v7.19.0

type BackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeInput interface {
	pulumi.Input

	ToBackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeOutput() BackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeOutput
	ToBackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeOutputWithContext(context.Context) BackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeOutput
}

BackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeInput is an input type that accepts BackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeArgs and BackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeOutput values. You can construct a concrete instance of `BackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeInput` via:

BackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeArgs{...}

type BackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeOutput added in v7.19.0

type BackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeOutput struct{ *pulumi.OutputState }

func (BackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeOutput) ElementType added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeOutput) Hours added in v7.19.0

Hours of day in 24 hour format.

func (BackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeOutput) Minutes added in v7.19.0

Minutes of hour of day.

func (BackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeOutput) Nanos added in v7.19.0

Fractions of seconds in nanoseconds.

func (BackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeOutput) Seconds added in v7.19.0

Seconds of minutes of the time.

func (BackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeOutput) ToBackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeOutput added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeOutput) ToBackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeOutputWithContext added in v7.19.0

func (o BackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeOutput) ToBackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeOutputWithContext(ctx context.Context) BackupPlanBackupScheduleRpoConfigExclusionWindowStartTimeOutput

type BackupPlanBackupScheduleRpoConfigInput added in v7.19.0

type BackupPlanBackupScheduleRpoConfigInput interface {
	pulumi.Input

	ToBackupPlanBackupScheduleRpoConfigOutput() BackupPlanBackupScheduleRpoConfigOutput
	ToBackupPlanBackupScheduleRpoConfigOutputWithContext(context.Context) BackupPlanBackupScheduleRpoConfigOutput
}

BackupPlanBackupScheduleRpoConfigInput is an input type that accepts BackupPlanBackupScheduleRpoConfigArgs and BackupPlanBackupScheduleRpoConfigOutput values. You can construct a concrete instance of `BackupPlanBackupScheduleRpoConfigInput` via:

BackupPlanBackupScheduleRpoConfigArgs{...}

type BackupPlanBackupScheduleRpoConfigOutput added in v7.19.0

type BackupPlanBackupScheduleRpoConfigOutput struct{ *pulumi.OutputState }

func (BackupPlanBackupScheduleRpoConfigOutput) ElementType added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigOutput) ExclusionWindows added in v7.19.0

User specified time windows during which backup can NOT happen for this BackupPlan. Backups should start and finish outside of any given exclusion window. Note: backup jobs will be scheduled to start and finish outside the duration of the window as much as possible, but running jobs will not get canceled when it runs into the window. All the time and date values in exclusionWindows entry in the API are in UTC. We only allow <=1 recurrence (daily or weekly) exclusion window for a BackupPlan while no restriction on number of single occurrence windows. Structure is documented below.

func (BackupPlanBackupScheduleRpoConfigOutput) TargetRpoMinutes added in v7.19.0

Defines the target RPO for the BackupPlan in minutes, which means the target maximum data loss in time that is acceptable for this BackupPlan. This must be at least 60, i.e., 1 hour, and at most 86400, i.e., 60 days.

func (BackupPlanBackupScheduleRpoConfigOutput) ToBackupPlanBackupScheduleRpoConfigOutput added in v7.19.0

func (o BackupPlanBackupScheduleRpoConfigOutput) ToBackupPlanBackupScheduleRpoConfigOutput() BackupPlanBackupScheduleRpoConfigOutput

func (BackupPlanBackupScheduleRpoConfigOutput) ToBackupPlanBackupScheduleRpoConfigOutputWithContext added in v7.19.0

func (o BackupPlanBackupScheduleRpoConfigOutput) ToBackupPlanBackupScheduleRpoConfigOutputWithContext(ctx context.Context) BackupPlanBackupScheduleRpoConfigOutput

func (BackupPlanBackupScheduleRpoConfigOutput) ToBackupPlanBackupScheduleRpoConfigPtrOutput added in v7.19.0

func (o BackupPlanBackupScheduleRpoConfigOutput) ToBackupPlanBackupScheduleRpoConfigPtrOutput() BackupPlanBackupScheduleRpoConfigPtrOutput

func (BackupPlanBackupScheduleRpoConfigOutput) ToBackupPlanBackupScheduleRpoConfigPtrOutputWithContext added in v7.19.0

func (o BackupPlanBackupScheduleRpoConfigOutput) ToBackupPlanBackupScheduleRpoConfigPtrOutputWithContext(ctx context.Context) BackupPlanBackupScheduleRpoConfigPtrOutput

type BackupPlanBackupScheduleRpoConfigPtrInput added in v7.19.0

type BackupPlanBackupScheduleRpoConfigPtrInput interface {
	pulumi.Input

	ToBackupPlanBackupScheduleRpoConfigPtrOutput() BackupPlanBackupScheduleRpoConfigPtrOutput
	ToBackupPlanBackupScheduleRpoConfigPtrOutputWithContext(context.Context) BackupPlanBackupScheduleRpoConfigPtrOutput
}

BackupPlanBackupScheduleRpoConfigPtrInput is an input type that accepts BackupPlanBackupScheduleRpoConfigArgs, BackupPlanBackupScheduleRpoConfigPtr and BackupPlanBackupScheduleRpoConfigPtrOutput values. You can construct a concrete instance of `BackupPlanBackupScheduleRpoConfigPtrInput` via:

        BackupPlanBackupScheduleRpoConfigArgs{...}

or:

        nil

type BackupPlanBackupScheduleRpoConfigPtrOutput added in v7.19.0

type BackupPlanBackupScheduleRpoConfigPtrOutput struct{ *pulumi.OutputState }

func (BackupPlanBackupScheduleRpoConfigPtrOutput) Elem added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigPtrOutput) ElementType added in v7.19.0

func (BackupPlanBackupScheduleRpoConfigPtrOutput) ExclusionWindows added in v7.19.0

User specified time windows during which backup can NOT happen for this BackupPlan. Backups should start and finish outside of any given exclusion window. Note: backup jobs will be scheduled to start and finish outside the duration of the window as much as possible, but running jobs will not get canceled when it runs into the window. All the time and date values in exclusionWindows entry in the API are in UTC. We only allow <=1 recurrence (daily or weekly) exclusion window for a BackupPlan while no restriction on number of single occurrence windows. Structure is documented below.

func (BackupPlanBackupScheduleRpoConfigPtrOutput) TargetRpoMinutes added in v7.19.0

Defines the target RPO for the BackupPlan in minutes, which means the target maximum data loss in time that is acceptable for this BackupPlan. This must be at least 60, i.e., 1 hour, and at most 86400, i.e., 60 days.

func (BackupPlanBackupScheduleRpoConfigPtrOutput) ToBackupPlanBackupScheduleRpoConfigPtrOutput added in v7.19.0

func (o BackupPlanBackupScheduleRpoConfigPtrOutput) ToBackupPlanBackupScheduleRpoConfigPtrOutput() BackupPlanBackupScheduleRpoConfigPtrOutput

func (BackupPlanBackupScheduleRpoConfigPtrOutput) ToBackupPlanBackupScheduleRpoConfigPtrOutputWithContext added in v7.19.0

func (o BackupPlanBackupScheduleRpoConfigPtrOutput) ToBackupPlanBackupScheduleRpoConfigPtrOutputWithContext(ctx context.Context) BackupPlanBackupScheduleRpoConfigPtrOutput

type BackupPlanIamBinding

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"`
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	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.

A data source can be used to retrieve policy data in advent you do not need creation

* `gkebackup.BackupPlanIamPolicy`: Retrieves the IAM policy for the backupplan

> **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/v7/go/gcp/gkebackup"
"github.com/pulumi/pulumi-gcp/sdk/v7/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(basic.Project),
			Location:   pulumi.Any(basic.Location),
			Name:       pulumi.Any(basic.Name),
			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/v7/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(basic.Project),
			Location: pulumi.Any(basic.Location),
			Name:     pulumi.Any(basic.Name),
			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/v7/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(basic.Project),
			Location: pulumi.Any(basic.Location),
			Name:     pulumi.Any(basic.Name),
			Role:     pulumi.String("roles/viewer"),
			Member:   pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

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

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/gkebackup"
"github.com/pulumi/pulumi-gcp/sdk/v7/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(basic.Project),
			Location:   pulumi.Any(basic.Location),
			Name:       pulumi.Any(basic.Name),
			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/v7/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(basic.Project),
			Location: pulumi.Any(basic.Location),
			Name:     pulumi.Any(basic.Name),
			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/v7/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(basic.Project),
			Location: pulumi.Any(basic.Location),
			Name:     pulumi.Any(basic.Name),
			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 identifiers: the 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 identifiers: the 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

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

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

func (*BackupPlanIamBinding) ElementType() reflect.Type

func (*BackupPlanIamBinding) ToBackupPlanIamBindingOutput

func (i *BackupPlanIamBinding) ToBackupPlanIamBindingOutput() BackupPlanIamBindingOutput

func (*BackupPlanIamBinding) ToBackupPlanIamBindingOutputWithContext

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

type BackupPlanIamBindingArgs

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
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	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

func (BackupPlanIamBindingArgs) ElementType() reflect.Type

type BackupPlanIamBindingArray

type BackupPlanIamBindingArray []BackupPlanIamBindingInput

func (BackupPlanIamBindingArray) ElementType

func (BackupPlanIamBindingArray) ElementType() reflect.Type

func (BackupPlanIamBindingArray) ToBackupPlanIamBindingArrayOutput

func (i BackupPlanIamBindingArray) ToBackupPlanIamBindingArrayOutput() BackupPlanIamBindingArrayOutput

func (BackupPlanIamBindingArray) ToBackupPlanIamBindingArrayOutputWithContext

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

type BackupPlanIamBindingArrayInput

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

type BackupPlanIamBindingArrayOutput struct{ *pulumi.OutputState }

func (BackupPlanIamBindingArrayOutput) ElementType

func (BackupPlanIamBindingArrayOutput) Index

func (BackupPlanIamBindingArrayOutput) ToBackupPlanIamBindingArrayOutput

func (o BackupPlanIamBindingArrayOutput) ToBackupPlanIamBindingArrayOutput() BackupPlanIamBindingArrayOutput

func (BackupPlanIamBindingArrayOutput) ToBackupPlanIamBindingArrayOutputWithContext

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

type BackupPlanIamBindingCondition

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

type BackupPlanIamBindingConditionArgs

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

func (BackupPlanIamBindingConditionArgs) ElementType

func (BackupPlanIamBindingConditionArgs) ToBackupPlanIamBindingConditionOutput

func (i BackupPlanIamBindingConditionArgs) ToBackupPlanIamBindingConditionOutput() BackupPlanIamBindingConditionOutput

func (BackupPlanIamBindingConditionArgs) ToBackupPlanIamBindingConditionOutputWithContext

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

func (BackupPlanIamBindingConditionArgs) ToBackupPlanIamBindingConditionPtrOutput

func (i BackupPlanIamBindingConditionArgs) ToBackupPlanIamBindingConditionPtrOutput() BackupPlanIamBindingConditionPtrOutput

func (BackupPlanIamBindingConditionArgs) ToBackupPlanIamBindingConditionPtrOutputWithContext

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

type BackupPlanIamBindingConditionInput

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

type BackupPlanIamBindingConditionOutput struct{ *pulumi.OutputState }

func (BackupPlanIamBindingConditionOutput) Description

func (BackupPlanIamBindingConditionOutput) ElementType

func (BackupPlanIamBindingConditionOutput) Expression

func (BackupPlanIamBindingConditionOutput) Title

func (BackupPlanIamBindingConditionOutput) ToBackupPlanIamBindingConditionOutput

func (o BackupPlanIamBindingConditionOutput) ToBackupPlanIamBindingConditionOutput() BackupPlanIamBindingConditionOutput

func (BackupPlanIamBindingConditionOutput) ToBackupPlanIamBindingConditionOutputWithContext

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

func (BackupPlanIamBindingConditionOutput) ToBackupPlanIamBindingConditionPtrOutput

func (o BackupPlanIamBindingConditionOutput) ToBackupPlanIamBindingConditionPtrOutput() BackupPlanIamBindingConditionPtrOutput

func (BackupPlanIamBindingConditionOutput) ToBackupPlanIamBindingConditionPtrOutputWithContext

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

type BackupPlanIamBindingConditionPtrInput

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

type BackupPlanIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (BackupPlanIamBindingConditionPtrOutput) Description

func (BackupPlanIamBindingConditionPtrOutput) Elem

func (BackupPlanIamBindingConditionPtrOutput) ElementType

func (BackupPlanIamBindingConditionPtrOutput) Expression

func (BackupPlanIamBindingConditionPtrOutput) Title

func (BackupPlanIamBindingConditionPtrOutput) ToBackupPlanIamBindingConditionPtrOutput

func (o BackupPlanIamBindingConditionPtrOutput) ToBackupPlanIamBindingConditionPtrOutput() BackupPlanIamBindingConditionPtrOutput

func (BackupPlanIamBindingConditionPtrOutput) ToBackupPlanIamBindingConditionPtrOutputWithContext

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

type BackupPlanIamBindingInput

type BackupPlanIamBindingInput interface {
	pulumi.Input

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

type BackupPlanIamBindingMap

type BackupPlanIamBindingMap map[string]BackupPlanIamBindingInput

func (BackupPlanIamBindingMap) ElementType

func (BackupPlanIamBindingMap) ElementType() reflect.Type

func (BackupPlanIamBindingMap) ToBackupPlanIamBindingMapOutput

func (i BackupPlanIamBindingMap) ToBackupPlanIamBindingMapOutput() BackupPlanIamBindingMapOutput

func (BackupPlanIamBindingMap) ToBackupPlanIamBindingMapOutputWithContext

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

type BackupPlanIamBindingMapInput

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

type BackupPlanIamBindingMapOutput struct{ *pulumi.OutputState }

func (BackupPlanIamBindingMapOutput) ElementType

func (BackupPlanIamBindingMapOutput) MapIndex

func (BackupPlanIamBindingMapOutput) ToBackupPlanIamBindingMapOutput

func (o BackupPlanIamBindingMapOutput) ToBackupPlanIamBindingMapOutput() BackupPlanIamBindingMapOutput

func (BackupPlanIamBindingMapOutput) ToBackupPlanIamBindingMapOutputWithContext

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

type BackupPlanIamBindingOutput

type BackupPlanIamBindingOutput struct{ *pulumi.OutputState }

func (BackupPlanIamBindingOutput) Condition

func (BackupPlanIamBindingOutput) ElementType

func (BackupPlanIamBindingOutput) ElementType() reflect.Type

func (BackupPlanIamBindingOutput) Etag

(Computed) The etag of the IAM policy.

func (BackupPlanIamBindingOutput) Location

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

func (BackupPlanIamBindingOutput) Members

Identities that will be granted the privilege in `role`. Each entry can have one of the following values: * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com. * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project" * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project" * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"

func (BackupPlanIamBindingOutput) Name

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

func (BackupPlanIamBindingOutput) Project

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

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

func (o BackupPlanIamBindingOutput) ToBackupPlanIamBindingOutput() BackupPlanIamBindingOutput

func (BackupPlanIamBindingOutput) ToBackupPlanIamBindingOutputWithContext

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

type BackupPlanIamBindingState

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
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	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

func (BackupPlanIamBindingState) ElementType() reflect.Type

type BackupPlanIamMember

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"`
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	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.

A data source can be used to retrieve policy data in advent you do not need creation

* `gkebackup.BackupPlanIamPolicy`: Retrieves the IAM policy for the backupplan

> **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/v7/go/gcp/gkebackup"
"github.com/pulumi/pulumi-gcp/sdk/v7/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(basic.Project),
			Location:   pulumi.Any(basic.Location),
			Name:       pulumi.Any(basic.Name),
			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/v7/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(basic.Project),
			Location: pulumi.Any(basic.Location),
			Name:     pulumi.Any(basic.Name),
			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/v7/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(basic.Project),
			Location: pulumi.Any(basic.Location),
			Name:     pulumi.Any(basic.Name),
			Role:     pulumi.String("roles/viewer"),
			Member:   pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

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

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/gkebackup"
"github.com/pulumi/pulumi-gcp/sdk/v7/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(basic.Project),
			Location:   pulumi.Any(basic.Location),
			Name:       pulumi.Any(basic.Name),
			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/v7/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(basic.Project),
			Location: pulumi.Any(basic.Location),
			Name:     pulumi.Any(basic.Name),
			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/v7/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(basic.Project),
			Location: pulumi.Any(basic.Location),
			Name:     pulumi.Any(basic.Name),
			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 identifiers: the 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 identifiers: the 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

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

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

func (*BackupPlanIamMember) ElementType() reflect.Type

func (*BackupPlanIamMember) ToBackupPlanIamMemberOutput

func (i *BackupPlanIamMember) ToBackupPlanIamMemberOutput() BackupPlanIamMemberOutput

func (*BackupPlanIamMember) ToBackupPlanIamMemberOutputWithContext

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

type BackupPlanIamMemberArgs

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
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	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

func (BackupPlanIamMemberArgs) ElementType() reflect.Type

type BackupPlanIamMemberArray

type BackupPlanIamMemberArray []BackupPlanIamMemberInput

func (BackupPlanIamMemberArray) ElementType

func (BackupPlanIamMemberArray) ElementType() reflect.Type

func (BackupPlanIamMemberArray) ToBackupPlanIamMemberArrayOutput

func (i BackupPlanIamMemberArray) ToBackupPlanIamMemberArrayOutput() BackupPlanIamMemberArrayOutput

func (BackupPlanIamMemberArray) ToBackupPlanIamMemberArrayOutputWithContext

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

type BackupPlanIamMemberArrayInput

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

type BackupPlanIamMemberArrayOutput struct{ *pulumi.OutputState }

func (BackupPlanIamMemberArrayOutput) ElementType

func (BackupPlanIamMemberArrayOutput) Index

func (BackupPlanIamMemberArrayOutput) ToBackupPlanIamMemberArrayOutput

func (o BackupPlanIamMemberArrayOutput) ToBackupPlanIamMemberArrayOutput() BackupPlanIamMemberArrayOutput

func (BackupPlanIamMemberArrayOutput) ToBackupPlanIamMemberArrayOutputWithContext

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

type BackupPlanIamMemberCondition

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

type BackupPlanIamMemberConditionArgs

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

func (BackupPlanIamMemberConditionArgs) ElementType

func (BackupPlanIamMemberConditionArgs) ToBackupPlanIamMemberConditionOutput

func (i BackupPlanIamMemberConditionArgs) ToBackupPlanIamMemberConditionOutput() BackupPlanIamMemberConditionOutput

func (BackupPlanIamMemberConditionArgs) ToBackupPlanIamMemberConditionOutputWithContext

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

func (BackupPlanIamMemberConditionArgs) ToBackupPlanIamMemberConditionPtrOutput

func (i BackupPlanIamMemberConditionArgs) ToBackupPlanIamMemberConditionPtrOutput() BackupPlanIamMemberConditionPtrOutput

func (BackupPlanIamMemberConditionArgs) ToBackupPlanIamMemberConditionPtrOutputWithContext

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

type BackupPlanIamMemberConditionInput

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

type BackupPlanIamMemberConditionOutput struct{ *pulumi.OutputState }

func (BackupPlanIamMemberConditionOutput) Description

func (BackupPlanIamMemberConditionOutput) ElementType

func (BackupPlanIamMemberConditionOutput) Expression

func (BackupPlanIamMemberConditionOutput) Title

func (BackupPlanIamMemberConditionOutput) ToBackupPlanIamMemberConditionOutput

func (o BackupPlanIamMemberConditionOutput) ToBackupPlanIamMemberConditionOutput() BackupPlanIamMemberConditionOutput

func (BackupPlanIamMemberConditionOutput) ToBackupPlanIamMemberConditionOutputWithContext

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

func (BackupPlanIamMemberConditionOutput) ToBackupPlanIamMemberConditionPtrOutput

func (o BackupPlanIamMemberConditionOutput) ToBackupPlanIamMemberConditionPtrOutput() BackupPlanIamMemberConditionPtrOutput

func (BackupPlanIamMemberConditionOutput) ToBackupPlanIamMemberConditionPtrOutputWithContext

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

type BackupPlanIamMemberConditionPtrInput

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

type BackupPlanIamMemberConditionPtrOutput

type BackupPlanIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (BackupPlanIamMemberConditionPtrOutput) Description

func (BackupPlanIamMemberConditionPtrOutput) Elem

func (BackupPlanIamMemberConditionPtrOutput) ElementType

func (BackupPlanIamMemberConditionPtrOutput) Expression

func (BackupPlanIamMemberConditionPtrOutput) Title

func (BackupPlanIamMemberConditionPtrOutput) ToBackupPlanIamMemberConditionPtrOutput

func (o BackupPlanIamMemberConditionPtrOutput) ToBackupPlanIamMemberConditionPtrOutput() BackupPlanIamMemberConditionPtrOutput

func (BackupPlanIamMemberConditionPtrOutput) ToBackupPlanIamMemberConditionPtrOutputWithContext

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

type BackupPlanIamMemberInput

type BackupPlanIamMemberInput interface {
	pulumi.Input

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

type BackupPlanIamMemberMap

type BackupPlanIamMemberMap map[string]BackupPlanIamMemberInput

func (BackupPlanIamMemberMap) ElementType

func (BackupPlanIamMemberMap) ElementType() reflect.Type

func (BackupPlanIamMemberMap) ToBackupPlanIamMemberMapOutput

func (i BackupPlanIamMemberMap) ToBackupPlanIamMemberMapOutput() BackupPlanIamMemberMapOutput

func (BackupPlanIamMemberMap) ToBackupPlanIamMemberMapOutputWithContext

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

type BackupPlanIamMemberMapInput

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

type BackupPlanIamMemberMapOutput struct{ *pulumi.OutputState }

func (BackupPlanIamMemberMapOutput) ElementType

func (BackupPlanIamMemberMapOutput) MapIndex

func (BackupPlanIamMemberMapOutput) ToBackupPlanIamMemberMapOutput

func (o BackupPlanIamMemberMapOutput) ToBackupPlanIamMemberMapOutput() BackupPlanIamMemberMapOutput

func (BackupPlanIamMemberMapOutput) ToBackupPlanIamMemberMapOutputWithContext

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

type BackupPlanIamMemberOutput

type BackupPlanIamMemberOutput struct{ *pulumi.OutputState }

func (BackupPlanIamMemberOutput) Condition

func (BackupPlanIamMemberOutput) ElementType

func (BackupPlanIamMemberOutput) ElementType() reflect.Type

func (BackupPlanIamMemberOutput) Etag

(Computed) The etag of the IAM policy.

func (BackupPlanIamMemberOutput) Location

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

func (BackupPlanIamMemberOutput) Member

Identities that will be granted the privilege in `role`. Each entry can have one of the following values: * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com. * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project" * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project" * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"

func (BackupPlanIamMemberOutput) Name

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

func (BackupPlanIamMemberOutput) Project

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

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

func (o BackupPlanIamMemberOutput) ToBackupPlanIamMemberOutput() BackupPlanIamMemberOutput

func (BackupPlanIamMemberOutput) ToBackupPlanIamMemberOutputWithContext

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

type BackupPlanIamMemberState

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
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	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

func (BackupPlanIamMemberState) ElementType() reflect.Type

type BackupPlanIamPolicy

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.

A data source can be used to retrieve policy data in advent you do not need creation

* `gkebackup.BackupPlanIamPolicy`: Retrieves the IAM policy for the backupplan

> **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/v7/go/gcp/gkebackup"
"github.com/pulumi/pulumi-gcp/sdk/v7/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(basic.Project),
			Location:   pulumi.Any(basic.Location),
			Name:       pulumi.Any(basic.Name),
			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/v7/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(basic.Project),
			Location: pulumi.Any(basic.Location),
			Name:     pulumi.Any(basic.Name),
			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/v7/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(basic.Project),
			Location: pulumi.Any(basic.Location),
			Name:     pulumi.Any(basic.Name),
			Role:     pulumi.String("roles/viewer"),
			Member:   pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

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

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/gkebackup"
"github.com/pulumi/pulumi-gcp/sdk/v7/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(basic.Project),
			Location:   pulumi.Any(basic.Location),
			Name:       pulumi.Any(basic.Name),
			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/v7/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(basic.Project),
			Location: pulumi.Any(basic.Location),
			Name:     pulumi.Any(basic.Name),
			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/v7/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(basic.Project),
			Location: pulumi.Any(basic.Location),
			Name:     pulumi.Any(basic.Name),
			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 identifiers: the 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 identifiers: the 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

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

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

func (*BackupPlanIamPolicy) ElementType() reflect.Type

func (*BackupPlanIamPolicy) ToBackupPlanIamPolicyOutput

func (i *BackupPlanIamPolicy) ToBackupPlanIamPolicyOutput() BackupPlanIamPolicyOutput

func (*BackupPlanIamPolicy) ToBackupPlanIamPolicyOutputWithContext

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

type BackupPlanIamPolicyArgs

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

func (BackupPlanIamPolicyArgs) ElementType() reflect.Type

type BackupPlanIamPolicyArray

type BackupPlanIamPolicyArray []BackupPlanIamPolicyInput

func (BackupPlanIamPolicyArray) ElementType

func (BackupPlanIamPolicyArray) ElementType() reflect.Type

func (BackupPlanIamPolicyArray) ToBackupPlanIamPolicyArrayOutput

func (i BackupPlanIamPolicyArray) ToBackupPlanIamPolicyArrayOutput() BackupPlanIamPolicyArrayOutput

func (BackupPlanIamPolicyArray) ToBackupPlanIamPolicyArrayOutputWithContext

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

type BackupPlanIamPolicyArrayInput

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

type BackupPlanIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (BackupPlanIamPolicyArrayOutput) ElementType

func (BackupPlanIamPolicyArrayOutput) Index

func (BackupPlanIamPolicyArrayOutput) ToBackupPlanIamPolicyArrayOutput

func (o BackupPlanIamPolicyArrayOutput) ToBackupPlanIamPolicyArrayOutput() BackupPlanIamPolicyArrayOutput

func (BackupPlanIamPolicyArrayOutput) ToBackupPlanIamPolicyArrayOutputWithContext

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

type BackupPlanIamPolicyInput

type BackupPlanIamPolicyInput interface {
	pulumi.Input

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

type BackupPlanIamPolicyMap

type BackupPlanIamPolicyMap map[string]BackupPlanIamPolicyInput

func (BackupPlanIamPolicyMap) ElementType

func (BackupPlanIamPolicyMap) ElementType() reflect.Type

func (BackupPlanIamPolicyMap) ToBackupPlanIamPolicyMapOutput

func (i BackupPlanIamPolicyMap) ToBackupPlanIamPolicyMapOutput() BackupPlanIamPolicyMapOutput

func (BackupPlanIamPolicyMap) ToBackupPlanIamPolicyMapOutputWithContext

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

type BackupPlanIamPolicyMapInput

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

type BackupPlanIamPolicyMapOutput struct{ *pulumi.OutputState }

func (BackupPlanIamPolicyMapOutput) ElementType

func (BackupPlanIamPolicyMapOutput) MapIndex

func (BackupPlanIamPolicyMapOutput) ToBackupPlanIamPolicyMapOutput

func (o BackupPlanIamPolicyMapOutput) ToBackupPlanIamPolicyMapOutput() BackupPlanIamPolicyMapOutput

func (BackupPlanIamPolicyMapOutput) ToBackupPlanIamPolicyMapOutputWithContext

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

type BackupPlanIamPolicyOutput

type BackupPlanIamPolicyOutput struct{ *pulumi.OutputState }

func (BackupPlanIamPolicyOutput) ElementType

func (BackupPlanIamPolicyOutput) ElementType() reflect.Type

func (BackupPlanIamPolicyOutput) Etag

(Computed) The etag of the IAM policy.

func (BackupPlanIamPolicyOutput) Location

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

func (BackupPlanIamPolicyOutput) Name

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

func (BackupPlanIamPolicyOutput) PolicyData

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

func (BackupPlanIamPolicyOutput) Project

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

func (o BackupPlanIamPolicyOutput) ToBackupPlanIamPolicyOutput() BackupPlanIamPolicyOutput

func (BackupPlanIamPolicyOutput) ToBackupPlanIamPolicyOutputWithContext

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

type BackupPlanIamPolicyState

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

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

func (o BackupPlanOutput) EffectiveLabels() pulumi.StringMapOutput

All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.

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" }.

**Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field `effectiveLabels` for all of the labels present on the resource.

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

func (o BackupPlanOutput) PulumiLabels() pulumi.StringMapOutput

The combination of labels configured directly on the resource and default labels configured on the provider.

func (BackupPlanOutput) RetentionPolicy

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

func (BackupPlanOutput) State

The State of the BackupPlan.

func (BackupPlanOutput) StateReason

func (o BackupPlanOutput) StateReason() pulumi.StringOutput

Detailed description of why BackupPlan is in its current state.

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.
	// If rpoConfig is defined, then this must be
	// <= 360 * targetRpoMinutes/(1440minutes/day)
	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.
	// If rpoConfig is defined, then this must be
	// <= 360 * targetRpoMinutes/(1440minutes/day)
	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. If rpoConfig is defined, then this must be <= 360 * targetRpoMinutes/(1440minutes/day)

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. If rpoConfig is defined, then this must be <= 360 * targetRpoMinutes/(1440minutes/day)

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
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapInput
	// 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" }.
	//
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	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
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapInput
	// RetentionPolicy governs lifecycle of Backups created under this plan.
	// Structure is documented below.
	RetentionPolicy BackupPlanRetentionPolicyPtrInput
	// The State of the BackupPlan.
	State pulumi.StringPtrInput
	// Detailed description of why BackupPlan is in its current state.
	StateReason pulumi.StringPtrInput
	// Server generated, unique identifier of UUID format.
	Uid pulumi.StringPtrInput
}

func (BackupPlanState) ElementType

func (BackupPlanState) ElementType() reflect.Type

type LookupBackupPlanIamPolicyArgs

type LookupBackupPlanIamPolicyArgs struct {
	// The region of the Backup Plan.
	// Used to find the parent resource to bind the IAM policy to
	Location *string `pulumi:"location"`
	// Used to find the parent resource to bind the IAM policy to
	Name string `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 *string `pulumi:"project"`
}

A collection of arguments for invoking getBackupPlanIamPolicy.

type LookupBackupPlanIamPolicyOutputArgs

type LookupBackupPlanIamPolicyOutputArgs struct {
	// The region of the Backup Plan.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput `pulumi:"location"`
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringInput `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.StringPtrInput `pulumi:"project"`
}

A collection of arguments for invoking getBackupPlanIamPolicy.

func (LookupBackupPlanIamPolicyOutputArgs) ElementType

type LookupBackupPlanIamPolicyResult

type LookupBackupPlanIamPolicyResult struct {
	// (Computed) The etag of the IAM policy.
	Etag string `pulumi:"etag"`
	// The provider-assigned unique ID for this managed resource.
	Id       string `pulumi:"id"`
	Location string `pulumi:"location"`
	Name     string `pulumi:"name"`
	// (Required only by `gkebackup.BackupPlanIamPolicy`) The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData string `pulumi:"policyData"`
	Project    string `pulumi:"project"`
}

A collection of values returned by getBackupPlanIamPolicy.

func LookupBackupPlanIamPolicy

func LookupBackupPlanIamPolicy(ctx *pulumi.Context, args *LookupBackupPlanIamPolicyArgs, opts ...pulumi.InvokeOption) (*LookupBackupPlanIamPolicyResult, error)

Retrieves the current IAM policy data for backupplan

## example

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := gkebackup.LookupBackupPlanIamPolicy(ctx, &gkebackup.LookupBackupPlanIamPolicyArgs{
			Project:  pulumi.StringRef(basic.Project),
			Location: pulumi.StringRef(basic.Location),
			Name:     basic.Name,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupBackupPlanIamPolicyResultOutput

type LookupBackupPlanIamPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getBackupPlanIamPolicy.

func (LookupBackupPlanIamPolicyResultOutput) ElementType

func (LookupBackupPlanIamPolicyResultOutput) Etag

(Computed) The etag of the IAM policy.

func (LookupBackupPlanIamPolicyResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupBackupPlanIamPolicyResultOutput) Location

func (LookupBackupPlanIamPolicyResultOutput) Name

func (LookupBackupPlanIamPolicyResultOutput) PolicyData

(Required only by `gkebackup.BackupPlanIamPolicy`) The policy data generated by a `organizations.getIAMPolicy` data source.

func (LookupBackupPlanIamPolicyResultOutput) Project

func (LookupBackupPlanIamPolicyResultOutput) ToLookupBackupPlanIamPolicyResultOutput

func (o LookupBackupPlanIamPolicyResultOutput) ToLookupBackupPlanIamPolicyResultOutput() LookupBackupPlanIamPolicyResultOutput

func (LookupBackupPlanIamPolicyResultOutput) ToLookupBackupPlanIamPolicyResultOutputWithContext

func (o LookupBackupPlanIamPolicyResultOutput) ToLookupBackupPlanIamPolicyResultOutputWithContext(ctx context.Context) LookupBackupPlanIamPolicyResultOutput

type LookupRestorePlanIamPolicyArgs

type LookupRestorePlanIamPolicyArgs struct {
	// The region of the Restore Plan.
	// Used to find the parent resource to bind the IAM policy to
	Location *string `pulumi:"location"`
	// Used to find the parent resource to bind the IAM policy to
	Name string `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 *string `pulumi:"project"`
}

A collection of arguments for invoking getRestorePlanIamPolicy.

type LookupRestorePlanIamPolicyOutputArgs

type LookupRestorePlanIamPolicyOutputArgs struct {
	// The region of the Restore Plan.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput `pulumi:"location"`
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringInput `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.StringPtrInput `pulumi:"project"`
}

A collection of arguments for invoking getRestorePlanIamPolicy.

func (LookupRestorePlanIamPolicyOutputArgs) ElementType

type LookupRestorePlanIamPolicyResult

type LookupRestorePlanIamPolicyResult struct {
	// (Computed) The etag of the IAM policy.
	Etag string `pulumi:"etag"`
	// The provider-assigned unique ID for this managed resource.
	Id       string `pulumi:"id"`
	Location string `pulumi:"location"`
	Name     string `pulumi:"name"`
	// (Required only by `gkebackup.RestorePlanIamPolicy`) The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData string `pulumi:"policyData"`
	Project    string `pulumi:"project"`
}

A collection of values returned by getRestorePlanIamPolicy.

func LookupRestorePlanIamPolicy

func LookupRestorePlanIamPolicy(ctx *pulumi.Context, args *LookupRestorePlanIamPolicyArgs, opts ...pulumi.InvokeOption) (*LookupRestorePlanIamPolicyResult, error)

Retrieves the current IAM policy data for restoreplan

## example

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := gkebackup.LookupRestorePlanIamPolicy(ctx, &gkebackup.LookupRestorePlanIamPolicyArgs{
			Project:  pulumi.StringRef(allNs.Project),
			Location: pulumi.StringRef(allNs.Location),
			Name:     allNs.Name,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupRestorePlanIamPolicyResultOutput

type LookupRestorePlanIamPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getRestorePlanIamPolicy.

func (LookupRestorePlanIamPolicyResultOutput) ElementType

func (LookupRestorePlanIamPolicyResultOutput) Etag

(Computed) The etag of the IAM policy.

func (LookupRestorePlanIamPolicyResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupRestorePlanIamPolicyResultOutput) Location

func (LookupRestorePlanIamPolicyResultOutput) Name

func (LookupRestorePlanIamPolicyResultOutput) PolicyData

(Required only by `gkebackup.RestorePlanIamPolicy`) The policy data generated by a `organizations.getIAMPolicy` data source.

func (LookupRestorePlanIamPolicyResultOutput) Project

func (LookupRestorePlanIamPolicyResultOutput) ToLookupRestorePlanIamPolicyResultOutput

func (o LookupRestorePlanIamPolicyResultOutput) ToLookupRestorePlanIamPolicyResultOutput() LookupRestorePlanIamPolicyResultOutput

func (LookupRestorePlanIamPolicyResultOutput) ToLookupRestorePlanIamPolicyResultOutputWithContext

func (o LookupRestorePlanIamPolicyResultOutput) ToLookupRestorePlanIamPolicyResultOutputWithContext(ctx context.Context) LookupRestorePlanIamPolicyResultOutput

type RestorePlan

type RestorePlan struct {
	pulumi.CustomResourceState

	// A reference to the BackupPlan from which Backups may be used
	// as the source for Restores created via this RestorePlan.
	BackupPlan pulumi.StringOutput `pulumi:"backupPlan"`
	// The source cluster from which Restores will be created via this RestorePlan.
	Cluster pulumi.StringOutput `pulumi:"cluster"`
	// User specified descriptive string for this RestorePlan.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapOutput `pulumi:"effectiveLabels"`
	// Description: A set of custom labels supplied by the user. A list of key->value pairs. Example: { "name": "wrench",
	// "mass": "1.3kg", "count": "3" }. **Note**: This field is non-authoritative, and will only manage the labels present in
	// your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// The region of the Restore Plan.
	Location pulumi.StringOutput `pulumi:"location"`
	// The full name of the BackupPlan Resource.
	Name    pulumi.StringOutput `pulumi:"name"`
	Project pulumi.StringOutput `pulumi:"project"`
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapOutput `pulumi:"pulumiLabels"`
	// Defines the configuration of Restores created via this RestorePlan.
	// Structure is documented below.
	RestoreConfig RestorePlanRestoreConfigOutput `pulumi:"restoreConfig"`
	// The State of the RestorePlan.
	State pulumi.StringOutput `pulumi:"state"`
	// Detailed description of why RestorePlan is in its current state.
	StateReason pulumi.StringOutput `pulumi:"stateReason"`
	// Server generated, unique identifier of UUID format.
	Uid pulumi.StringOutput `pulumi:"uid"`
}

Represents a Restore Plan instance.

To get more information about RestorePlan, see:

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

## Example Usage

### Gkebackup Restoreplan All Namespaces

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:             pulumi.String("restore-all-ns-cluster"),
			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),
				},
			},
			DeletionProtection: pulumi.Bool(""),
			Network:            pulumi.String("default"),
			Subnetwork:         pulumi.String("default"),
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Name:     pulumi.String("restore-all-ns"),
			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
		}
		_, err = gkebackup.NewRestorePlan(ctx, "all_ns", &gkebackup.RestorePlanArgs{
			Name:       pulumi.String("restore-all-ns"),
			Location:   pulumi.String("us-central1"),
			BackupPlan: basic.ID(),
			Cluster:    primary.ID(),
			RestoreConfig: &gkebackup.RestorePlanRestoreConfigArgs{
				AllNamespaces:                 pulumi.Bool(true),
				NamespacedResourceRestoreMode: pulumi.String("FAIL_ON_CONFLICT"),
				VolumeDataRestorePolicy:       pulumi.String("RESTORE_VOLUME_DATA_FROM_BACKUP"),
				ClusterResourceRestoreScope: &gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs{
					AllGroupKinds: pulumi.Bool(true),
				},
				ClusterResourceConflictPolicy: pulumi.String("USE_EXISTING_VERSION"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Gkebackup Restoreplan Rollback Namespace

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:             pulumi.String("rollback-ns-cluster"),
			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),
				},
			},
			DeletionProtection: pulumi.Bool(""),
			Network:            pulumi.String("default"),
			Subnetwork:         pulumi.String("default"),
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Name:     pulumi.String("rollback-ns"),
			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
		}
		_, err = gkebackup.NewRestorePlan(ctx, "rollback_ns", &gkebackup.RestorePlanArgs{
			Name:       pulumi.String("rollback-ns-rp"),
			Location:   pulumi.String("us-central1"),
			BackupPlan: basic.ID(),
			Cluster:    primary.ID(),
			RestoreConfig: &gkebackup.RestorePlanRestoreConfigArgs{
				SelectedNamespaces: &gkebackup.RestorePlanRestoreConfigSelectedNamespacesArgs{
					Namespaces: pulumi.StringArray{
						pulumi.String("my-ns"),
					},
				},
				NamespacedResourceRestoreMode: pulumi.String("DELETE_AND_RESTORE"),
				VolumeDataRestorePolicy:       pulumi.String("RESTORE_VOLUME_DATA_FROM_BACKUP"),
				ClusterResourceRestoreScope: &gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs{
					SelectedGroupKinds: gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArray{
						&gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArgs{
							ResourceGroup: pulumi.String("apiextension.k8s.io"),
							ResourceKind:  pulumi.String("CustomResourceDefinition"),
						},
						&gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArgs{
							ResourceGroup: pulumi.String("storage.k8s.io"),
							ResourceKind:  pulumi.String("StorageClass"),
						},
					},
				},
				ClusterResourceConflictPolicy: pulumi.String("USE_EXISTING_VERSION"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Gkebackup Restoreplan Protected Application

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:             pulumi.String("rollback-app-cluster"),
			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),
				},
			},
			DeletionProtection: pulumi.Bool(""),
			Network:            pulumi.String("default"),
			Subnetwork:         pulumi.String("default"),
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Name:     pulumi.String("rollback-app"),
			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
		}
		_, err = gkebackup.NewRestorePlan(ctx, "rollback_app", &gkebackup.RestorePlanArgs{
			Name:       pulumi.String("rollback-app-rp"),
			Location:   pulumi.String("us-central1"),
			BackupPlan: basic.ID(),
			Cluster:    primary.ID(),
			RestoreConfig: &gkebackup.RestorePlanRestoreConfigArgs{
				SelectedApplications: &gkebackup.RestorePlanRestoreConfigSelectedApplicationsArgs{
					NamespacedNames: gkebackup.RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArray{
						&gkebackup.RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArgs{
							Name:      pulumi.String("my-app"),
							Namespace: pulumi.String("my-ns"),
						},
					},
				},
				NamespacedResourceRestoreMode: pulumi.String("DELETE_AND_RESTORE"),
				VolumeDataRestorePolicy:       pulumi.String("REUSE_VOLUME_HANDLE_FROM_BACKUP"),
				ClusterResourceRestoreScope: &gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs{
					NoGroupKinds: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Gkebackup Restoreplan All Cluster Resources

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:             pulumi.String("all-groupkinds-cluster"),
			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),
				},
			},
			DeletionProtection: pulumi.Bool(""),
			Network:            pulumi.String("default"),
			Subnetwork:         pulumi.String("default"),
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Name:     pulumi.String("all-groupkinds"),
			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
		}
		_, err = gkebackup.NewRestorePlan(ctx, "all_cluster_resources", &gkebackup.RestorePlanArgs{
			Name:       pulumi.String("all-groupkinds-rp"),
			Location:   pulumi.String("us-central1"),
			BackupPlan: basic.ID(),
			Cluster:    primary.ID(),
			RestoreConfig: &gkebackup.RestorePlanRestoreConfigArgs{
				NoNamespaces:                  pulumi.Bool(true),
				NamespacedResourceRestoreMode: pulumi.String("FAIL_ON_CONFLICT"),
				ClusterResourceRestoreScope: &gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs{
					AllGroupKinds: pulumi.Bool(true),
				},
				ClusterResourceConflictPolicy: pulumi.String("USE_EXISTING_VERSION"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Gkebackup Restoreplan Rename Namespace

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:             pulumi.String("rename-ns-cluster"),
			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),
				},
			},
			DeletionProtection: pulumi.Bool(""),
			Network:            pulumi.String("default"),
			Subnetwork:         pulumi.String("default"),
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Name:     pulumi.String("rename-ns"),
			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
		}
		_, err = gkebackup.NewRestorePlan(ctx, "rename_ns", &gkebackup.RestorePlanArgs{
			Name:       pulumi.String("rename-ns-rp"),
			Location:   pulumi.String("us-central1"),
			BackupPlan: basic.ID(),
			Cluster:    primary.ID(),
			RestoreConfig: &gkebackup.RestorePlanRestoreConfigArgs{
				SelectedNamespaces: &gkebackup.RestorePlanRestoreConfigSelectedNamespacesArgs{
					Namespaces: pulumi.StringArray{
						pulumi.String("ns1"),
					},
				},
				NamespacedResourceRestoreMode: pulumi.String("FAIL_ON_CONFLICT"),
				VolumeDataRestorePolicy:       pulumi.String("REUSE_VOLUME_HANDLE_FROM_BACKUP"),
				ClusterResourceRestoreScope: &gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs{
					NoGroupKinds: pulumi.Bool(true),
				},
				TransformationRules: gkebackup.RestorePlanRestoreConfigTransformationRuleArray{
					&gkebackup.RestorePlanRestoreConfigTransformationRuleArgs{
						Description: pulumi.String("rename namespace from ns1 to ns2"),
						ResourceFilter: &gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterArgs{
							GroupKinds: gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArray{
								&gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArgs{
									ResourceKind: pulumi.String("Namespace"),
								},
							},
							JsonPath: pulumi.String(".metadata[?(@.name == 'ns1')]"),
						},
						FieldActions: gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArray{
							&gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArgs{
								Op:    pulumi.String("REPLACE"),
								Path:  pulumi.String("/metadata/name"),
								Value: pulumi.String("ns2"),
							},
						},
					},
					&gkebackup.RestorePlanRestoreConfigTransformationRuleArgs{
						Description: pulumi.String("move all resources from ns1 to ns2"),
						ResourceFilter: &gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterArgs{
							Namespaces: pulumi.StringArray{
								pulumi.String("ns1"),
							},
						},
						FieldActions: gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArray{
							&gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArgs{
								Op:    pulumi.String("REPLACE"),
								Path:  pulumi.String("/metadata/namespace"),
								Value: pulumi.String("ns2"),
							},
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Gkebackup Restoreplan Second Transformation

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:             pulumi.String("transform-rule-cluster"),
			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),
				},
			},
			DeletionProtection: pulumi.Bool(""),
			Network:            pulumi.String("default"),
			Subnetwork:         pulumi.String("default"),
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Name:     pulumi.String("transform-rule"),
			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
		}
		_, err = gkebackup.NewRestorePlan(ctx, "transform_rule", &gkebackup.RestorePlanArgs{
			Name:        pulumi.String("transform-rule-rp"),
			Description: pulumi.String("copy nginx env variables"),
			Labels: pulumi.StringMap{
				"app": pulumi.String("nginx"),
			},
			Location:   pulumi.String("us-central1"),
			BackupPlan: basic.ID(),
			Cluster:    primary.ID(),
			RestoreConfig: &gkebackup.RestorePlanRestoreConfigArgs{
				ExcludedNamespaces: &gkebackup.RestorePlanRestoreConfigExcludedNamespacesArgs{
					Namespaces: pulumi.StringArray{
						pulumi.String("my-ns"),
					},
				},
				NamespacedResourceRestoreMode: pulumi.String("DELETE_AND_RESTORE"),
				VolumeDataRestorePolicy:       pulumi.String("RESTORE_VOLUME_DATA_FROM_BACKUP"),
				ClusterResourceRestoreScope: &gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs{
					ExcludedGroupKinds: gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArray{
						&gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArgs{
							ResourceGroup: pulumi.String("apiextension.k8s.io"),
							ResourceKind:  pulumi.String("CustomResourceDefinition"),
						},
					},
				},
				ClusterResourceConflictPolicy: pulumi.String("USE_EXISTING_VERSION"),
				TransformationRules: gkebackup.RestorePlanRestoreConfigTransformationRuleArray{
					&gkebackup.RestorePlanRestoreConfigTransformationRuleArgs{
						Description: pulumi.String("Copy environment variables from the nginx container to the install init container."),
						ResourceFilter: &gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterArgs{
							GroupKinds: gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArray{
								&gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArgs{
									ResourceKind:  pulumi.String("Pod"),
									ResourceGroup: pulumi.String(""),
								},
							},
							JsonPath: pulumi.String(".metadata[?(@.name == 'nginx')]"),
						},
						FieldActions: gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArray{
							&gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArgs{
								Op:       pulumi.String("COPY"),
								Path:     pulumi.String("/spec/initContainers/0/env"),
								FromPath: pulumi.String("/spec/containers/0/env"),
							},
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

RestorePlan can be imported using any of these accepted formats:

* `projects/{{project}}/locations/{{location}}/restorePlans/{{name}}`

* `{{project}}/{{location}}/{{name}}`

* `{{location}}/{{name}}`

When using the `pulumi import` command, RestorePlan can be imported using one of the formats above. For example:

```sh $ pulumi import gcp:gkebackup/restorePlan:RestorePlan default projects/{{project}}/locations/{{location}}/restorePlans/{{name}} ```

```sh $ pulumi import gcp:gkebackup/restorePlan:RestorePlan default {{project}}/{{location}}/{{name}} ```

```sh $ pulumi import gcp:gkebackup/restorePlan:RestorePlan default {{location}}/{{name}} ```

func GetRestorePlan

func GetRestorePlan(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RestorePlanState, opts ...pulumi.ResourceOption) (*RestorePlan, error)

GetRestorePlan gets an existing RestorePlan 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 NewRestorePlan

func NewRestorePlan(ctx *pulumi.Context,
	name string, args *RestorePlanArgs, opts ...pulumi.ResourceOption) (*RestorePlan, error)

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

func (*RestorePlan) ElementType

func (*RestorePlan) ElementType() reflect.Type

func (*RestorePlan) ToRestorePlanOutput

func (i *RestorePlan) ToRestorePlanOutput() RestorePlanOutput

func (*RestorePlan) ToRestorePlanOutputWithContext

func (i *RestorePlan) ToRestorePlanOutputWithContext(ctx context.Context) RestorePlanOutput

type RestorePlanArgs

type RestorePlanArgs struct {
	// A reference to the BackupPlan from which Backups may be used
	// as the source for Restores created via this RestorePlan.
	BackupPlan pulumi.StringInput
	// The source cluster from which Restores will be created via this RestorePlan.
	Cluster pulumi.StringInput
	// User specified descriptive string for this RestorePlan.
	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" }. **Note**: This field is non-authoritative, and will only manage the labels present in
	// your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
	Labels pulumi.StringMapInput
	// The region of the Restore Plan.
	Location pulumi.StringInput
	// The full name of the BackupPlan Resource.
	Name    pulumi.StringPtrInput
	Project pulumi.StringPtrInput
	// Defines the configuration of Restores created via this RestorePlan.
	// Structure is documented below.
	RestoreConfig RestorePlanRestoreConfigInput
}

The set of arguments for constructing a RestorePlan resource.

func (RestorePlanArgs) ElementType

func (RestorePlanArgs) ElementType() reflect.Type

type RestorePlanArray

type RestorePlanArray []RestorePlanInput

func (RestorePlanArray) ElementType

func (RestorePlanArray) ElementType() reflect.Type

func (RestorePlanArray) ToRestorePlanArrayOutput

func (i RestorePlanArray) ToRestorePlanArrayOutput() RestorePlanArrayOutput

func (RestorePlanArray) ToRestorePlanArrayOutputWithContext

func (i RestorePlanArray) ToRestorePlanArrayOutputWithContext(ctx context.Context) RestorePlanArrayOutput

type RestorePlanArrayInput

type RestorePlanArrayInput interface {
	pulumi.Input

	ToRestorePlanArrayOutput() RestorePlanArrayOutput
	ToRestorePlanArrayOutputWithContext(context.Context) RestorePlanArrayOutput
}

RestorePlanArrayInput is an input type that accepts RestorePlanArray and RestorePlanArrayOutput values. You can construct a concrete instance of `RestorePlanArrayInput` via:

RestorePlanArray{ RestorePlanArgs{...} }

type RestorePlanArrayOutput

type RestorePlanArrayOutput struct{ *pulumi.OutputState }

func (RestorePlanArrayOutput) ElementType

func (RestorePlanArrayOutput) ElementType() reflect.Type

func (RestorePlanArrayOutput) Index

func (RestorePlanArrayOutput) ToRestorePlanArrayOutput

func (o RestorePlanArrayOutput) ToRestorePlanArrayOutput() RestorePlanArrayOutput

func (RestorePlanArrayOutput) ToRestorePlanArrayOutputWithContext

func (o RestorePlanArrayOutput) ToRestorePlanArrayOutputWithContext(ctx context.Context) RestorePlanArrayOutput

type RestorePlanIamBinding

type RestorePlanIamBinding struct {
	pulumi.CustomResourceState

	Condition RestorePlanIamBindingConditionPtrOutput `pulumi:"condition"`
	Etag      pulumi.StringOutput                     `pulumi:"etag"`
	// The region of the Restore Plan.
	Location pulumi.StringOutput      `pulumi:"location"`
	Members  pulumi.StringArrayOutput `pulumi:"members"`
	// The full name of the BackupPlan Resource.
	Name    pulumi.StringOutput `pulumi:"name"`
	Project pulumi.StringOutput `pulumi:"project"`
	Role    pulumi.StringOutput `pulumi:"role"`
}

Represents a Restore Plan instance.

To get more information about RestorePlan, see:

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

## Example Usage

### Gkebackup Restoreplan All Namespaces

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:             pulumi.String("restore-all-ns-cluster"),
			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),
				},
			},
			DeletionProtection: pulumi.Bool(""),
			Network:            pulumi.String("default"),
			Subnetwork:         pulumi.String("default"),
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Name:     pulumi.String("restore-all-ns"),
			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
		}
		_, err = gkebackup.NewRestorePlan(ctx, "all_ns", &gkebackup.RestorePlanArgs{
			Name:       pulumi.String("restore-all-ns"),
			Location:   pulumi.String("us-central1"),
			BackupPlan: basic.ID(),
			Cluster:    primary.ID(),
			RestoreConfig: &gkebackup.RestorePlanRestoreConfigArgs{
				AllNamespaces:                 pulumi.Bool(true),
				NamespacedResourceRestoreMode: pulumi.String("FAIL_ON_CONFLICT"),
				VolumeDataRestorePolicy:       pulumi.String("RESTORE_VOLUME_DATA_FROM_BACKUP"),
				ClusterResourceRestoreScope: &gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs{
					AllGroupKinds: pulumi.Bool(true),
				},
				ClusterResourceConflictPolicy: pulumi.String("USE_EXISTING_VERSION"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Gkebackup Restoreplan Rollback Namespace

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:             pulumi.String("rollback-ns-cluster"),
			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),
				},
			},
			DeletionProtection: pulumi.Bool(""),
			Network:            pulumi.String("default"),
			Subnetwork:         pulumi.String("default"),
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Name:     pulumi.String("rollback-ns"),
			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
		}
		_, err = gkebackup.NewRestorePlan(ctx, "rollback_ns", &gkebackup.RestorePlanArgs{
			Name:       pulumi.String("rollback-ns-rp"),
			Location:   pulumi.String("us-central1"),
			BackupPlan: basic.ID(),
			Cluster:    primary.ID(),
			RestoreConfig: &gkebackup.RestorePlanRestoreConfigArgs{
				SelectedNamespaces: &gkebackup.RestorePlanRestoreConfigSelectedNamespacesArgs{
					Namespaces: pulumi.StringArray{
						pulumi.String("my-ns"),
					},
				},
				NamespacedResourceRestoreMode: pulumi.String("DELETE_AND_RESTORE"),
				VolumeDataRestorePolicy:       pulumi.String("RESTORE_VOLUME_DATA_FROM_BACKUP"),
				ClusterResourceRestoreScope: &gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs{
					SelectedGroupKinds: gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArray{
						&gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArgs{
							ResourceGroup: pulumi.String("apiextension.k8s.io"),
							ResourceKind:  pulumi.String("CustomResourceDefinition"),
						},
						&gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArgs{
							ResourceGroup: pulumi.String("storage.k8s.io"),
							ResourceKind:  pulumi.String("StorageClass"),
						},
					},
				},
				ClusterResourceConflictPolicy: pulumi.String("USE_EXISTING_VERSION"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Gkebackup Restoreplan Protected Application

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:             pulumi.String("rollback-app-cluster"),
			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),
				},
			},
			DeletionProtection: pulumi.Bool(""),
			Network:            pulumi.String("default"),
			Subnetwork:         pulumi.String("default"),
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Name:     pulumi.String("rollback-app"),
			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
		}
		_, err = gkebackup.NewRestorePlan(ctx, "rollback_app", &gkebackup.RestorePlanArgs{
			Name:       pulumi.String("rollback-app-rp"),
			Location:   pulumi.String("us-central1"),
			BackupPlan: basic.ID(),
			Cluster:    primary.ID(),
			RestoreConfig: &gkebackup.RestorePlanRestoreConfigArgs{
				SelectedApplications: &gkebackup.RestorePlanRestoreConfigSelectedApplicationsArgs{
					NamespacedNames: gkebackup.RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArray{
						&gkebackup.RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArgs{
							Name:      pulumi.String("my-app"),
							Namespace: pulumi.String("my-ns"),
						},
					},
				},
				NamespacedResourceRestoreMode: pulumi.String("DELETE_AND_RESTORE"),
				VolumeDataRestorePolicy:       pulumi.String("REUSE_VOLUME_HANDLE_FROM_BACKUP"),
				ClusterResourceRestoreScope: &gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs{
					NoGroupKinds: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Gkebackup Restoreplan All Cluster Resources

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:             pulumi.String("all-groupkinds-cluster"),
			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),
				},
			},
			DeletionProtection: pulumi.Bool(""),
			Network:            pulumi.String("default"),
			Subnetwork:         pulumi.String("default"),
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Name:     pulumi.String("all-groupkinds"),
			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
		}
		_, err = gkebackup.NewRestorePlan(ctx, "all_cluster_resources", &gkebackup.RestorePlanArgs{
			Name:       pulumi.String("all-groupkinds-rp"),
			Location:   pulumi.String("us-central1"),
			BackupPlan: basic.ID(),
			Cluster:    primary.ID(),
			RestoreConfig: &gkebackup.RestorePlanRestoreConfigArgs{
				NoNamespaces:                  pulumi.Bool(true),
				NamespacedResourceRestoreMode: pulumi.String("FAIL_ON_CONFLICT"),
				ClusterResourceRestoreScope: &gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs{
					AllGroupKinds: pulumi.Bool(true),
				},
				ClusterResourceConflictPolicy: pulumi.String("USE_EXISTING_VERSION"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Gkebackup Restoreplan Rename Namespace

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:             pulumi.String("rename-ns-cluster"),
			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),
				},
			},
			DeletionProtection: pulumi.Bool(""),
			Network:            pulumi.String("default"),
			Subnetwork:         pulumi.String("default"),
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Name:     pulumi.String("rename-ns"),
			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
		}
		_, err = gkebackup.NewRestorePlan(ctx, "rename_ns", &gkebackup.RestorePlanArgs{
			Name:       pulumi.String("rename-ns-rp"),
			Location:   pulumi.String("us-central1"),
			BackupPlan: basic.ID(),
			Cluster:    primary.ID(),
			RestoreConfig: &gkebackup.RestorePlanRestoreConfigArgs{
				SelectedNamespaces: &gkebackup.RestorePlanRestoreConfigSelectedNamespacesArgs{
					Namespaces: pulumi.StringArray{
						pulumi.String("ns1"),
					},
				},
				NamespacedResourceRestoreMode: pulumi.String("FAIL_ON_CONFLICT"),
				VolumeDataRestorePolicy:       pulumi.String("REUSE_VOLUME_HANDLE_FROM_BACKUP"),
				ClusterResourceRestoreScope: &gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs{
					NoGroupKinds: pulumi.Bool(true),
				},
				TransformationRules: gkebackup.RestorePlanRestoreConfigTransformationRuleArray{
					&gkebackup.RestorePlanRestoreConfigTransformationRuleArgs{
						Description: pulumi.String("rename namespace from ns1 to ns2"),
						ResourceFilter: &gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterArgs{
							GroupKinds: gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArray{
								&gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArgs{
									ResourceKind: pulumi.String("Namespace"),
								},
							},
							JsonPath: pulumi.String(".metadata[?(@.name == 'ns1')]"),
						},
						FieldActions: gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArray{
							&gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArgs{
								Op:    pulumi.String("REPLACE"),
								Path:  pulumi.String("/metadata/name"),
								Value: pulumi.String("ns2"),
							},
						},
					},
					&gkebackup.RestorePlanRestoreConfigTransformationRuleArgs{
						Description: pulumi.String("move all resources from ns1 to ns2"),
						ResourceFilter: &gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterArgs{
							Namespaces: pulumi.StringArray{
								pulumi.String("ns1"),
							},
						},
						FieldActions: gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArray{
							&gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArgs{
								Op:    pulumi.String("REPLACE"),
								Path:  pulumi.String("/metadata/namespace"),
								Value: pulumi.String("ns2"),
							},
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Gkebackup Restoreplan Second Transformation

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:             pulumi.String("transform-rule-cluster"),
			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),
				},
			},
			DeletionProtection: pulumi.Bool(""),
			Network:            pulumi.String("default"),
			Subnetwork:         pulumi.String("default"),
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Name:     pulumi.String("transform-rule"),
			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
		}
		_, err = gkebackup.NewRestorePlan(ctx, "transform_rule", &gkebackup.RestorePlanArgs{
			Name:        pulumi.String("transform-rule-rp"),
			Description: pulumi.String("copy nginx env variables"),
			Labels: pulumi.StringMap{
				"app": pulumi.String("nginx"),
			},
			Location:   pulumi.String("us-central1"),
			BackupPlan: basic.ID(),
			Cluster:    primary.ID(),
			RestoreConfig: &gkebackup.RestorePlanRestoreConfigArgs{
				ExcludedNamespaces: &gkebackup.RestorePlanRestoreConfigExcludedNamespacesArgs{
					Namespaces: pulumi.StringArray{
						pulumi.String("my-ns"),
					},
				},
				NamespacedResourceRestoreMode: pulumi.String("DELETE_AND_RESTORE"),
				VolumeDataRestorePolicy:       pulumi.String("RESTORE_VOLUME_DATA_FROM_BACKUP"),
				ClusterResourceRestoreScope: &gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs{
					ExcludedGroupKinds: gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArray{
						&gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArgs{
							ResourceGroup: pulumi.String("apiextension.k8s.io"),
							ResourceKind:  pulumi.String("CustomResourceDefinition"),
						},
					},
				},
				ClusterResourceConflictPolicy: pulumi.String("USE_EXISTING_VERSION"),
				TransformationRules: gkebackup.RestorePlanRestoreConfigTransformationRuleArray{
					&gkebackup.RestorePlanRestoreConfigTransformationRuleArgs{
						Description: pulumi.String("Copy environment variables from the nginx container to the install init container."),
						ResourceFilter: &gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterArgs{
							GroupKinds: gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArray{
								&gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArgs{
									ResourceKind:  pulumi.String("Pod"),
									ResourceGroup: pulumi.String(""),
								},
							},
							JsonPath: pulumi.String(".metadata[?(@.name == 'nginx')]"),
						},
						FieldActions: gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArray{
							&gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArgs{
								Op:       pulumi.String("COPY"),
								Path:     pulumi.String("/spec/initContainers/0/env"),
								FromPath: pulumi.String("/spec/containers/0/env"),
							},
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

RestorePlan can be imported using any of these accepted formats:

* `projects/{{project}}/locations/{{location}}/restorePlans/{{name}}`

* `{{project}}/{{location}}/{{name}}`

* `{{location}}/{{name}}`

When using the `pulumi import` command, RestorePlan can be imported using one of the formats above. For example:

```sh $ pulumi import gcp:gkebackup/restorePlanIamBinding:RestorePlanIamBinding default projects/{{project}}/locations/{{location}}/restorePlans/{{name}} ```

```sh $ pulumi import gcp:gkebackup/restorePlanIamBinding:RestorePlanIamBinding default {{project}}/{{location}}/{{name}} ```

```sh $ pulumi import gcp:gkebackup/restorePlanIamBinding:RestorePlanIamBinding default {{location}}/{{name}} ```

func GetRestorePlanIamBinding

func GetRestorePlanIamBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RestorePlanIamBindingState, opts ...pulumi.ResourceOption) (*RestorePlanIamBinding, error)

GetRestorePlanIamBinding gets an existing RestorePlanIamBinding 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 NewRestorePlanIamBinding

func NewRestorePlanIamBinding(ctx *pulumi.Context,
	name string, args *RestorePlanIamBindingArgs, opts ...pulumi.ResourceOption) (*RestorePlanIamBinding, error)

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

func (*RestorePlanIamBinding) ElementType

func (*RestorePlanIamBinding) ElementType() reflect.Type

func (*RestorePlanIamBinding) ToRestorePlanIamBindingOutput

func (i *RestorePlanIamBinding) ToRestorePlanIamBindingOutput() RestorePlanIamBindingOutput

func (*RestorePlanIamBinding) ToRestorePlanIamBindingOutputWithContext

func (i *RestorePlanIamBinding) ToRestorePlanIamBindingOutputWithContext(ctx context.Context) RestorePlanIamBindingOutput

type RestorePlanIamBindingArgs

type RestorePlanIamBindingArgs struct {
	Condition RestorePlanIamBindingConditionPtrInput
	// The region of the Restore Plan.
	Location pulumi.StringPtrInput
	Members  pulumi.StringArrayInput
	// The full name of the BackupPlan Resource.
	Name    pulumi.StringPtrInput
	Project pulumi.StringPtrInput
	Role    pulumi.StringInput
}

The set of arguments for constructing a RestorePlanIamBinding resource.

func (RestorePlanIamBindingArgs) ElementType

func (RestorePlanIamBindingArgs) ElementType() reflect.Type

type RestorePlanIamBindingArray

type RestorePlanIamBindingArray []RestorePlanIamBindingInput

func (RestorePlanIamBindingArray) ElementType

func (RestorePlanIamBindingArray) ElementType() reflect.Type

func (RestorePlanIamBindingArray) ToRestorePlanIamBindingArrayOutput

func (i RestorePlanIamBindingArray) ToRestorePlanIamBindingArrayOutput() RestorePlanIamBindingArrayOutput

func (RestorePlanIamBindingArray) ToRestorePlanIamBindingArrayOutputWithContext

func (i RestorePlanIamBindingArray) ToRestorePlanIamBindingArrayOutputWithContext(ctx context.Context) RestorePlanIamBindingArrayOutput

type RestorePlanIamBindingArrayInput

type RestorePlanIamBindingArrayInput interface {
	pulumi.Input

	ToRestorePlanIamBindingArrayOutput() RestorePlanIamBindingArrayOutput
	ToRestorePlanIamBindingArrayOutputWithContext(context.Context) RestorePlanIamBindingArrayOutput
}

RestorePlanIamBindingArrayInput is an input type that accepts RestorePlanIamBindingArray and RestorePlanIamBindingArrayOutput values. You can construct a concrete instance of `RestorePlanIamBindingArrayInput` via:

RestorePlanIamBindingArray{ RestorePlanIamBindingArgs{...} }

type RestorePlanIamBindingArrayOutput

type RestorePlanIamBindingArrayOutput struct{ *pulumi.OutputState }

func (RestorePlanIamBindingArrayOutput) ElementType

func (RestorePlanIamBindingArrayOutput) Index

func (RestorePlanIamBindingArrayOutput) ToRestorePlanIamBindingArrayOutput

func (o RestorePlanIamBindingArrayOutput) ToRestorePlanIamBindingArrayOutput() RestorePlanIamBindingArrayOutput

func (RestorePlanIamBindingArrayOutput) ToRestorePlanIamBindingArrayOutputWithContext

func (o RestorePlanIamBindingArrayOutput) ToRestorePlanIamBindingArrayOutputWithContext(ctx context.Context) RestorePlanIamBindingArrayOutput

type RestorePlanIamBindingCondition

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

type RestorePlanIamBindingConditionArgs

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

func (RestorePlanIamBindingConditionArgs) ElementType

func (RestorePlanIamBindingConditionArgs) ToRestorePlanIamBindingConditionOutput

func (i RestorePlanIamBindingConditionArgs) ToRestorePlanIamBindingConditionOutput() RestorePlanIamBindingConditionOutput

func (RestorePlanIamBindingConditionArgs) ToRestorePlanIamBindingConditionOutputWithContext

func (i RestorePlanIamBindingConditionArgs) ToRestorePlanIamBindingConditionOutputWithContext(ctx context.Context) RestorePlanIamBindingConditionOutput

func (RestorePlanIamBindingConditionArgs) ToRestorePlanIamBindingConditionPtrOutput

func (i RestorePlanIamBindingConditionArgs) ToRestorePlanIamBindingConditionPtrOutput() RestorePlanIamBindingConditionPtrOutput

func (RestorePlanIamBindingConditionArgs) ToRestorePlanIamBindingConditionPtrOutputWithContext

func (i RestorePlanIamBindingConditionArgs) ToRestorePlanIamBindingConditionPtrOutputWithContext(ctx context.Context) RestorePlanIamBindingConditionPtrOutput

type RestorePlanIamBindingConditionInput

type RestorePlanIamBindingConditionInput interface {
	pulumi.Input

	ToRestorePlanIamBindingConditionOutput() RestorePlanIamBindingConditionOutput
	ToRestorePlanIamBindingConditionOutputWithContext(context.Context) RestorePlanIamBindingConditionOutput
}

RestorePlanIamBindingConditionInput is an input type that accepts RestorePlanIamBindingConditionArgs and RestorePlanIamBindingConditionOutput values. You can construct a concrete instance of `RestorePlanIamBindingConditionInput` via:

RestorePlanIamBindingConditionArgs{...}

type RestorePlanIamBindingConditionOutput

type RestorePlanIamBindingConditionOutput struct{ *pulumi.OutputState }

func (RestorePlanIamBindingConditionOutput) Description

func (RestorePlanIamBindingConditionOutput) ElementType

func (RestorePlanIamBindingConditionOutput) Expression

func (RestorePlanIamBindingConditionOutput) Title

func (RestorePlanIamBindingConditionOutput) ToRestorePlanIamBindingConditionOutput

func (o RestorePlanIamBindingConditionOutput) ToRestorePlanIamBindingConditionOutput() RestorePlanIamBindingConditionOutput

func (RestorePlanIamBindingConditionOutput) ToRestorePlanIamBindingConditionOutputWithContext

func (o RestorePlanIamBindingConditionOutput) ToRestorePlanIamBindingConditionOutputWithContext(ctx context.Context) RestorePlanIamBindingConditionOutput

func (RestorePlanIamBindingConditionOutput) ToRestorePlanIamBindingConditionPtrOutput

func (o RestorePlanIamBindingConditionOutput) ToRestorePlanIamBindingConditionPtrOutput() RestorePlanIamBindingConditionPtrOutput

func (RestorePlanIamBindingConditionOutput) ToRestorePlanIamBindingConditionPtrOutputWithContext

func (o RestorePlanIamBindingConditionOutput) ToRestorePlanIamBindingConditionPtrOutputWithContext(ctx context.Context) RestorePlanIamBindingConditionPtrOutput

type RestorePlanIamBindingConditionPtrInput

type RestorePlanIamBindingConditionPtrInput interface {
	pulumi.Input

	ToRestorePlanIamBindingConditionPtrOutput() RestorePlanIamBindingConditionPtrOutput
	ToRestorePlanIamBindingConditionPtrOutputWithContext(context.Context) RestorePlanIamBindingConditionPtrOutput
}

RestorePlanIamBindingConditionPtrInput is an input type that accepts RestorePlanIamBindingConditionArgs, RestorePlanIamBindingConditionPtr and RestorePlanIamBindingConditionPtrOutput values. You can construct a concrete instance of `RestorePlanIamBindingConditionPtrInput` via:

        RestorePlanIamBindingConditionArgs{...}

or:

        nil

type RestorePlanIamBindingConditionPtrOutput

type RestorePlanIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (RestorePlanIamBindingConditionPtrOutput) Description

func (RestorePlanIamBindingConditionPtrOutput) Elem

func (RestorePlanIamBindingConditionPtrOutput) ElementType

func (RestorePlanIamBindingConditionPtrOutput) Expression

func (RestorePlanIamBindingConditionPtrOutput) Title

func (RestorePlanIamBindingConditionPtrOutput) ToRestorePlanIamBindingConditionPtrOutput

func (o RestorePlanIamBindingConditionPtrOutput) ToRestorePlanIamBindingConditionPtrOutput() RestorePlanIamBindingConditionPtrOutput

func (RestorePlanIamBindingConditionPtrOutput) ToRestorePlanIamBindingConditionPtrOutputWithContext

func (o RestorePlanIamBindingConditionPtrOutput) ToRestorePlanIamBindingConditionPtrOutputWithContext(ctx context.Context) RestorePlanIamBindingConditionPtrOutput

type RestorePlanIamBindingInput

type RestorePlanIamBindingInput interface {
	pulumi.Input

	ToRestorePlanIamBindingOutput() RestorePlanIamBindingOutput
	ToRestorePlanIamBindingOutputWithContext(ctx context.Context) RestorePlanIamBindingOutput
}

type RestorePlanIamBindingMap

type RestorePlanIamBindingMap map[string]RestorePlanIamBindingInput

func (RestorePlanIamBindingMap) ElementType

func (RestorePlanIamBindingMap) ElementType() reflect.Type

func (RestorePlanIamBindingMap) ToRestorePlanIamBindingMapOutput

func (i RestorePlanIamBindingMap) ToRestorePlanIamBindingMapOutput() RestorePlanIamBindingMapOutput

func (RestorePlanIamBindingMap) ToRestorePlanIamBindingMapOutputWithContext

func (i RestorePlanIamBindingMap) ToRestorePlanIamBindingMapOutputWithContext(ctx context.Context) RestorePlanIamBindingMapOutput

type RestorePlanIamBindingMapInput

type RestorePlanIamBindingMapInput interface {
	pulumi.Input

	ToRestorePlanIamBindingMapOutput() RestorePlanIamBindingMapOutput
	ToRestorePlanIamBindingMapOutputWithContext(context.Context) RestorePlanIamBindingMapOutput
}

RestorePlanIamBindingMapInput is an input type that accepts RestorePlanIamBindingMap and RestorePlanIamBindingMapOutput values. You can construct a concrete instance of `RestorePlanIamBindingMapInput` via:

RestorePlanIamBindingMap{ "key": RestorePlanIamBindingArgs{...} }

type RestorePlanIamBindingMapOutput

type RestorePlanIamBindingMapOutput struct{ *pulumi.OutputState }

func (RestorePlanIamBindingMapOutput) ElementType

func (RestorePlanIamBindingMapOutput) MapIndex

func (RestorePlanIamBindingMapOutput) ToRestorePlanIamBindingMapOutput

func (o RestorePlanIamBindingMapOutput) ToRestorePlanIamBindingMapOutput() RestorePlanIamBindingMapOutput

func (RestorePlanIamBindingMapOutput) ToRestorePlanIamBindingMapOutputWithContext

func (o RestorePlanIamBindingMapOutput) ToRestorePlanIamBindingMapOutputWithContext(ctx context.Context) RestorePlanIamBindingMapOutput

type RestorePlanIamBindingOutput

type RestorePlanIamBindingOutput struct{ *pulumi.OutputState }

func (RestorePlanIamBindingOutput) Condition

func (RestorePlanIamBindingOutput) ElementType

func (RestorePlanIamBindingOutput) Etag

func (RestorePlanIamBindingOutput) Location

The region of the Restore Plan.

func (RestorePlanIamBindingOutput) Members

func (RestorePlanIamBindingOutput) Name

The full name of the BackupPlan Resource.

func (RestorePlanIamBindingOutput) Project

func (RestorePlanIamBindingOutput) Role

func (RestorePlanIamBindingOutput) ToRestorePlanIamBindingOutput

func (o RestorePlanIamBindingOutput) ToRestorePlanIamBindingOutput() RestorePlanIamBindingOutput

func (RestorePlanIamBindingOutput) ToRestorePlanIamBindingOutputWithContext

func (o RestorePlanIamBindingOutput) ToRestorePlanIamBindingOutputWithContext(ctx context.Context) RestorePlanIamBindingOutput

type RestorePlanIamBindingState

type RestorePlanIamBindingState struct {
	Condition RestorePlanIamBindingConditionPtrInput
	Etag      pulumi.StringPtrInput
	// The region of the Restore Plan.
	Location pulumi.StringPtrInput
	Members  pulumi.StringArrayInput
	// The full name of the BackupPlan Resource.
	Name    pulumi.StringPtrInput
	Project pulumi.StringPtrInput
	Role    pulumi.StringPtrInput
}

func (RestorePlanIamBindingState) ElementType

func (RestorePlanIamBindingState) ElementType() reflect.Type

type RestorePlanIamMember

type RestorePlanIamMember struct {
	pulumi.CustomResourceState

	Condition RestorePlanIamMemberConditionPtrOutput `pulumi:"condition"`
	Etag      pulumi.StringOutput                    `pulumi:"etag"`
	// The region of the Restore Plan.
	Location pulumi.StringOutput `pulumi:"location"`
	Member   pulumi.StringOutput `pulumi:"member"`
	// The full name of the BackupPlan Resource.
	Name    pulumi.StringOutput `pulumi:"name"`
	Project pulumi.StringOutput `pulumi:"project"`
	Role    pulumi.StringOutput `pulumi:"role"`
}

Represents a Restore Plan instance.

To get more information about RestorePlan, see:

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

## Example Usage

### Gkebackup Restoreplan All Namespaces

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:             pulumi.String("restore-all-ns-cluster"),
			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),
				},
			},
			DeletionProtection: pulumi.Bool(""),
			Network:            pulumi.String("default"),
			Subnetwork:         pulumi.String("default"),
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Name:     pulumi.String("restore-all-ns"),
			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
		}
		_, err = gkebackup.NewRestorePlan(ctx, "all_ns", &gkebackup.RestorePlanArgs{
			Name:       pulumi.String("restore-all-ns"),
			Location:   pulumi.String("us-central1"),
			BackupPlan: basic.ID(),
			Cluster:    primary.ID(),
			RestoreConfig: &gkebackup.RestorePlanRestoreConfigArgs{
				AllNamespaces:                 pulumi.Bool(true),
				NamespacedResourceRestoreMode: pulumi.String("FAIL_ON_CONFLICT"),
				VolumeDataRestorePolicy:       pulumi.String("RESTORE_VOLUME_DATA_FROM_BACKUP"),
				ClusterResourceRestoreScope: &gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs{
					AllGroupKinds: pulumi.Bool(true),
				},
				ClusterResourceConflictPolicy: pulumi.String("USE_EXISTING_VERSION"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Gkebackup Restoreplan Rollback Namespace

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:             pulumi.String("rollback-ns-cluster"),
			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),
				},
			},
			DeletionProtection: pulumi.Bool(""),
			Network:            pulumi.String("default"),
			Subnetwork:         pulumi.String("default"),
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Name:     pulumi.String("rollback-ns"),
			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
		}
		_, err = gkebackup.NewRestorePlan(ctx, "rollback_ns", &gkebackup.RestorePlanArgs{
			Name:       pulumi.String("rollback-ns-rp"),
			Location:   pulumi.String("us-central1"),
			BackupPlan: basic.ID(),
			Cluster:    primary.ID(),
			RestoreConfig: &gkebackup.RestorePlanRestoreConfigArgs{
				SelectedNamespaces: &gkebackup.RestorePlanRestoreConfigSelectedNamespacesArgs{
					Namespaces: pulumi.StringArray{
						pulumi.String("my-ns"),
					},
				},
				NamespacedResourceRestoreMode: pulumi.String("DELETE_AND_RESTORE"),
				VolumeDataRestorePolicy:       pulumi.String("RESTORE_VOLUME_DATA_FROM_BACKUP"),
				ClusterResourceRestoreScope: &gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs{
					SelectedGroupKinds: gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArray{
						&gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArgs{
							ResourceGroup: pulumi.String("apiextension.k8s.io"),
							ResourceKind:  pulumi.String("CustomResourceDefinition"),
						},
						&gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArgs{
							ResourceGroup: pulumi.String("storage.k8s.io"),
							ResourceKind:  pulumi.String("StorageClass"),
						},
					},
				},
				ClusterResourceConflictPolicy: pulumi.String("USE_EXISTING_VERSION"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Gkebackup Restoreplan Protected Application

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:             pulumi.String("rollback-app-cluster"),
			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),
				},
			},
			DeletionProtection: pulumi.Bool(""),
			Network:            pulumi.String("default"),
			Subnetwork:         pulumi.String("default"),
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Name:     pulumi.String("rollback-app"),
			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
		}
		_, err = gkebackup.NewRestorePlan(ctx, "rollback_app", &gkebackup.RestorePlanArgs{
			Name:       pulumi.String("rollback-app-rp"),
			Location:   pulumi.String("us-central1"),
			BackupPlan: basic.ID(),
			Cluster:    primary.ID(),
			RestoreConfig: &gkebackup.RestorePlanRestoreConfigArgs{
				SelectedApplications: &gkebackup.RestorePlanRestoreConfigSelectedApplicationsArgs{
					NamespacedNames: gkebackup.RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArray{
						&gkebackup.RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArgs{
							Name:      pulumi.String("my-app"),
							Namespace: pulumi.String("my-ns"),
						},
					},
				},
				NamespacedResourceRestoreMode: pulumi.String("DELETE_AND_RESTORE"),
				VolumeDataRestorePolicy:       pulumi.String("REUSE_VOLUME_HANDLE_FROM_BACKUP"),
				ClusterResourceRestoreScope: &gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs{
					NoGroupKinds: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Gkebackup Restoreplan All Cluster Resources

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:             pulumi.String("all-groupkinds-cluster"),
			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),
				},
			},
			DeletionProtection: pulumi.Bool(""),
			Network:            pulumi.String("default"),
			Subnetwork:         pulumi.String("default"),
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Name:     pulumi.String("all-groupkinds"),
			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
		}
		_, err = gkebackup.NewRestorePlan(ctx, "all_cluster_resources", &gkebackup.RestorePlanArgs{
			Name:       pulumi.String("all-groupkinds-rp"),
			Location:   pulumi.String("us-central1"),
			BackupPlan: basic.ID(),
			Cluster:    primary.ID(),
			RestoreConfig: &gkebackup.RestorePlanRestoreConfigArgs{
				NoNamespaces:                  pulumi.Bool(true),
				NamespacedResourceRestoreMode: pulumi.String("FAIL_ON_CONFLICT"),
				ClusterResourceRestoreScope: &gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs{
					AllGroupKinds: pulumi.Bool(true),
				},
				ClusterResourceConflictPolicy: pulumi.String("USE_EXISTING_VERSION"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Gkebackup Restoreplan Rename Namespace

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:             pulumi.String("rename-ns-cluster"),
			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),
				},
			},
			DeletionProtection: pulumi.Bool(""),
			Network:            pulumi.String("default"),
			Subnetwork:         pulumi.String("default"),
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Name:     pulumi.String("rename-ns"),
			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
		}
		_, err = gkebackup.NewRestorePlan(ctx, "rename_ns", &gkebackup.RestorePlanArgs{
			Name:       pulumi.String("rename-ns-rp"),
			Location:   pulumi.String("us-central1"),
			BackupPlan: basic.ID(),
			Cluster:    primary.ID(),
			RestoreConfig: &gkebackup.RestorePlanRestoreConfigArgs{
				SelectedNamespaces: &gkebackup.RestorePlanRestoreConfigSelectedNamespacesArgs{
					Namespaces: pulumi.StringArray{
						pulumi.String("ns1"),
					},
				},
				NamespacedResourceRestoreMode: pulumi.String("FAIL_ON_CONFLICT"),
				VolumeDataRestorePolicy:       pulumi.String("REUSE_VOLUME_HANDLE_FROM_BACKUP"),
				ClusterResourceRestoreScope: &gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs{
					NoGroupKinds: pulumi.Bool(true),
				},
				TransformationRules: gkebackup.RestorePlanRestoreConfigTransformationRuleArray{
					&gkebackup.RestorePlanRestoreConfigTransformationRuleArgs{
						Description: pulumi.String("rename namespace from ns1 to ns2"),
						ResourceFilter: &gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterArgs{
							GroupKinds: gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArray{
								&gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArgs{
									ResourceKind: pulumi.String("Namespace"),
								},
							},
							JsonPath: pulumi.String(".metadata[?(@.name == 'ns1')]"),
						},
						FieldActions: gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArray{
							&gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArgs{
								Op:    pulumi.String("REPLACE"),
								Path:  pulumi.String("/metadata/name"),
								Value: pulumi.String("ns2"),
							},
						},
					},
					&gkebackup.RestorePlanRestoreConfigTransformationRuleArgs{
						Description: pulumi.String("move all resources from ns1 to ns2"),
						ResourceFilter: &gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterArgs{
							Namespaces: pulumi.StringArray{
								pulumi.String("ns1"),
							},
						},
						FieldActions: gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArray{
							&gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArgs{
								Op:    pulumi.String("REPLACE"),
								Path:  pulumi.String("/metadata/namespace"),
								Value: pulumi.String("ns2"),
							},
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Gkebackup Restoreplan Second Transformation

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:             pulumi.String("transform-rule-cluster"),
			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),
				},
			},
			DeletionProtection: pulumi.Bool(""),
			Network:            pulumi.String("default"),
			Subnetwork:         pulumi.String("default"),
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Name:     pulumi.String("transform-rule"),
			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
		}
		_, err = gkebackup.NewRestorePlan(ctx, "transform_rule", &gkebackup.RestorePlanArgs{
			Name:        pulumi.String("transform-rule-rp"),
			Description: pulumi.String("copy nginx env variables"),
			Labels: pulumi.StringMap{
				"app": pulumi.String("nginx"),
			},
			Location:   pulumi.String("us-central1"),
			BackupPlan: basic.ID(),
			Cluster:    primary.ID(),
			RestoreConfig: &gkebackup.RestorePlanRestoreConfigArgs{
				ExcludedNamespaces: &gkebackup.RestorePlanRestoreConfigExcludedNamespacesArgs{
					Namespaces: pulumi.StringArray{
						pulumi.String("my-ns"),
					},
				},
				NamespacedResourceRestoreMode: pulumi.String("DELETE_AND_RESTORE"),
				VolumeDataRestorePolicy:       pulumi.String("RESTORE_VOLUME_DATA_FROM_BACKUP"),
				ClusterResourceRestoreScope: &gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs{
					ExcludedGroupKinds: gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArray{
						&gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArgs{
							ResourceGroup: pulumi.String("apiextension.k8s.io"),
							ResourceKind:  pulumi.String("CustomResourceDefinition"),
						},
					},
				},
				ClusterResourceConflictPolicy: pulumi.String("USE_EXISTING_VERSION"),
				TransformationRules: gkebackup.RestorePlanRestoreConfigTransformationRuleArray{
					&gkebackup.RestorePlanRestoreConfigTransformationRuleArgs{
						Description: pulumi.String("Copy environment variables from the nginx container to the install init container."),
						ResourceFilter: &gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterArgs{
							GroupKinds: gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArray{
								&gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArgs{
									ResourceKind:  pulumi.String("Pod"),
									ResourceGroup: pulumi.String(""),
								},
							},
							JsonPath: pulumi.String(".metadata[?(@.name == 'nginx')]"),
						},
						FieldActions: gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArray{
							&gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArgs{
								Op:       pulumi.String("COPY"),
								Path:     pulumi.String("/spec/initContainers/0/env"),
								FromPath: pulumi.String("/spec/containers/0/env"),
							},
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

RestorePlan can be imported using any of these accepted formats:

* `projects/{{project}}/locations/{{location}}/restorePlans/{{name}}`

* `{{project}}/{{location}}/{{name}}`

* `{{location}}/{{name}}`

When using the `pulumi import` command, RestorePlan can be imported using one of the formats above. For example:

```sh $ pulumi import gcp:gkebackup/restorePlanIamMember:RestorePlanIamMember default projects/{{project}}/locations/{{location}}/restorePlans/{{name}} ```

```sh $ pulumi import gcp:gkebackup/restorePlanIamMember:RestorePlanIamMember default {{project}}/{{location}}/{{name}} ```

```sh $ pulumi import gcp:gkebackup/restorePlanIamMember:RestorePlanIamMember default {{location}}/{{name}} ```

func GetRestorePlanIamMember

func GetRestorePlanIamMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RestorePlanIamMemberState, opts ...pulumi.ResourceOption) (*RestorePlanIamMember, error)

GetRestorePlanIamMember gets an existing RestorePlanIamMember 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 NewRestorePlanIamMember

func NewRestorePlanIamMember(ctx *pulumi.Context,
	name string, args *RestorePlanIamMemberArgs, opts ...pulumi.ResourceOption) (*RestorePlanIamMember, error)

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

func (*RestorePlanIamMember) ElementType

func (*RestorePlanIamMember) ElementType() reflect.Type

func (*RestorePlanIamMember) ToRestorePlanIamMemberOutput

func (i *RestorePlanIamMember) ToRestorePlanIamMemberOutput() RestorePlanIamMemberOutput

func (*RestorePlanIamMember) ToRestorePlanIamMemberOutputWithContext

func (i *RestorePlanIamMember) ToRestorePlanIamMemberOutputWithContext(ctx context.Context) RestorePlanIamMemberOutput

type RestorePlanIamMemberArgs

type RestorePlanIamMemberArgs struct {
	Condition RestorePlanIamMemberConditionPtrInput
	// The region of the Restore Plan.
	Location pulumi.StringPtrInput
	Member   pulumi.StringInput
	// The full name of the BackupPlan Resource.
	Name    pulumi.StringPtrInput
	Project pulumi.StringPtrInput
	Role    pulumi.StringInput
}

The set of arguments for constructing a RestorePlanIamMember resource.

func (RestorePlanIamMemberArgs) ElementType

func (RestorePlanIamMemberArgs) ElementType() reflect.Type

type RestorePlanIamMemberArray

type RestorePlanIamMemberArray []RestorePlanIamMemberInput

func (RestorePlanIamMemberArray) ElementType

func (RestorePlanIamMemberArray) ElementType() reflect.Type

func (RestorePlanIamMemberArray) ToRestorePlanIamMemberArrayOutput

func (i RestorePlanIamMemberArray) ToRestorePlanIamMemberArrayOutput() RestorePlanIamMemberArrayOutput

func (RestorePlanIamMemberArray) ToRestorePlanIamMemberArrayOutputWithContext

func (i RestorePlanIamMemberArray) ToRestorePlanIamMemberArrayOutputWithContext(ctx context.Context) RestorePlanIamMemberArrayOutput

type RestorePlanIamMemberArrayInput

type RestorePlanIamMemberArrayInput interface {
	pulumi.Input

	ToRestorePlanIamMemberArrayOutput() RestorePlanIamMemberArrayOutput
	ToRestorePlanIamMemberArrayOutputWithContext(context.Context) RestorePlanIamMemberArrayOutput
}

RestorePlanIamMemberArrayInput is an input type that accepts RestorePlanIamMemberArray and RestorePlanIamMemberArrayOutput values. You can construct a concrete instance of `RestorePlanIamMemberArrayInput` via:

RestorePlanIamMemberArray{ RestorePlanIamMemberArgs{...} }

type RestorePlanIamMemberArrayOutput

type RestorePlanIamMemberArrayOutput struct{ *pulumi.OutputState }

func (RestorePlanIamMemberArrayOutput) ElementType

func (RestorePlanIamMemberArrayOutput) Index

func (RestorePlanIamMemberArrayOutput) ToRestorePlanIamMemberArrayOutput

func (o RestorePlanIamMemberArrayOutput) ToRestorePlanIamMemberArrayOutput() RestorePlanIamMemberArrayOutput

func (RestorePlanIamMemberArrayOutput) ToRestorePlanIamMemberArrayOutputWithContext

func (o RestorePlanIamMemberArrayOutput) ToRestorePlanIamMemberArrayOutputWithContext(ctx context.Context) RestorePlanIamMemberArrayOutput

type RestorePlanIamMemberCondition

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

type RestorePlanIamMemberConditionArgs

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

func (RestorePlanIamMemberConditionArgs) ElementType

func (RestorePlanIamMemberConditionArgs) ToRestorePlanIamMemberConditionOutput

func (i RestorePlanIamMemberConditionArgs) ToRestorePlanIamMemberConditionOutput() RestorePlanIamMemberConditionOutput

func (RestorePlanIamMemberConditionArgs) ToRestorePlanIamMemberConditionOutputWithContext

func (i RestorePlanIamMemberConditionArgs) ToRestorePlanIamMemberConditionOutputWithContext(ctx context.Context) RestorePlanIamMemberConditionOutput

func (RestorePlanIamMemberConditionArgs) ToRestorePlanIamMemberConditionPtrOutput

func (i RestorePlanIamMemberConditionArgs) ToRestorePlanIamMemberConditionPtrOutput() RestorePlanIamMemberConditionPtrOutput

func (RestorePlanIamMemberConditionArgs) ToRestorePlanIamMemberConditionPtrOutputWithContext

func (i RestorePlanIamMemberConditionArgs) ToRestorePlanIamMemberConditionPtrOutputWithContext(ctx context.Context) RestorePlanIamMemberConditionPtrOutput

type RestorePlanIamMemberConditionInput

type RestorePlanIamMemberConditionInput interface {
	pulumi.Input

	ToRestorePlanIamMemberConditionOutput() RestorePlanIamMemberConditionOutput
	ToRestorePlanIamMemberConditionOutputWithContext(context.Context) RestorePlanIamMemberConditionOutput
}

RestorePlanIamMemberConditionInput is an input type that accepts RestorePlanIamMemberConditionArgs and RestorePlanIamMemberConditionOutput values. You can construct a concrete instance of `RestorePlanIamMemberConditionInput` via:

RestorePlanIamMemberConditionArgs{...}

type RestorePlanIamMemberConditionOutput

type RestorePlanIamMemberConditionOutput struct{ *pulumi.OutputState }

func (RestorePlanIamMemberConditionOutput) Description

func (RestorePlanIamMemberConditionOutput) ElementType

func (RestorePlanIamMemberConditionOutput) Expression

func (RestorePlanIamMemberConditionOutput) Title

func (RestorePlanIamMemberConditionOutput) ToRestorePlanIamMemberConditionOutput

func (o RestorePlanIamMemberConditionOutput) ToRestorePlanIamMemberConditionOutput() RestorePlanIamMemberConditionOutput

func (RestorePlanIamMemberConditionOutput) ToRestorePlanIamMemberConditionOutputWithContext

func (o RestorePlanIamMemberConditionOutput) ToRestorePlanIamMemberConditionOutputWithContext(ctx context.Context) RestorePlanIamMemberConditionOutput

func (RestorePlanIamMemberConditionOutput) ToRestorePlanIamMemberConditionPtrOutput

func (o RestorePlanIamMemberConditionOutput) ToRestorePlanIamMemberConditionPtrOutput() RestorePlanIamMemberConditionPtrOutput

func (RestorePlanIamMemberConditionOutput) ToRestorePlanIamMemberConditionPtrOutputWithContext

func (o RestorePlanIamMemberConditionOutput) ToRestorePlanIamMemberConditionPtrOutputWithContext(ctx context.Context) RestorePlanIamMemberConditionPtrOutput

type RestorePlanIamMemberConditionPtrInput

type RestorePlanIamMemberConditionPtrInput interface {
	pulumi.Input

	ToRestorePlanIamMemberConditionPtrOutput() RestorePlanIamMemberConditionPtrOutput
	ToRestorePlanIamMemberConditionPtrOutputWithContext(context.Context) RestorePlanIamMemberConditionPtrOutput
}

RestorePlanIamMemberConditionPtrInput is an input type that accepts RestorePlanIamMemberConditionArgs, RestorePlanIamMemberConditionPtr and RestorePlanIamMemberConditionPtrOutput values. You can construct a concrete instance of `RestorePlanIamMemberConditionPtrInput` via:

        RestorePlanIamMemberConditionArgs{...}

or:

        nil

type RestorePlanIamMemberConditionPtrOutput

type RestorePlanIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (RestorePlanIamMemberConditionPtrOutput) Description

func (RestorePlanIamMemberConditionPtrOutput) Elem

func (RestorePlanIamMemberConditionPtrOutput) ElementType

func (RestorePlanIamMemberConditionPtrOutput) Expression

func (RestorePlanIamMemberConditionPtrOutput) Title

func (RestorePlanIamMemberConditionPtrOutput) ToRestorePlanIamMemberConditionPtrOutput

func (o RestorePlanIamMemberConditionPtrOutput) ToRestorePlanIamMemberConditionPtrOutput() RestorePlanIamMemberConditionPtrOutput

func (RestorePlanIamMemberConditionPtrOutput) ToRestorePlanIamMemberConditionPtrOutputWithContext

func (o RestorePlanIamMemberConditionPtrOutput) ToRestorePlanIamMemberConditionPtrOutputWithContext(ctx context.Context) RestorePlanIamMemberConditionPtrOutput

type RestorePlanIamMemberInput

type RestorePlanIamMemberInput interface {
	pulumi.Input

	ToRestorePlanIamMemberOutput() RestorePlanIamMemberOutput
	ToRestorePlanIamMemberOutputWithContext(ctx context.Context) RestorePlanIamMemberOutput
}

type RestorePlanIamMemberMap

type RestorePlanIamMemberMap map[string]RestorePlanIamMemberInput

func (RestorePlanIamMemberMap) ElementType

func (RestorePlanIamMemberMap) ElementType() reflect.Type

func (RestorePlanIamMemberMap) ToRestorePlanIamMemberMapOutput

func (i RestorePlanIamMemberMap) ToRestorePlanIamMemberMapOutput() RestorePlanIamMemberMapOutput

func (RestorePlanIamMemberMap) ToRestorePlanIamMemberMapOutputWithContext

func (i RestorePlanIamMemberMap) ToRestorePlanIamMemberMapOutputWithContext(ctx context.Context) RestorePlanIamMemberMapOutput

type RestorePlanIamMemberMapInput

type RestorePlanIamMemberMapInput interface {
	pulumi.Input

	ToRestorePlanIamMemberMapOutput() RestorePlanIamMemberMapOutput
	ToRestorePlanIamMemberMapOutputWithContext(context.Context) RestorePlanIamMemberMapOutput
}

RestorePlanIamMemberMapInput is an input type that accepts RestorePlanIamMemberMap and RestorePlanIamMemberMapOutput values. You can construct a concrete instance of `RestorePlanIamMemberMapInput` via:

RestorePlanIamMemberMap{ "key": RestorePlanIamMemberArgs{...} }

type RestorePlanIamMemberMapOutput

type RestorePlanIamMemberMapOutput struct{ *pulumi.OutputState }

func (RestorePlanIamMemberMapOutput) ElementType

func (RestorePlanIamMemberMapOutput) MapIndex

func (RestorePlanIamMemberMapOutput) ToRestorePlanIamMemberMapOutput

func (o RestorePlanIamMemberMapOutput) ToRestorePlanIamMemberMapOutput() RestorePlanIamMemberMapOutput

func (RestorePlanIamMemberMapOutput) ToRestorePlanIamMemberMapOutputWithContext

func (o RestorePlanIamMemberMapOutput) ToRestorePlanIamMemberMapOutputWithContext(ctx context.Context) RestorePlanIamMemberMapOutput

type RestorePlanIamMemberOutput

type RestorePlanIamMemberOutput struct{ *pulumi.OutputState }

func (RestorePlanIamMemberOutput) Condition

func (RestorePlanIamMemberOutput) ElementType

func (RestorePlanIamMemberOutput) ElementType() reflect.Type

func (RestorePlanIamMemberOutput) Etag

func (RestorePlanIamMemberOutput) Location

The region of the Restore Plan.

func (RestorePlanIamMemberOutput) Member

func (RestorePlanIamMemberOutput) Name

The full name of the BackupPlan Resource.

func (RestorePlanIamMemberOutput) Project

func (RestorePlanIamMemberOutput) Role

func (RestorePlanIamMemberOutput) ToRestorePlanIamMemberOutput

func (o RestorePlanIamMemberOutput) ToRestorePlanIamMemberOutput() RestorePlanIamMemberOutput

func (RestorePlanIamMemberOutput) ToRestorePlanIamMemberOutputWithContext

func (o RestorePlanIamMemberOutput) ToRestorePlanIamMemberOutputWithContext(ctx context.Context) RestorePlanIamMemberOutput

type RestorePlanIamMemberState

type RestorePlanIamMemberState struct {
	Condition RestorePlanIamMemberConditionPtrInput
	Etag      pulumi.StringPtrInput
	// The region of the Restore Plan.
	Location pulumi.StringPtrInput
	Member   pulumi.StringPtrInput
	// The full name of the BackupPlan Resource.
	Name    pulumi.StringPtrInput
	Project pulumi.StringPtrInput
	Role    pulumi.StringPtrInput
}

func (RestorePlanIamMemberState) ElementType

func (RestorePlanIamMemberState) ElementType() reflect.Type

type RestorePlanIamPolicy

type RestorePlanIamPolicy struct {
	pulumi.CustomResourceState

	Etag pulumi.StringOutput `pulumi:"etag"`
	// The region of the Restore Plan.
	Location pulumi.StringOutput `pulumi:"location"`
	// The full name of the BackupPlan Resource.
	Name       pulumi.StringOutput `pulumi:"name"`
	PolicyData pulumi.StringOutput `pulumi:"policyData"`
	Project    pulumi.StringOutput `pulumi:"project"`
}

Represents a Restore Plan instance.

To get more information about RestorePlan, see:

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

## Example Usage

### Gkebackup Restoreplan All Namespaces

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:             pulumi.String("restore-all-ns-cluster"),
			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),
				},
			},
			DeletionProtection: pulumi.Bool(""),
			Network:            pulumi.String("default"),
			Subnetwork:         pulumi.String("default"),
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Name:     pulumi.String("restore-all-ns"),
			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
		}
		_, err = gkebackup.NewRestorePlan(ctx, "all_ns", &gkebackup.RestorePlanArgs{
			Name:       pulumi.String("restore-all-ns"),
			Location:   pulumi.String("us-central1"),
			BackupPlan: basic.ID(),
			Cluster:    primary.ID(),
			RestoreConfig: &gkebackup.RestorePlanRestoreConfigArgs{
				AllNamespaces:                 pulumi.Bool(true),
				NamespacedResourceRestoreMode: pulumi.String("FAIL_ON_CONFLICT"),
				VolumeDataRestorePolicy:       pulumi.String("RESTORE_VOLUME_DATA_FROM_BACKUP"),
				ClusterResourceRestoreScope: &gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs{
					AllGroupKinds: pulumi.Bool(true),
				},
				ClusterResourceConflictPolicy: pulumi.String("USE_EXISTING_VERSION"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Gkebackup Restoreplan Rollback Namespace

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:             pulumi.String("rollback-ns-cluster"),
			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),
				},
			},
			DeletionProtection: pulumi.Bool(""),
			Network:            pulumi.String("default"),
			Subnetwork:         pulumi.String("default"),
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Name:     pulumi.String("rollback-ns"),
			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
		}
		_, err = gkebackup.NewRestorePlan(ctx, "rollback_ns", &gkebackup.RestorePlanArgs{
			Name:       pulumi.String("rollback-ns-rp"),
			Location:   pulumi.String("us-central1"),
			BackupPlan: basic.ID(),
			Cluster:    primary.ID(),
			RestoreConfig: &gkebackup.RestorePlanRestoreConfigArgs{
				SelectedNamespaces: &gkebackup.RestorePlanRestoreConfigSelectedNamespacesArgs{
					Namespaces: pulumi.StringArray{
						pulumi.String("my-ns"),
					},
				},
				NamespacedResourceRestoreMode: pulumi.String("DELETE_AND_RESTORE"),
				VolumeDataRestorePolicy:       pulumi.String("RESTORE_VOLUME_DATA_FROM_BACKUP"),
				ClusterResourceRestoreScope: &gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs{
					SelectedGroupKinds: gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArray{
						&gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArgs{
							ResourceGroup: pulumi.String("apiextension.k8s.io"),
							ResourceKind:  pulumi.String("CustomResourceDefinition"),
						},
						&gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArgs{
							ResourceGroup: pulumi.String("storage.k8s.io"),
							ResourceKind:  pulumi.String("StorageClass"),
						},
					},
				},
				ClusterResourceConflictPolicy: pulumi.String("USE_EXISTING_VERSION"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Gkebackup Restoreplan Protected Application

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:             pulumi.String("rollback-app-cluster"),
			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),
				},
			},
			DeletionProtection: pulumi.Bool(""),
			Network:            pulumi.String("default"),
			Subnetwork:         pulumi.String("default"),
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Name:     pulumi.String("rollback-app"),
			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
		}
		_, err = gkebackup.NewRestorePlan(ctx, "rollback_app", &gkebackup.RestorePlanArgs{
			Name:       pulumi.String("rollback-app-rp"),
			Location:   pulumi.String("us-central1"),
			BackupPlan: basic.ID(),
			Cluster:    primary.ID(),
			RestoreConfig: &gkebackup.RestorePlanRestoreConfigArgs{
				SelectedApplications: &gkebackup.RestorePlanRestoreConfigSelectedApplicationsArgs{
					NamespacedNames: gkebackup.RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArray{
						&gkebackup.RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArgs{
							Name:      pulumi.String("my-app"),
							Namespace: pulumi.String("my-ns"),
						},
					},
				},
				NamespacedResourceRestoreMode: pulumi.String("DELETE_AND_RESTORE"),
				VolumeDataRestorePolicy:       pulumi.String("REUSE_VOLUME_HANDLE_FROM_BACKUP"),
				ClusterResourceRestoreScope: &gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs{
					NoGroupKinds: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Gkebackup Restoreplan All Cluster Resources

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:             pulumi.String("all-groupkinds-cluster"),
			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),
				},
			},
			DeletionProtection: pulumi.Bool(""),
			Network:            pulumi.String("default"),
			Subnetwork:         pulumi.String("default"),
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Name:     pulumi.String("all-groupkinds"),
			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
		}
		_, err = gkebackup.NewRestorePlan(ctx, "all_cluster_resources", &gkebackup.RestorePlanArgs{
			Name:       pulumi.String("all-groupkinds-rp"),
			Location:   pulumi.String("us-central1"),
			BackupPlan: basic.ID(),
			Cluster:    primary.ID(),
			RestoreConfig: &gkebackup.RestorePlanRestoreConfigArgs{
				NoNamespaces:                  pulumi.Bool(true),
				NamespacedResourceRestoreMode: pulumi.String("FAIL_ON_CONFLICT"),
				ClusterResourceRestoreScope: &gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs{
					AllGroupKinds: pulumi.Bool(true),
				},
				ClusterResourceConflictPolicy: pulumi.String("USE_EXISTING_VERSION"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Gkebackup Restoreplan Rename Namespace

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:             pulumi.String("rename-ns-cluster"),
			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),
				},
			},
			DeletionProtection: pulumi.Bool(""),
			Network:            pulumi.String("default"),
			Subnetwork:         pulumi.String("default"),
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Name:     pulumi.String("rename-ns"),
			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
		}
		_, err = gkebackup.NewRestorePlan(ctx, "rename_ns", &gkebackup.RestorePlanArgs{
			Name:       pulumi.String("rename-ns-rp"),
			Location:   pulumi.String("us-central1"),
			BackupPlan: basic.ID(),
			Cluster:    primary.ID(),
			RestoreConfig: &gkebackup.RestorePlanRestoreConfigArgs{
				SelectedNamespaces: &gkebackup.RestorePlanRestoreConfigSelectedNamespacesArgs{
					Namespaces: pulumi.StringArray{
						pulumi.String("ns1"),
					},
				},
				NamespacedResourceRestoreMode: pulumi.String("FAIL_ON_CONFLICT"),
				VolumeDataRestorePolicy:       pulumi.String("REUSE_VOLUME_HANDLE_FROM_BACKUP"),
				ClusterResourceRestoreScope: &gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs{
					NoGroupKinds: pulumi.Bool(true),
				},
				TransformationRules: gkebackup.RestorePlanRestoreConfigTransformationRuleArray{
					&gkebackup.RestorePlanRestoreConfigTransformationRuleArgs{
						Description: pulumi.String("rename namespace from ns1 to ns2"),
						ResourceFilter: &gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterArgs{
							GroupKinds: gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArray{
								&gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArgs{
									ResourceKind: pulumi.String("Namespace"),
								},
							},
							JsonPath: pulumi.String(".metadata[?(@.name == 'ns1')]"),
						},
						FieldActions: gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArray{
							&gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArgs{
								Op:    pulumi.String("REPLACE"),
								Path:  pulumi.String("/metadata/name"),
								Value: pulumi.String("ns2"),
							},
						},
					},
					&gkebackup.RestorePlanRestoreConfigTransformationRuleArgs{
						Description: pulumi.String("move all resources from ns1 to ns2"),
						ResourceFilter: &gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterArgs{
							Namespaces: pulumi.StringArray{
								pulumi.String("ns1"),
							},
						},
						FieldActions: gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArray{
							&gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArgs{
								Op:    pulumi.String("REPLACE"),
								Path:  pulumi.String("/metadata/namespace"),
								Value: pulumi.String("ns2"),
							},
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Gkebackup Restoreplan Second Transformation

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:             pulumi.String("transform-rule-cluster"),
			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),
				},
			},
			DeletionProtection: pulumi.Bool(""),
			Network:            pulumi.String("default"),
			Subnetwork:         pulumi.String("default"),
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Name:     pulumi.String("transform-rule"),
			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
		}
		_, err = gkebackup.NewRestorePlan(ctx, "transform_rule", &gkebackup.RestorePlanArgs{
			Name:        pulumi.String("transform-rule-rp"),
			Description: pulumi.String("copy nginx env variables"),
			Labels: pulumi.StringMap{
				"app": pulumi.String("nginx"),
			},
			Location:   pulumi.String("us-central1"),
			BackupPlan: basic.ID(),
			Cluster:    primary.ID(),
			RestoreConfig: &gkebackup.RestorePlanRestoreConfigArgs{
				ExcludedNamespaces: &gkebackup.RestorePlanRestoreConfigExcludedNamespacesArgs{
					Namespaces: pulumi.StringArray{
						pulumi.String("my-ns"),
					},
				},
				NamespacedResourceRestoreMode: pulumi.String("DELETE_AND_RESTORE"),
				VolumeDataRestorePolicy:       pulumi.String("RESTORE_VOLUME_DATA_FROM_BACKUP"),
				ClusterResourceRestoreScope: &gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeArgs{
					ExcludedGroupKinds: gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArray{
						&gkebackup.RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArgs{
							ResourceGroup: pulumi.String("apiextension.k8s.io"),
							ResourceKind:  pulumi.String("CustomResourceDefinition"),
						},
					},
				},
				ClusterResourceConflictPolicy: pulumi.String("USE_EXISTING_VERSION"),
				TransformationRules: gkebackup.RestorePlanRestoreConfigTransformationRuleArray{
					&gkebackup.RestorePlanRestoreConfigTransformationRuleArgs{
						Description: pulumi.String("Copy environment variables from the nginx container to the install init container."),
						ResourceFilter: &gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterArgs{
							GroupKinds: gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArray{
								&gkebackup.RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArgs{
									ResourceKind:  pulumi.String("Pod"),
									ResourceGroup: pulumi.String(""),
								},
							},
							JsonPath: pulumi.String(".metadata[?(@.name == 'nginx')]"),
						},
						FieldActions: gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArray{
							&gkebackup.RestorePlanRestoreConfigTransformationRuleFieldActionArgs{
								Op:       pulumi.String("COPY"),
								Path:     pulumi.String("/spec/initContainers/0/env"),
								FromPath: pulumi.String("/spec/containers/0/env"),
							},
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

RestorePlan can be imported using any of these accepted formats:

* `projects/{{project}}/locations/{{location}}/restorePlans/{{name}}`

* `{{project}}/{{location}}/{{name}}`

* `{{location}}/{{name}}`

When using the `pulumi import` command, RestorePlan can be imported using one of the formats above. For example:

```sh $ pulumi import gcp:gkebackup/restorePlanIamPolicy:RestorePlanIamPolicy default projects/{{project}}/locations/{{location}}/restorePlans/{{name}} ```

```sh $ pulumi import gcp:gkebackup/restorePlanIamPolicy:RestorePlanIamPolicy default {{project}}/{{location}}/{{name}} ```

```sh $ pulumi import gcp:gkebackup/restorePlanIamPolicy:RestorePlanIamPolicy default {{location}}/{{name}} ```

func GetRestorePlanIamPolicy

func GetRestorePlanIamPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RestorePlanIamPolicyState, opts ...pulumi.ResourceOption) (*RestorePlanIamPolicy, error)

GetRestorePlanIamPolicy gets an existing RestorePlanIamPolicy 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 NewRestorePlanIamPolicy

func NewRestorePlanIamPolicy(ctx *pulumi.Context,
	name string, args *RestorePlanIamPolicyArgs, opts ...pulumi.ResourceOption) (*RestorePlanIamPolicy, error)

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

func (*RestorePlanIamPolicy) ElementType

func (*RestorePlanIamPolicy) ElementType() reflect.Type

func (*RestorePlanIamPolicy) ToRestorePlanIamPolicyOutput

func (i *RestorePlanIamPolicy) ToRestorePlanIamPolicyOutput() RestorePlanIamPolicyOutput

func (*RestorePlanIamPolicy) ToRestorePlanIamPolicyOutputWithContext

func (i *RestorePlanIamPolicy) ToRestorePlanIamPolicyOutputWithContext(ctx context.Context) RestorePlanIamPolicyOutput

type RestorePlanIamPolicyArgs

type RestorePlanIamPolicyArgs struct {
	// The region of the Restore Plan.
	Location pulumi.StringPtrInput
	// The full name of the BackupPlan Resource.
	Name       pulumi.StringPtrInput
	PolicyData pulumi.StringInput
	Project    pulumi.StringPtrInput
}

The set of arguments for constructing a RestorePlanIamPolicy resource.

func (RestorePlanIamPolicyArgs) ElementType

func (RestorePlanIamPolicyArgs) ElementType() reflect.Type

type RestorePlanIamPolicyArray

type RestorePlanIamPolicyArray []RestorePlanIamPolicyInput

func (RestorePlanIamPolicyArray) ElementType

func (RestorePlanIamPolicyArray) ElementType() reflect.Type

func (RestorePlanIamPolicyArray) ToRestorePlanIamPolicyArrayOutput

func (i RestorePlanIamPolicyArray) ToRestorePlanIamPolicyArrayOutput() RestorePlanIamPolicyArrayOutput

func (RestorePlanIamPolicyArray) ToRestorePlanIamPolicyArrayOutputWithContext

func (i RestorePlanIamPolicyArray) ToRestorePlanIamPolicyArrayOutputWithContext(ctx context.Context) RestorePlanIamPolicyArrayOutput

type RestorePlanIamPolicyArrayInput

type RestorePlanIamPolicyArrayInput interface {
	pulumi.Input

	ToRestorePlanIamPolicyArrayOutput() RestorePlanIamPolicyArrayOutput
	ToRestorePlanIamPolicyArrayOutputWithContext(context.Context) RestorePlanIamPolicyArrayOutput
}

RestorePlanIamPolicyArrayInput is an input type that accepts RestorePlanIamPolicyArray and RestorePlanIamPolicyArrayOutput values. You can construct a concrete instance of `RestorePlanIamPolicyArrayInput` via:

RestorePlanIamPolicyArray{ RestorePlanIamPolicyArgs{...} }

type RestorePlanIamPolicyArrayOutput

type RestorePlanIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (RestorePlanIamPolicyArrayOutput) ElementType

func (RestorePlanIamPolicyArrayOutput) Index

func (RestorePlanIamPolicyArrayOutput) ToRestorePlanIamPolicyArrayOutput

func (o RestorePlanIamPolicyArrayOutput) ToRestorePlanIamPolicyArrayOutput() RestorePlanIamPolicyArrayOutput

func (RestorePlanIamPolicyArrayOutput) ToRestorePlanIamPolicyArrayOutputWithContext

func (o RestorePlanIamPolicyArrayOutput) ToRestorePlanIamPolicyArrayOutputWithContext(ctx context.Context) RestorePlanIamPolicyArrayOutput

type RestorePlanIamPolicyInput

type RestorePlanIamPolicyInput interface {
	pulumi.Input

	ToRestorePlanIamPolicyOutput() RestorePlanIamPolicyOutput
	ToRestorePlanIamPolicyOutputWithContext(ctx context.Context) RestorePlanIamPolicyOutput
}

type RestorePlanIamPolicyMap

type RestorePlanIamPolicyMap map[string]RestorePlanIamPolicyInput

func (RestorePlanIamPolicyMap) ElementType

func (RestorePlanIamPolicyMap) ElementType() reflect.Type

func (RestorePlanIamPolicyMap) ToRestorePlanIamPolicyMapOutput

func (i RestorePlanIamPolicyMap) ToRestorePlanIamPolicyMapOutput() RestorePlanIamPolicyMapOutput

func (RestorePlanIamPolicyMap) ToRestorePlanIamPolicyMapOutputWithContext

func (i RestorePlanIamPolicyMap) ToRestorePlanIamPolicyMapOutputWithContext(ctx context.Context) RestorePlanIamPolicyMapOutput

type RestorePlanIamPolicyMapInput

type RestorePlanIamPolicyMapInput interface {
	pulumi.Input

	ToRestorePlanIamPolicyMapOutput() RestorePlanIamPolicyMapOutput
	ToRestorePlanIamPolicyMapOutputWithContext(context.Context) RestorePlanIamPolicyMapOutput
}

RestorePlanIamPolicyMapInput is an input type that accepts RestorePlanIamPolicyMap and RestorePlanIamPolicyMapOutput values. You can construct a concrete instance of `RestorePlanIamPolicyMapInput` via:

RestorePlanIamPolicyMap{ "key": RestorePlanIamPolicyArgs{...} }

type RestorePlanIamPolicyMapOutput

type RestorePlanIamPolicyMapOutput struct{ *pulumi.OutputState }

func (RestorePlanIamPolicyMapOutput) ElementType

func (RestorePlanIamPolicyMapOutput) MapIndex

func (RestorePlanIamPolicyMapOutput) ToRestorePlanIamPolicyMapOutput

func (o RestorePlanIamPolicyMapOutput) ToRestorePlanIamPolicyMapOutput() RestorePlanIamPolicyMapOutput

func (RestorePlanIamPolicyMapOutput) ToRestorePlanIamPolicyMapOutputWithContext

func (o RestorePlanIamPolicyMapOutput) ToRestorePlanIamPolicyMapOutputWithContext(ctx context.Context) RestorePlanIamPolicyMapOutput

type RestorePlanIamPolicyOutput

type RestorePlanIamPolicyOutput struct{ *pulumi.OutputState }

func (RestorePlanIamPolicyOutput) ElementType

func (RestorePlanIamPolicyOutput) ElementType() reflect.Type

func (RestorePlanIamPolicyOutput) Etag

func (RestorePlanIamPolicyOutput) Location

The region of the Restore Plan.

func (RestorePlanIamPolicyOutput) Name

The full name of the BackupPlan Resource.

func (RestorePlanIamPolicyOutput) PolicyData

func (RestorePlanIamPolicyOutput) Project

func (RestorePlanIamPolicyOutput) ToRestorePlanIamPolicyOutput

func (o RestorePlanIamPolicyOutput) ToRestorePlanIamPolicyOutput() RestorePlanIamPolicyOutput

func (RestorePlanIamPolicyOutput) ToRestorePlanIamPolicyOutputWithContext

func (o RestorePlanIamPolicyOutput) ToRestorePlanIamPolicyOutputWithContext(ctx context.Context) RestorePlanIamPolicyOutput

type RestorePlanIamPolicyState

type RestorePlanIamPolicyState struct {
	Etag pulumi.StringPtrInput
	// The region of the Restore Plan.
	Location pulumi.StringPtrInput
	// The full name of the BackupPlan Resource.
	Name       pulumi.StringPtrInput
	PolicyData pulumi.StringPtrInput
	Project    pulumi.StringPtrInput
}

func (RestorePlanIamPolicyState) ElementType

func (RestorePlanIamPolicyState) ElementType() reflect.Type

type RestorePlanInput

type RestorePlanInput interface {
	pulumi.Input

	ToRestorePlanOutput() RestorePlanOutput
	ToRestorePlanOutputWithContext(ctx context.Context) RestorePlanOutput
}

type RestorePlanMap

type RestorePlanMap map[string]RestorePlanInput

func (RestorePlanMap) ElementType

func (RestorePlanMap) ElementType() reflect.Type

func (RestorePlanMap) ToRestorePlanMapOutput

func (i RestorePlanMap) ToRestorePlanMapOutput() RestorePlanMapOutput

func (RestorePlanMap) ToRestorePlanMapOutputWithContext

func (i RestorePlanMap) ToRestorePlanMapOutputWithContext(ctx context.Context) RestorePlanMapOutput

type RestorePlanMapInput

type RestorePlanMapInput interface {
	pulumi.Input

	ToRestorePlanMapOutput() RestorePlanMapOutput
	ToRestorePlanMapOutputWithContext(context.Context) RestorePlanMapOutput
}

RestorePlanMapInput is an input type that accepts RestorePlanMap and RestorePlanMapOutput values. You can construct a concrete instance of `RestorePlanMapInput` via:

RestorePlanMap{ "key": RestorePlanArgs{...} }

type RestorePlanMapOutput

type RestorePlanMapOutput struct{ *pulumi.OutputState }

func (RestorePlanMapOutput) ElementType

func (RestorePlanMapOutput) ElementType() reflect.Type

func (RestorePlanMapOutput) MapIndex

func (RestorePlanMapOutput) ToRestorePlanMapOutput

func (o RestorePlanMapOutput) ToRestorePlanMapOutput() RestorePlanMapOutput

func (RestorePlanMapOutput) ToRestorePlanMapOutputWithContext

func (o RestorePlanMapOutput) ToRestorePlanMapOutputWithContext(ctx context.Context) RestorePlanMapOutput

type RestorePlanOutput

type RestorePlanOutput struct{ *pulumi.OutputState }

func (RestorePlanOutput) BackupPlan

func (o RestorePlanOutput) BackupPlan() pulumi.StringOutput

A reference to the BackupPlan from which Backups may be used as the source for Restores created via this RestorePlan.

func (RestorePlanOutput) Cluster

The source cluster from which Restores will be created via this RestorePlan.

func (RestorePlanOutput) Description

func (o RestorePlanOutput) Description() pulumi.StringPtrOutput

User specified descriptive string for this RestorePlan.

func (RestorePlanOutput) EffectiveLabels

func (o RestorePlanOutput) EffectiveLabels() pulumi.StringMapOutput

All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.

func (RestorePlanOutput) ElementType

func (RestorePlanOutput) ElementType() reflect.Type

func (RestorePlanOutput) 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" }. **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.

func (RestorePlanOutput) Location

func (o RestorePlanOutput) Location() pulumi.StringOutput

The region of the Restore Plan.

func (RestorePlanOutput) Name

The full name of the BackupPlan Resource.

func (RestorePlanOutput) Project

func (RestorePlanOutput) PulumiLabels

func (o RestorePlanOutput) PulumiLabels() pulumi.StringMapOutput

The combination of labels configured directly on the resource and default labels configured on the provider.

func (RestorePlanOutput) RestoreConfig

Defines the configuration of Restores created via this RestorePlan. Structure is documented below.

func (RestorePlanOutput) State

The State of the RestorePlan.

func (RestorePlanOutput) StateReason

func (o RestorePlanOutput) StateReason() pulumi.StringOutput

Detailed description of why RestorePlan is in its current state.

func (RestorePlanOutput) ToRestorePlanOutput

func (o RestorePlanOutput) ToRestorePlanOutput() RestorePlanOutput

func (RestorePlanOutput) ToRestorePlanOutputWithContext

func (o RestorePlanOutput) ToRestorePlanOutputWithContext(ctx context.Context) RestorePlanOutput

func (RestorePlanOutput) Uid

Server generated, unique identifier of UUID format.

type RestorePlanRestoreConfig

type RestorePlanRestoreConfig struct {
	// If True, restore all namespaced resources in the Backup.
	// Setting this field to False will result in an error.
	AllNamespaces *bool `pulumi:"allNamespaces"`
	// Defines the behavior for handling the situation where cluster-scoped resources
	// being restored already exist in the target cluster.
	// This MUST be set to a value other than `CLUSTER_RESOURCE_CONFLICT_POLICY_UNSPECIFIED`
	// if `clusterResourceRestoreScope` is anyting other than `noGroupKinds`.
	// See https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke/reference/rest/v1/RestoreConfig#clusterresourceconflictpolicy
	// for more information on each policy option.
	// Possible values are: `USE_EXISTING_VERSION`, `USE_BACKUP_VERSION`.
	ClusterResourceConflictPolicy *string `pulumi:"clusterResourceConflictPolicy"`
	// Identifies the cluster-scoped resources to restore from the Backup.
	// Structure is documented below.
	ClusterResourceRestoreScope *RestorePlanRestoreConfigClusterResourceRestoreScope `pulumi:"clusterResourceRestoreScope"`
	// A list of selected namespaces excluded from restoration.
	// All namespaces except those in this list will be restored.
	// Structure is documented below.
	ExcludedNamespaces *RestorePlanRestoreConfigExcludedNamespaces `pulumi:"excludedNamespaces"`
	// Defines the behavior for handling the situation where sets of namespaced resources
	// being restored already exist in the target cluster.
	// This MUST be set to a value other than `NAMESPACED_RESOURCE_RESTORE_MODE_UNSPECIFIED`
	// if the `namespacedResourceRestoreScope` is anything other than `noNamespaces`.
	// See https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke/reference/rest/v1/RestoreConfig#namespacedresourcerestoremode
	// for more information on each mode.
	// Possible values are: `DELETE_AND_RESTORE`, `FAIL_ON_CONFLICT`.
	NamespacedResourceRestoreMode *string `pulumi:"namespacedResourceRestoreMode"`
	// Do not restore any namespaced resources if set to "True".
	// Specifying this field to "False" is not allowed.
	NoNamespaces *bool `pulumi:"noNamespaces"`
	// A list of selected ProtectedApplications to restore.
	// The listed ProtectedApplications and all the resources
	// to which they refer will be restored.
	// Structure is documented below.
	SelectedApplications *RestorePlanRestoreConfigSelectedApplications `pulumi:"selectedApplications"`
	// A list of selected namespaces to restore from the Backup.
	// The listed Namespaces and all resources contained in them will be restored.
	// Structure is documented below.
	SelectedNamespaces *RestorePlanRestoreConfigSelectedNamespaces `pulumi:"selectedNamespaces"`
	// A list of transformation rules to be applied against Kubernetes
	// resources as they are selected for restoration from a Backup.
	// Rules are executed in order defined - this order matters,
	// as changes made by a rule may impact the filtering logic of subsequent
	// rules. An empty list means no transformation will occur.
	// Structure is documented below.
	TransformationRules []RestorePlanRestoreConfigTransformationRule `pulumi:"transformationRules"`
	// Specifies the mechanism to be used to restore volume data.
	// This should be set to a value other than `NAMESPACED_RESOURCE_RESTORE_MODE_UNSPECIFIED`
	// if the `namespacedResourceRestoreScope` is anything other than `noNamespaces`.
	// If not specified, it will be treated as `NO_VOLUME_DATA_RESTORATION`.
	// See https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke/reference/rest/v1/RestoreConfig#VolumeDataRestorePolicy
	// for more information on each policy option.
	// Possible values are: `RESTORE_VOLUME_DATA_FROM_BACKUP`, `REUSE_VOLUME_HANDLE_FROM_BACKUP`, `NO_VOLUME_DATA_RESTORATION`.
	VolumeDataRestorePolicy *string `pulumi:"volumeDataRestorePolicy"`
}

type RestorePlanRestoreConfigArgs

type RestorePlanRestoreConfigArgs struct {
	// If True, restore all namespaced resources in the Backup.
	// Setting this field to False will result in an error.
	AllNamespaces pulumi.BoolPtrInput `pulumi:"allNamespaces"`
	// Defines the behavior for handling the situation where cluster-scoped resources
	// being restored already exist in the target cluster.
	// This MUST be set to a value other than `CLUSTER_RESOURCE_CONFLICT_POLICY_UNSPECIFIED`
	// if `clusterResourceRestoreScope` is anyting other than `noGroupKinds`.
	// See https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke/reference/rest/v1/RestoreConfig#clusterresourceconflictpolicy
	// for more information on each policy option.
	// Possible values are: `USE_EXISTING_VERSION`, `USE_BACKUP_VERSION`.
	ClusterResourceConflictPolicy pulumi.StringPtrInput `pulumi:"clusterResourceConflictPolicy"`
	// Identifies the cluster-scoped resources to restore from the Backup.
	// Structure is documented below.
	ClusterResourceRestoreScope RestorePlanRestoreConfigClusterResourceRestoreScopePtrInput `pulumi:"clusterResourceRestoreScope"`
	// A list of selected namespaces excluded from restoration.
	// All namespaces except those in this list will be restored.
	// Structure is documented below.
	ExcludedNamespaces RestorePlanRestoreConfigExcludedNamespacesPtrInput `pulumi:"excludedNamespaces"`
	// Defines the behavior for handling the situation where sets of namespaced resources
	// being restored already exist in the target cluster.
	// This MUST be set to a value other than `NAMESPACED_RESOURCE_RESTORE_MODE_UNSPECIFIED`
	// if the `namespacedResourceRestoreScope` is anything other than `noNamespaces`.
	// See https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke/reference/rest/v1/RestoreConfig#namespacedresourcerestoremode
	// for more information on each mode.
	// Possible values are: `DELETE_AND_RESTORE`, `FAIL_ON_CONFLICT`.
	NamespacedResourceRestoreMode pulumi.StringPtrInput `pulumi:"namespacedResourceRestoreMode"`
	// Do not restore any namespaced resources if set to "True".
	// Specifying this field to "False" is not allowed.
	NoNamespaces pulumi.BoolPtrInput `pulumi:"noNamespaces"`
	// A list of selected ProtectedApplications to restore.
	// The listed ProtectedApplications and all the resources
	// to which they refer will be restored.
	// Structure is documented below.
	SelectedApplications RestorePlanRestoreConfigSelectedApplicationsPtrInput `pulumi:"selectedApplications"`
	// A list of selected namespaces to restore from the Backup.
	// The listed Namespaces and all resources contained in them will be restored.
	// Structure is documented below.
	SelectedNamespaces RestorePlanRestoreConfigSelectedNamespacesPtrInput `pulumi:"selectedNamespaces"`
	// A list of transformation rules to be applied against Kubernetes
	// resources as they are selected for restoration from a Backup.
	// Rules are executed in order defined - this order matters,
	// as changes made by a rule may impact the filtering logic of subsequent
	// rules. An empty list means no transformation will occur.
	// Structure is documented below.
	TransformationRules RestorePlanRestoreConfigTransformationRuleArrayInput `pulumi:"transformationRules"`
	// Specifies the mechanism to be used to restore volume data.
	// This should be set to a value other than `NAMESPACED_RESOURCE_RESTORE_MODE_UNSPECIFIED`
	// if the `namespacedResourceRestoreScope` is anything other than `noNamespaces`.
	// If not specified, it will be treated as `NO_VOLUME_DATA_RESTORATION`.
	// See https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke/reference/rest/v1/RestoreConfig#VolumeDataRestorePolicy
	// for more information on each policy option.
	// Possible values are: `RESTORE_VOLUME_DATA_FROM_BACKUP`, `REUSE_VOLUME_HANDLE_FROM_BACKUP`, `NO_VOLUME_DATA_RESTORATION`.
	VolumeDataRestorePolicy pulumi.StringPtrInput `pulumi:"volumeDataRestorePolicy"`
}

func (RestorePlanRestoreConfigArgs) ElementType

func (RestorePlanRestoreConfigArgs) ToRestorePlanRestoreConfigOutput

func (i RestorePlanRestoreConfigArgs) ToRestorePlanRestoreConfigOutput() RestorePlanRestoreConfigOutput

func (RestorePlanRestoreConfigArgs) ToRestorePlanRestoreConfigOutputWithContext

func (i RestorePlanRestoreConfigArgs) ToRestorePlanRestoreConfigOutputWithContext(ctx context.Context) RestorePlanRestoreConfigOutput

func (RestorePlanRestoreConfigArgs) ToRestorePlanRestoreConfigPtrOutput

func (i RestorePlanRestoreConfigArgs) ToRestorePlanRestoreConfigPtrOutput() RestorePlanRestoreConfigPtrOutput

func (RestorePlanRestoreConfigArgs) ToRestorePlanRestoreConfigPtrOutputWithContext

func (i RestorePlanRestoreConfigArgs) ToRestorePlanRestoreConfigPtrOutputWithContext(ctx context.Context) RestorePlanRestoreConfigPtrOutput

type RestorePlanRestoreConfigClusterResourceRestoreScope

type RestorePlanRestoreConfigClusterResourceRestoreScope struct {
	// If True, all valid cluster-scoped resources will be restored.
	// Mutually exclusive to any other field in `clusterResourceRestoreScope`.
	AllGroupKinds *bool `pulumi:"allGroupKinds"`
	// A list of cluster-scoped resource group kinds to NOT restore from the backup.
	// If specified, all valid cluster-scoped resources will be restored except
	// for those specified in the list.
	// Mutually exclusive to any other field in `clusterResourceRestoreScope`.
	// Structure is documented below.
	ExcludedGroupKinds []RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKind `pulumi:"excludedGroupKinds"`
	// If True, no cluster-scoped resources will be restored.
	// Mutually exclusive to any other field in `clusterResourceRestoreScope`.
	NoGroupKinds *bool `pulumi:"noGroupKinds"`
	// A list of cluster-scoped resource group kinds to restore from the backup.
	// If specified, only the selected resources will be restored.
	// Mutually exclusive to any other field in the `clusterResourceRestoreScope`.
	// Structure is documented below.
	SelectedGroupKinds []RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKind `pulumi:"selectedGroupKinds"`
}

type RestorePlanRestoreConfigClusterResourceRestoreScopeArgs

type RestorePlanRestoreConfigClusterResourceRestoreScopeArgs struct {
	// If True, all valid cluster-scoped resources will be restored.
	// Mutually exclusive to any other field in `clusterResourceRestoreScope`.
	AllGroupKinds pulumi.BoolPtrInput `pulumi:"allGroupKinds"`
	// A list of cluster-scoped resource group kinds to NOT restore from the backup.
	// If specified, all valid cluster-scoped resources will be restored except
	// for those specified in the list.
	// Mutually exclusive to any other field in `clusterResourceRestoreScope`.
	// Structure is documented below.
	ExcludedGroupKinds RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArrayInput `pulumi:"excludedGroupKinds"`
	// If True, no cluster-scoped resources will be restored.
	// Mutually exclusive to any other field in `clusterResourceRestoreScope`.
	NoGroupKinds pulumi.BoolPtrInput `pulumi:"noGroupKinds"`
	// A list of cluster-scoped resource group kinds to restore from the backup.
	// If specified, only the selected resources will be restored.
	// Mutually exclusive to any other field in the `clusterResourceRestoreScope`.
	// Structure is documented below.
	SelectedGroupKinds RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArrayInput `pulumi:"selectedGroupKinds"`
}

func (RestorePlanRestoreConfigClusterResourceRestoreScopeArgs) ElementType

func (RestorePlanRestoreConfigClusterResourceRestoreScopeArgs) ToRestorePlanRestoreConfigClusterResourceRestoreScopeOutput

func (RestorePlanRestoreConfigClusterResourceRestoreScopeArgs) ToRestorePlanRestoreConfigClusterResourceRestoreScopeOutputWithContext

func (i RestorePlanRestoreConfigClusterResourceRestoreScopeArgs) ToRestorePlanRestoreConfigClusterResourceRestoreScopeOutputWithContext(ctx context.Context) RestorePlanRestoreConfigClusterResourceRestoreScopeOutput

func (RestorePlanRestoreConfigClusterResourceRestoreScopeArgs) ToRestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput

func (i RestorePlanRestoreConfigClusterResourceRestoreScopeArgs) ToRestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput() RestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput

func (RestorePlanRestoreConfigClusterResourceRestoreScopeArgs) ToRestorePlanRestoreConfigClusterResourceRestoreScopePtrOutputWithContext

func (i RestorePlanRestoreConfigClusterResourceRestoreScopeArgs) ToRestorePlanRestoreConfigClusterResourceRestoreScopePtrOutputWithContext(ctx context.Context) RestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput

type RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKind

type RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKind struct {
	// API Group string of a Kubernetes resource, e.g.
	// "apiextensions.k8s.io", "storage.k8s.io", etc.
	// Use empty string for core group.
	ResourceGroup *string `pulumi:"resourceGroup"`
	// Kind of a Kubernetes resource, e.g.
	// "CustomResourceDefinition", "StorageClass", etc.
	ResourceKind *string `pulumi:"resourceKind"`
}

type RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArgs

type RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArgs struct {
	// API Group string of a Kubernetes resource, e.g.
	// "apiextensions.k8s.io", "storage.k8s.io", etc.
	// Use empty string for core group.
	ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"`
	// Kind of a Kubernetes resource, e.g.
	// "CustomResourceDefinition", "StorageClass", etc.
	ResourceKind pulumi.StringPtrInput `pulumi:"resourceKind"`
}

func (RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArgs) ElementType

func (RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArgs) ToRestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindOutput

func (RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArgs) ToRestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindOutputWithContext

func (i RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArgs) ToRestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindOutputWithContext(ctx context.Context) RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindOutput

type RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArray

type RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArray []RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindInput

func (RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArray) ElementType

func (RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArray) ToRestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArrayOutput

func (RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArray) ToRestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArrayOutputWithContext

func (i RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArray) ToRestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArrayOutputWithContext(ctx context.Context) RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArrayOutput

type RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArrayInput

type RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArrayInput interface {
	pulumi.Input

	ToRestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArrayOutput() RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArrayOutput
	ToRestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArrayOutputWithContext(context.Context) RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArrayOutput
}

RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArrayInput is an input type that accepts RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArray and RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArrayOutput values. You can construct a concrete instance of `RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArrayInput` via:

RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArray{ RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArgs{...} }

type RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArrayOutput

type RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArrayOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArrayOutput) ElementType

func (RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArrayOutput) ToRestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArrayOutput

func (RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArrayOutput) ToRestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArrayOutputWithContext

type RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindInput

type RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindInput interface {
	pulumi.Input

	ToRestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindOutput() RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindOutput
	ToRestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindOutputWithContext(context.Context) RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindOutput
}

RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindInput is an input type that accepts RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArgs and RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindOutput values. You can construct a concrete instance of `RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindInput` via:

RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArgs{...}

type RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindOutput

type RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindOutput) ElementType

func (RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindOutput) ResourceGroup

API Group string of a Kubernetes resource, e.g. "apiextensions.k8s.io", "storage.k8s.io", etc. Use empty string for core group.

func (RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindOutput) ResourceKind

Kind of a Kubernetes resource, e.g. "CustomResourceDefinition", "StorageClass", etc.

func (RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindOutput) ToRestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindOutput

func (RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindOutput) ToRestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindOutputWithContext

type RestorePlanRestoreConfigClusterResourceRestoreScopeInput

type RestorePlanRestoreConfigClusterResourceRestoreScopeInput interface {
	pulumi.Input

	ToRestorePlanRestoreConfigClusterResourceRestoreScopeOutput() RestorePlanRestoreConfigClusterResourceRestoreScopeOutput
	ToRestorePlanRestoreConfigClusterResourceRestoreScopeOutputWithContext(context.Context) RestorePlanRestoreConfigClusterResourceRestoreScopeOutput
}

RestorePlanRestoreConfigClusterResourceRestoreScopeInput is an input type that accepts RestorePlanRestoreConfigClusterResourceRestoreScopeArgs and RestorePlanRestoreConfigClusterResourceRestoreScopeOutput values. You can construct a concrete instance of `RestorePlanRestoreConfigClusterResourceRestoreScopeInput` via:

RestorePlanRestoreConfigClusterResourceRestoreScopeArgs{...}

type RestorePlanRestoreConfigClusterResourceRestoreScopeOutput

type RestorePlanRestoreConfigClusterResourceRestoreScopeOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigClusterResourceRestoreScopeOutput) AllGroupKinds

If True, all valid cluster-scoped resources will be restored. Mutually exclusive to any other field in `clusterResourceRestoreScope`.

func (RestorePlanRestoreConfigClusterResourceRestoreScopeOutput) ElementType

func (RestorePlanRestoreConfigClusterResourceRestoreScopeOutput) ExcludedGroupKinds

A list of cluster-scoped resource group kinds to NOT restore from the backup. If specified, all valid cluster-scoped resources will be restored except for those specified in the list. Mutually exclusive to any other field in `clusterResourceRestoreScope`. Structure is documented below.

func (RestorePlanRestoreConfigClusterResourceRestoreScopeOutput) NoGroupKinds

If True, no cluster-scoped resources will be restored. Mutually exclusive to any other field in `clusterResourceRestoreScope`.

func (RestorePlanRestoreConfigClusterResourceRestoreScopeOutput) SelectedGroupKinds

A list of cluster-scoped resource group kinds to restore from the backup. If specified, only the selected resources will be restored. Mutually exclusive to any other field in the `clusterResourceRestoreScope`. Structure is documented below.

func (RestorePlanRestoreConfigClusterResourceRestoreScopeOutput) ToRestorePlanRestoreConfigClusterResourceRestoreScopeOutput

func (RestorePlanRestoreConfigClusterResourceRestoreScopeOutput) ToRestorePlanRestoreConfigClusterResourceRestoreScopeOutputWithContext

func (o RestorePlanRestoreConfigClusterResourceRestoreScopeOutput) ToRestorePlanRestoreConfigClusterResourceRestoreScopeOutputWithContext(ctx context.Context) RestorePlanRestoreConfigClusterResourceRestoreScopeOutput

func (RestorePlanRestoreConfigClusterResourceRestoreScopeOutput) ToRestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput

func (RestorePlanRestoreConfigClusterResourceRestoreScopeOutput) ToRestorePlanRestoreConfigClusterResourceRestoreScopePtrOutputWithContext

func (o RestorePlanRestoreConfigClusterResourceRestoreScopeOutput) ToRestorePlanRestoreConfigClusterResourceRestoreScopePtrOutputWithContext(ctx context.Context) RestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput

type RestorePlanRestoreConfigClusterResourceRestoreScopePtrInput

type RestorePlanRestoreConfigClusterResourceRestoreScopePtrInput interface {
	pulumi.Input

	ToRestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput() RestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput
	ToRestorePlanRestoreConfigClusterResourceRestoreScopePtrOutputWithContext(context.Context) RestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput
}

RestorePlanRestoreConfigClusterResourceRestoreScopePtrInput is an input type that accepts RestorePlanRestoreConfigClusterResourceRestoreScopeArgs, RestorePlanRestoreConfigClusterResourceRestoreScopePtr and RestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput values. You can construct a concrete instance of `RestorePlanRestoreConfigClusterResourceRestoreScopePtrInput` via:

        RestorePlanRestoreConfigClusterResourceRestoreScopeArgs{...}

or:

        nil

type RestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput

type RestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput) AllGroupKinds

If True, all valid cluster-scoped resources will be restored. Mutually exclusive to any other field in `clusterResourceRestoreScope`.

func (RestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput) Elem

func (RestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput) ElementType

func (RestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput) ExcludedGroupKinds

A list of cluster-scoped resource group kinds to NOT restore from the backup. If specified, all valid cluster-scoped resources will be restored except for those specified in the list. Mutually exclusive to any other field in `clusterResourceRestoreScope`. Structure is documented below.

func (RestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput) NoGroupKinds

If True, no cluster-scoped resources will be restored. Mutually exclusive to any other field in `clusterResourceRestoreScope`.

func (RestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput) SelectedGroupKinds

A list of cluster-scoped resource group kinds to restore from the backup. If specified, only the selected resources will be restored. Mutually exclusive to any other field in the `clusterResourceRestoreScope`. Structure is documented below.

func (RestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput) ToRestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput

func (RestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput) ToRestorePlanRestoreConfigClusterResourceRestoreScopePtrOutputWithContext

func (o RestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput) ToRestorePlanRestoreConfigClusterResourceRestoreScopePtrOutputWithContext(ctx context.Context) RestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput

type RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKind

type RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKind struct {
	// API Group string of a Kubernetes resource, e.g.
	// "apiextensions.k8s.io", "storage.k8s.io", etc.
	// Use empty string for core group.
	ResourceGroup *string `pulumi:"resourceGroup"`
	// Kind of a Kubernetes resource, e.g.
	// "CustomResourceDefinition", "StorageClass", etc.
	ResourceKind *string `pulumi:"resourceKind"`
}

type RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArgs

type RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArgs struct {
	// API Group string of a Kubernetes resource, e.g.
	// "apiextensions.k8s.io", "storage.k8s.io", etc.
	// Use empty string for core group.
	ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"`
	// Kind of a Kubernetes resource, e.g.
	// "CustomResourceDefinition", "StorageClass", etc.
	ResourceKind pulumi.StringPtrInput `pulumi:"resourceKind"`
}

func (RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArgs) ElementType

func (RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArgs) ToRestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindOutput

func (RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArgs) ToRestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindOutputWithContext

func (i RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArgs) ToRestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindOutputWithContext(ctx context.Context) RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindOutput

type RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArray

type RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArray []RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindInput

func (RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArray) ElementType

func (RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArray) ToRestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArrayOutput

func (RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArray) ToRestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArrayOutputWithContext

func (i RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArray) ToRestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArrayOutputWithContext(ctx context.Context) RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArrayOutput

type RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArrayInput

type RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArrayInput interface {
	pulumi.Input

	ToRestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArrayOutput() RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArrayOutput
	ToRestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArrayOutputWithContext(context.Context) RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArrayOutput
}

RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArrayInput is an input type that accepts RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArray and RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArrayOutput values. You can construct a concrete instance of `RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArrayInput` via:

RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArray{ RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArgs{...} }

type RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArrayOutput

type RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArrayOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArrayOutput) ElementType

func (RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArrayOutput) ToRestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArrayOutput

func (RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArrayOutput) ToRestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArrayOutputWithContext

type RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindInput

type RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindInput interface {
	pulumi.Input

	ToRestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindOutput() RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindOutput
	ToRestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindOutputWithContext(context.Context) RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindOutput
}

RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindInput is an input type that accepts RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArgs and RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindOutput values. You can construct a concrete instance of `RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindInput` via:

RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArgs{...}

type RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindOutput

type RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindOutput) ElementType

func (RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindOutput) ResourceGroup

API Group string of a Kubernetes resource, e.g. "apiextensions.k8s.io", "storage.k8s.io", etc. Use empty string for core group.

func (RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindOutput) ResourceKind

Kind of a Kubernetes resource, e.g. "CustomResourceDefinition", "StorageClass", etc.

func (RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindOutput) ToRestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindOutput

func (RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindOutput) ToRestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindOutputWithContext

type RestorePlanRestoreConfigExcludedNamespaces

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

type RestorePlanRestoreConfigExcludedNamespacesArgs

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

func (RestorePlanRestoreConfigExcludedNamespacesArgs) ElementType

func (RestorePlanRestoreConfigExcludedNamespacesArgs) ToRestorePlanRestoreConfigExcludedNamespacesOutput

func (i RestorePlanRestoreConfigExcludedNamespacesArgs) ToRestorePlanRestoreConfigExcludedNamespacesOutput() RestorePlanRestoreConfigExcludedNamespacesOutput

func (RestorePlanRestoreConfigExcludedNamespacesArgs) ToRestorePlanRestoreConfigExcludedNamespacesOutputWithContext

func (i RestorePlanRestoreConfigExcludedNamespacesArgs) ToRestorePlanRestoreConfigExcludedNamespacesOutputWithContext(ctx context.Context) RestorePlanRestoreConfigExcludedNamespacesOutput

func (RestorePlanRestoreConfigExcludedNamespacesArgs) ToRestorePlanRestoreConfigExcludedNamespacesPtrOutput

func (i RestorePlanRestoreConfigExcludedNamespacesArgs) ToRestorePlanRestoreConfigExcludedNamespacesPtrOutput() RestorePlanRestoreConfigExcludedNamespacesPtrOutput

func (RestorePlanRestoreConfigExcludedNamespacesArgs) ToRestorePlanRestoreConfigExcludedNamespacesPtrOutputWithContext

func (i RestorePlanRestoreConfigExcludedNamespacesArgs) ToRestorePlanRestoreConfigExcludedNamespacesPtrOutputWithContext(ctx context.Context) RestorePlanRestoreConfigExcludedNamespacesPtrOutput

type RestorePlanRestoreConfigExcludedNamespacesInput

type RestorePlanRestoreConfigExcludedNamespacesInput interface {
	pulumi.Input

	ToRestorePlanRestoreConfigExcludedNamespacesOutput() RestorePlanRestoreConfigExcludedNamespacesOutput
	ToRestorePlanRestoreConfigExcludedNamespacesOutputWithContext(context.Context) RestorePlanRestoreConfigExcludedNamespacesOutput
}

RestorePlanRestoreConfigExcludedNamespacesInput is an input type that accepts RestorePlanRestoreConfigExcludedNamespacesArgs and RestorePlanRestoreConfigExcludedNamespacesOutput values. You can construct a concrete instance of `RestorePlanRestoreConfigExcludedNamespacesInput` via:

RestorePlanRestoreConfigExcludedNamespacesArgs{...}

type RestorePlanRestoreConfigExcludedNamespacesOutput

type RestorePlanRestoreConfigExcludedNamespacesOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigExcludedNamespacesOutput) ElementType

func (RestorePlanRestoreConfigExcludedNamespacesOutput) Namespaces

A list of Kubernetes Namespaces.

func (RestorePlanRestoreConfigExcludedNamespacesOutput) ToRestorePlanRestoreConfigExcludedNamespacesOutput

func (o RestorePlanRestoreConfigExcludedNamespacesOutput) ToRestorePlanRestoreConfigExcludedNamespacesOutput() RestorePlanRestoreConfigExcludedNamespacesOutput

func (RestorePlanRestoreConfigExcludedNamespacesOutput) ToRestorePlanRestoreConfigExcludedNamespacesOutputWithContext

func (o RestorePlanRestoreConfigExcludedNamespacesOutput) ToRestorePlanRestoreConfigExcludedNamespacesOutputWithContext(ctx context.Context) RestorePlanRestoreConfigExcludedNamespacesOutput

func (RestorePlanRestoreConfigExcludedNamespacesOutput) ToRestorePlanRestoreConfigExcludedNamespacesPtrOutput

func (o RestorePlanRestoreConfigExcludedNamespacesOutput) ToRestorePlanRestoreConfigExcludedNamespacesPtrOutput() RestorePlanRestoreConfigExcludedNamespacesPtrOutput

func (RestorePlanRestoreConfigExcludedNamespacesOutput) ToRestorePlanRestoreConfigExcludedNamespacesPtrOutputWithContext

func (o RestorePlanRestoreConfigExcludedNamespacesOutput) ToRestorePlanRestoreConfigExcludedNamespacesPtrOutputWithContext(ctx context.Context) RestorePlanRestoreConfigExcludedNamespacesPtrOutput

type RestorePlanRestoreConfigExcludedNamespacesPtrInput

type RestorePlanRestoreConfigExcludedNamespacesPtrInput interface {
	pulumi.Input

	ToRestorePlanRestoreConfigExcludedNamespacesPtrOutput() RestorePlanRestoreConfigExcludedNamespacesPtrOutput
	ToRestorePlanRestoreConfigExcludedNamespacesPtrOutputWithContext(context.Context) RestorePlanRestoreConfigExcludedNamespacesPtrOutput
}

RestorePlanRestoreConfigExcludedNamespacesPtrInput is an input type that accepts RestorePlanRestoreConfigExcludedNamespacesArgs, RestorePlanRestoreConfigExcludedNamespacesPtr and RestorePlanRestoreConfigExcludedNamespacesPtrOutput values. You can construct a concrete instance of `RestorePlanRestoreConfigExcludedNamespacesPtrInput` via:

        RestorePlanRestoreConfigExcludedNamespacesArgs{...}

or:

        nil

type RestorePlanRestoreConfigExcludedNamespacesPtrOutput

type RestorePlanRestoreConfigExcludedNamespacesPtrOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigExcludedNamespacesPtrOutput) Elem

func (RestorePlanRestoreConfigExcludedNamespacesPtrOutput) ElementType

func (RestorePlanRestoreConfigExcludedNamespacesPtrOutput) Namespaces

A list of Kubernetes Namespaces.

func (RestorePlanRestoreConfigExcludedNamespacesPtrOutput) ToRestorePlanRestoreConfigExcludedNamespacesPtrOutput

func (o RestorePlanRestoreConfigExcludedNamespacesPtrOutput) ToRestorePlanRestoreConfigExcludedNamespacesPtrOutput() RestorePlanRestoreConfigExcludedNamespacesPtrOutput

func (RestorePlanRestoreConfigExcludedNamespacesPtrOutput) ToRestorePlanRestoreConfigExcludedNamespacesPtrOutputWithContext

func (o RestorePlanRestoreConfigExcludedNamespacesPtrOutput) ToRestorePlanRestoreConfigExcludedNamespacesPtrOutputWithContext(ctx context.Context) RestorePlanRestoreConfigExcludedNamespacesPtrOutput

type RestorePlanRestoreConfigInput

type RestorePlanRestoreConfigInput interface {
	pulumi.Input

	ToRestorePlanRestoreConfigOutput() RestorePlanRestoreConfigOutput
	ToRestorePlanRestoreConfigOutputWithContext(context.Context) RestorePlanRestoreConfigOutput
}

RestorePlanRestoreConfigInput is an input type that accepts RestorePlanRestoreConfigArgs and RestorePlanRestoreConfigOutput values. You can construct a concrete instance of `RestorePlanRestoreConfigInput` via:

RestorePlanRestoreConfigArgs{...}

type RestorePlanRestoreConfigOutput

type RestorePlanRestoreConfigOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigOutput) AllNamespaces

If True, restore all namespaced resources in the Backup. Setting this field to False will result in an error.

func (RestorePlanRestoreConfigOutput) ClusterResourceConflictPolicy

func (o RestorePlanRestoreConfigOutput) ClusterResourceConflictPolicy() pulumi.StringPtrOutput

Defines the behavior for handling the situation where cluster-scoped resources being restored already exist in the target cluster. This MUST be set to a value other than `CLUSTER_RESOURCE_CONFLICT_POLICY_UNSPECIFIED` if `clusterResourceRestoreScope` is anyting other than `noGroupKinds`. See https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke/reference/rest/v1/RestoreConfig#clusterresourceconflictpolicy for more information on each policy option. Possible values are: `USE_EXISTING_VERSION`, `USE_BACKUP_VERSION`.

func (RestorePlanRestoreConfigOutput) ClusterResourceRestoreScope

Identifies the cluster-scoped resources to restore from the Backup. Structure is documented below.

func (RestorePlanRestoreConfigOutput) ElementType

func (RestorePlanRestoreConfigOutput) ExcludedNamespaces

A list of selected namespaces excluded from restoration. All namespaces except those in this list will be restored. Structure is documented below.

func (RestorePlanRestoreConfigOutput) NamespacedResourceRestoreMode

func (o RestorePlanRestoreConfigOutput) NamespacedResourceRestoreMode() pulumi.StringPtrOutput

Defines the behavior for handling the situation where sets of namespaced resources being restored already exist in the target cluster. This MUST be set to a value other than `NAMESPACED_RESOURCE_RESTORE_MODE_UNSPECIFIED` if the `namespacedResourceRestoreScope` is anything other than `noNamespaces`. See https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke/reference/rest/v1/RestoreConfig#namespacedresourcerestoremode for more information on each mode. Possible values are: `DELETE_AND_RESTORE`, `FAIL_ON_CONFLICT`.

func (RestorePlanRestoreConfigOutput) NoNamespaces

Do not restore any namespaced resources if set to "True". Specifying this field to "False" is not allowed.

func (RestorePlanRestoreConfigOutput) SelectedApplications

A list of selected ProtectedApplications to restore. The listed ProtectedApplications and all the resources to which they refer will be restored. Structure is documented below.

func (RestorePlanRestoreConfigOutput) SelectedNamespaces

A list of selected namespaces to restore from the Backup. The listed Namespaces and all resources contained in them will be restored. Structure is documented below.

func (RestorePlanRestoreConfigOutput) ToRestorePlanRestoreConfigOutput

func (o RestorePlanRestoreConfigOutput) ToRestorePlanRestoreConfigOutput() RestorePlanRestoreConfigOutput

func (RestorePlanRestoreConfigOutput) ToRestorePlanRestoreConfigOutputWithContext

func (o RestorePlanRestoreConfigOutput) ToRestorePlanRestoreConfigOutputWithContext(ctx context.Context) RestorePlanRestoreConfigOutput

func (RestorePlanRestoreConfigOutput) ToRestorePlanRestoreConfigPtrOutput

func (o RestorePlanRestoreConfigOutput) ToRestorePlanRestoreConfigPtrOutput() RestorePlanRestoreConfigPtrOutput

func (RestorePlanRestoreConfigOutput) ToRestorePlanRestoreConfigPtrOutputWithContext

func (o RestorePlanRestoreConfigOutput) ToRestorePlanRestoreConfigPtrOutputWithContext(ctx context.Context) RestorePlanRestoreConfigPtrOutput

func (RestorePlanRestoreConfigOutput) TransformationRules

A list of transformation rules to be applied against Kubernetes resources as they are selected for restoration from a Backup. Rules are executed in order defined - this order matters, as changes made by a rule may impact the filtering logic of subsequent rules. An empty list means no transformation will occur. Structure is documented below.

func (RestorePlanRestoreConfigOutput) VolumeDataRestorePolicy

func (o RestorePlanRestoreConfigOutput) VolumeDataRestorePolicy() pulumi.StringPtrOutput

Specifies the mechanism to be used to restore volume data. This should be set to a value other than `NAMESPACED_RESOURCE_RESTORE_MODE_UNSPECIFIED` if the `namespacedResourceRestoreScope` is anything other than `noNamespaces`. If not specified, it will be treated as `NO_VOLUME_DATA_RESTORATION`. See https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke/reference/rest/v1/RestoreConfig#VolumeDataRestorePolicy for more information on each policy option. Possible values are: `RESTORE_VOLUME_DATA_FROM_BACKUP`, `REUSE_VOLUME_HANDLE_FROM_BACKUP`, `NO_VOLUME_DATA_RESTORATION`.

type RestorePlanRestoreConfigPtrInput

type RestorePlanRestoreConfigPtrInput interface {
	pulumi.Input

	ToRestorePlanRestoreConfigPtrOutput() RestorePlanRestoreConfigPtrOutput
	ToRestorePlanRestoreConfigPtrOutputWithContext(context.Context) RestorePlanRestoreConfigPtrOutput
}

RestorePlanRestoreConfigPtrInput is an input type that accepts RestorePlanRestoreConfigArgs, RestorePlanRestoreConfigPtr and RestorePlanRestoreConfigPtrOutput values. You can construct a concrete instance of `RestorePlanRestoreConfigPtrInput` via:

        RestorePlanRestoreConfigArgs{...}

or:

        nil

type RestorePlanRestoreConfigPtrOutput

type RestorePlanRestoreConfigPtrOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigPtrOutput) AllNamespaces

If True, restore all namespaced resources in the Backup. Setting this field to False will result in an error.

func (RestorePlanRestoreConfigPtrOutput) ClusterResourceConflictPolicy

func (o RestorePlanRestoreConfigPtrOutput) ClusterResourceConflictPolicy() pulumi.StringPtrOutput

Defines the behavior for handling the situation where cluster-scoped resources being restored already exist in the target cluster. This MUST be set to a value other than `CLUSTER_RESOURCE_CONFLICT_POLICY_UNSPECIFIED` if `clusterResourceRestoreScope` is anyting other than `noGroupKinds`. See https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke/reference/rest/v1/RestoreConfig#clusterresourceconflictpolicy for more information on each policy option. Possible values are: `USE_EXISTING_VERSION`, `USE_BACKUP_VERSION`.

func (RestorePlanRestoreConfigPtrOutput) ClusterResourceRestoreScope

Identifies the cluster-scoped resources to restore from the Backup. Structure is documented below.

func (RestorePlanRestoreConfigPtrOutput) Elem

func (RestorePlanRestoreConfigPtrOutput) ElementType

func (RestorePlanRestoreConfigPtrOutput) ExcludedNamespaces

A list of selected namespaces excluded from restoration. All namespaces except those in this list will be restored. Structure is documented below.

func (RestorePlanRestoreConfigPtrOutput) NamespacedResourceRestoreMode

func (o RestorePlanRestoreConfigPtrOutput) NamespacedResourceRestoreMode() pulumi.StringPtrOutput

Defines the behavior for handling the situation where sets of namespaced resources being restored already exist in the target cluster. This MUST be set to a value other than `NAMESPACED_RESOURCE_RESTORE_MODE_UNSPECIFIED` if the `namespacedResourceRestoreScope` is anything other than `noNamespaces`. See https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke/reference/rest/v1/RestoreConfig#namespacedresourcerestoremode for more information on each mode. Possible values are: `DELETE_AND_RESTORE`, `FAIL_ON_CONFLICT`.

func (RestorePlanRestoreConfigPtrOutput) NoNamespaces

Do not restore any namespaced resources if set to "True". Specifying this field to "False" is not allowed.

func (RestorePlanRestoreConfigPtrOutput) SelectedApplications

A list of selected ProtectedApplications to restore. The listed ProtectedApplications and all the resources to which they refer will be restored. Structure is documented below.

func (RestorePlanRestoreConfigPtrOutput) SelectedNamespaces

A list of selected namespaces to restore from the Backup. The listed Namespaces and all resources contained in them will be restored. Structure is documented below.

func (RestorePlanRestoreConfigPtrOutput) ToRestorePlanRestoreConfigPtrOutput

func (o RestorePlanRestoreConfigPtrOutput) ToRestorePlanRestoreConfigPtrOutput() RestorePlanRestoreConfigPtrOutput

func (RestorePlanRestoreConfigPtrOutput) ToRestorePlanRestoreConfigPtrOutputWithContext

func (o RestorePlanRestoreConfigPtrOutput) ToRestorePlanRestoreConfigPtrOutputWithContext(ctx context.Context) RestorePlanRestoreConfigPtrOutput

func (RestorePlanRestoreConfigPtrOutput) TransformationRules

A list of transformation rules to be applied against Kubernetes resources as they are selected for restoration from a Backup. Rules are executed in order defined - this order matters, as changes made by a rule may impact the filtering logic of subsequent rules. An empty list means no transformation will occur. Structure is documented below.

func (RestorePlanRestoreConfigPtrOutput) VolumeDataRestorePolicy

func (o RestorePlanRestoreConfigPtrOutput) VolumeDataRestorePolicy() pulumi.StringPtrOutput

Specifies the mechanism to be used to restore volume data. This should be set to a value other than `NAMESPACED_RESOURCE_RESTORE_MODE_UNSPECIFIED` if the `namespacedResourceRestoreScope` is anything other than `noNamespaces`. If not specified, it will be treated as `NO_VOLUME_DATA_RESTORATION`. See https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke/reference/rest/v1/RestoreConfig#VolumeDataRestorePolicy for more information on each policy option. Possible values are: `RESTORE_VOLUME_DATA_FROM_BACKUP`, `REUSE_VOLUME_HANDLE_FROM_BACKUP`, `NO_VOLUME_DATA_RESTORATION`.

type RestorePlanRestoreConfigSelectedApplications

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

type RestorePlanRestoreConfigSelectedApplicationsArgs

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

func (RestorePlanRestoreConfigSelectedApplicationsArgs) ElementType

func (RestorePlanRestoreConfigSelectedApplicationsArgs) ToRestorePlanRestoreConfigSelectedApplicationsOutput

func (i RestorePlanRestoreConfigSelectedApplicationsArgs) ToRestorePlanRestoreConfigSelectedApplicationsOutput() RestorePlanRestoreConfigSelectedApplicationsOutput

func (RestorePlanRestoreConfigSelectedApplicationsArgs) ToRestorePlanRestoreConfigSelectedApplicationsOutputWithContext

func (i RestorePlanRestoreConfigSelectedApplicationsArgs) ToRestorePlanRestoreConfigSelectedApplicationsOutputWithContext(ctx context.Context) RestorePlanRestoreConfigSelectedApplicationsOutput

func (RestorePlanRestoreConfigSelectedApplicationsArgs) ToRestorePlanRestoreConfigSelectedApplicationsPtrOutput

func (i RestorePlanRestoreConfigSelectedApplicationsArgs) ToRestorePlanRestoreConfigSelectedApplicationsPtrOutput() RestorePlanRestoreConfigSelectedApplicationsPtrOutput

func (RestorePlanRestoreConfigSelectedApplicationsArgs) ToRestorePlanRestoreConfigSelectedApplicationsPtrOutputWithContext

func (i RestorePlanRestoreConfigSelectedApplicationsArgs) ToRestorePlanRestoreConfigSelectedApplicationsPtrOutputWithContext(ctx context.Context) RestorePlanRestoreConfigSelectedApplicationsPtrOutput

type RestorePlanRestoreConfigSelectedApplicationsInput

type RestorePlanRestoreConfigSelectedApplicationsInput interface {
	pulumi.Input

	ToRestorePlanRestoreConfigSelectedApplicationsOutput() RestorePlanRestoreConfigSelectedApplicationsOutput
	ToRestorePlanRestoreConfigSelectedApplicationsOutputWithContext(context.Context) RestorePlanRestoreConfigSelectedApplicationsOutput
}

RestorePlanRestoreConfigSelectedApplicationsInput is an input type that accepts RestorePlanRestoreConfigSelectedApplicationsArgs and RestorePlanRestoreConfigSelectedApplicationsOutput values. You can construct a concrete instance of `RestorePlanRestoreConfigSelectedApplicationsInput` via:

RestorePlanRestoreConfigSelectedApplicationsArgs{...}

type RestorePlanRestoreConfigSelectedApplicationsNamespacedName

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

type RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArgs

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

func (RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArgs) ElementType

func (RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArgs) ToRestorePlanRestoreConfigSelectedApplicationsNamespacedNameOutput

func (RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArgs) ToRestorePlanRestoreConfigSelectedApplicationsNamespacedNameOutputWithContext

func (i RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArgs) ToRestorePlanRestoreConfigSelectedApplicationsNamespacedNameOutputWithContext(ctx context.Context) RestorePlanRestoreConfigSelectedApplicationsNamespacedNameOutput

type RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArray

type RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArray []RestorePlanRestoreConfigSelectedApplicationsNamespacedNameInput

func (RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArray) ElementType

func (RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArray) ToRestorePlanRestoreConfigSelectedApplicationsNamespacedNameArrayOutput

func (RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArray) ToRestorePlanRestoreConfigSelectedApplicationsNamespacedNameArrayOutputWithContext

func (i RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArray) ToRestorePlanRestoreConfigSelectedApplicationsNamespacedNameArrayOutputWithContext(ctx context.Context) RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArrayOutput

type RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArrayInput

type RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArrayInput interface {
	pulumi.Input

	ToRestorePlanRestoreConfigSelectedApplicationsNamespacedNameArrayOutput() RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArrayOutput
	ToRestorePlanRestoreConfigSelectedApplicationsNamespacedNameArrayOutputWithContext(context.Context) RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArrayOutput
}

RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArrayInput is an input type that accepts RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArray and RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArrayOutput values. You can construct a concrete instance of `RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArrayInput` via:

RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArray{ RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArgs{...} }

type RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArrayOutput

type RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArrayOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArrayOutput) ElementType

func (RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArrayOutput) ToRestorePlanRestoreConfigSelectedApplicationsNamespacedNameArrayOutput

func (RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArrayOutput) ToRestorePlanRestoreConfigSelectedApplicationsNamespacedNameArrayOutputWithContext

func (o RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArrayOutput) ToRestorePlanRestoreConfigSelectedApplicationsNamespacedNameArrayOutputWithContext(ctx context.Context) RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArrayOutput

type RestorePlanRestoreConfigSelectedApplicationsNamespacedNameInput

type RestorePlanRestoreConfigSelectedApplicationsNamespacedNameInput interface {
	pulumi.Input

	ToRestorePlanRestoreConfigSelectedApplicationsNamespacedNameOutput() RestorePlanRestoreConfigSelectedApplicationsNamespacedNameOutput
	ToRestorePlanRestoreConfigSelectedApplicationsNamespacedNameOutputWithContext(context.Context) RestorePlanRestoreConfigSelectedApplicationsNamespacedNameOutput
}

RestorePlanRestoreConfigSelectedApplicationsNamespacedNameInput is an input type that accepts RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArgs and RestorePlanRestoreConfigSelectedApplicationsNamespacedNameOutput values. You can construct a concrete instance of `RestorePlanRestoreConfigSelectedApplicationsNamespacedNameInput` via:

RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArgs{...}

type RestorePlanRestoreConfigSelectedApplicationsNamespacedNameOutput

type RestorePlanRestoreConfigSelectedApplicationsNamespacedNameOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigSelectedApplicationsNamespacedNameOutput) ElementType

func (RestorePlanRestoreConfigSelectedApplicationsNamespacedNameOutput) Name

The name of a Kubernetes Resource.

func (RestorePlanRestoreConfigSelectedApplicationsNamespacedNameOutput) Namespace

The namespace of a Kubernetes Resource.

func (RestorePlanRestoreConfigSelectedApplicationsNamespacedNameOutput) ToRestorePlanRestoreConfigSelectedApplicationsNamespacedNameOutput

func (RestorePlanRestoreConfigSelectedApplicationsNamespacedNameOutput) ToRestorePlanRestoreConfigSelectedApplicationsNamespacedNameOutputWithContext

func (o RestorePlanRestoreConfigSelectedApplicationsNamespacedNameOutput) ToRestorePlanRestoreConfigSelectedApplicationsNamespacedNameOutputWithContext(ctx context.Context) RestorePlanRestoreConfigSelectedApplicationsNamespacedNameOutput

type RestorePlanRestoreConfigSelectedApplicationsOutput

type RestorePlanRestoreConfigSelectedApplicationsOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigSelectedApplicationsOutput) ElementType

func (RestorePlanRestoreConfigSelectedApplicationsOutput) NamespacedNames

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

func (RestorePlanRestoreConfigSelectedApplicationsOutput) ToRestorePlanRestoreConfigSelectedApplicationsOutput

func (o RestorePlanRestoreConfigSelectedApplicationsOutput) ToRestorePlanRestoreConfigSelectedApplicationsOutput() RestorePlanRestoreConfigSelectedApplicationsOutput

func (RestorePlanRestoreConfigSelectedApplicationsOutput) ToRestorePlanRestoreConfigSelectedApplicationsOutputWithContext

func (o RestorePlanRestoreConfigSelectedApplicationsOutput) ToRestorePlanRestoreConfigSelectedApplicationsOutputWithContext(ctx context.Context) RestorePlanRestoreConfigSelectedApplicationsOutput

func (RestorePlanRestoreConfigSelectedApplicationsOutput) ToRestorePlanRestoreConfigSelectedApplicationsPtrOutput

func (o RestorePlanRestoreConfigSelectedApplicationsOutput) ToRestorePlanRestoreConfigSelectedApplicationsPtrOutput() RestorePlanRestoreConfigSelectedApplicationsPtrOutput

func (RestorePlanRestoreConfigSelectedApplicationsOutput) ToRestorePlanRestoreConfigSelectedApplicationsPtrOutputWithContext

func (o RestorePlanRestoreConfigSelectedApplicationsOutput) ToRestorePlanRestoreConfigSelectedApplicationsPtrOutputWithContext(ctx context.Context) RestorePlanRestoreConfigSelectedApplicationsPtrOutput

type RestorePlanRestoreConfigSelectedApplicationsPtrInput

type RestorePlanRestoreConfigSelectedApplicationsPtrInput interface {
	pulumi.Input

	ToRestorePlanRestoreConfigSelectedApplicationsPtrOutput() RestorePlanRestoreConfigSelectedApplicationsPtrOutput
	ToRestorePlanRestoreConfigSelectedApplicationsPtrOutputWithContext(context.Context) RestorePlanRestoreConfigSelectedApplicationsPtrOutput
}

RestorePlanRestoreConfigSelectedApplicationsPtrInput is an input type that accepts RestorePlanRestoreConfigSelectedApplicationsArgs, RestorePlanRestoreConfigSelectedApplicationsPtr and RestorePlanRestoreConfigSelectedApplicationsPtrOutput values. You can construct a concrete instance of `RestorePlanRestoreConfigSelectedApplicationsPtrInput` via:

        RestorePlanRestoreConfigSelectedApplicationsArgs{...}

or:

        nil

type RestorePlanRestoreConfigSelectedApplicationsPtrOutput

type RestorePlanRestoreConfigSelectedApplicationsPtrOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigSelectedApplicationsPtrOutput) Elem

func (RestorePlanRestoreConfigSelectedApplicationsPtrOutput) ElementType

func (RestorePlanRestoreConfigSelectedApplicationsPtrOutput) NamespacedNames

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

func (RestorePlanRestoreConfigSelectedApplicationsPtrOutput) ToRestorePlanRestoreConfigSelectedApplicationsPtrOutput

func (RestorePlanRestoreConfigSelectedApplicationsPtrOutput) ToRestorePlanRestoreConfigSelectedApplicationsPtrOutputWithContext

func (o RestorePlanRestoreConfigSelectedApplicationsPtrOutput) ToRestorePlanRestoreConfigSelectedApplicationsPtrOutputWithContext(ctx context.Context) RestorePlanRestoreConfigSelectedApplicationsPtrOutput

type RestorePlanRestoreConfigSelectedNamespaces

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

type RestorePlanRestoreConfigSelectedNamespacesArgs

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

func (RestorePlanRestoreConfigSelectedNamespacesArgs) ElementType

func (RestorePlanRestoreConfigSelectedNamespacesArgs) ToRestorePlanRestoreConfigSelectedNamespacesOutput

func (i RestorePlanRestoreConfigSelectedNamespacesArgs) ToRestorePlanRestoreConfigSelectedNamespacesOutput() RestorePlanRestoreConfigSelectedNamespacesOutput

func (RestorePlanRestoreConfigSelectedNamespacesArgs) ToRestorePlanRestoreConfigSelectedNamespacesOutputWithContext

func (i RestorePlanRestoreConfigSelectedNamespacesArgs) ToRestorePlanRestoreConfigSelectedNamespacesOutputWithContext(ctx context.Context) RestorePlanRestoreConfigSelectedNamespacesOutput

func (RestorePlanRestoreConfigSelectedNamespacesArgs) ToRestorePlanRestoreConfigSelectedNamespacesPtrOutput

func (i RestorePlanRestoreConfigSelectedNamespacesArgs) ToRestorePlanRestoreConfigSelectedNamespacesPtrOutput() RestorePlanRestoreConfigSelectedNamespacesPtrOutput

func (RestorePlanRestoreConfigSelectedNamespacesArgs) ToRestorePlanRestoreConfigSelectedNamespacesPtrOutputWithContext

func (i RestorePlanRestoreConfigSelectedNamespacesArgs) ToRestorePlanRestoreConfigSelectedNamespacesPtrOutputWithContext(ctx context.Context) RestorePlanRestoreConfigSelectedNamespacesPtrOutput

type RestorePlanRestoreConfigSelectedNamespacesInput

type RestorePlanRestoreConfigSelectedNamespacesInput interface {
	pulumi.Input

	ToRestorePlanRestoreConfigSelectedNamespacesOutput() RestorePlanRestoreConfigSelectedNamespacesOutput
	ToRestorePlanRestoreConfigSelectedNamespacesOutputWithContext(context.Context) RestorePlanRestoreConfigSelectedNamespacesOutput
}

RestorePlanRestoreConfigSelectedNamespacesInput is an input type that accepts RestorePlanRestoreConfigSelectedNamespacesArgs and RestorePlanRestoreConfigSelectedNamespacesOutput values. You can construct a concrete instance of `RestorePlanRestoreConfigSelectedNamespacesInput` via:

RestorePlanRestoreConfigSelectedNamespacesArgs{...}

type RestorePlanRestoreConfigSelectedNamespacesOutput

type RestorePlanRestoreConfigSelectedNamespacesOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigSelectedNamespacesOutput) ElementType

func (RestorePlanRestoreConfigSelectedNamespacesOutput) Namespaces

A list of Kubernetes Namespaces.

func (RestorePlanRestoreConfigSelectedNamespacesOutput) ToRestorePlanRestoreConfigSelectedNamespacesOutput

func (o RestorePlanRestoreConfigSelectedNamespacesOutput) ToRestorePlanRestoreConfigSelectedNamespacesOutput() RestorePlanRestoreConfigSelectedNamespacesOutput

func (RestorePlanRestoreConfigSelectedNamespacesOutput) ToRestorePlanRestoreConfigSelectedNamespacesOutputWithContext

func (o RestorePlanRestoreConfigSelectedNamespacesOutput) ToRestorePlanRestoreConfigSelectedNamespacesOutputWithContext(ctx context.Context) RestorePlanRestoreConfigSelectedNamespacesOutput

func (RestorePlanRestoreConfigSelectedNamespacesOutput) ToRestorePlanRestoreConfigSelectedNamespacesPtrOutput

func (o RestorePlanRestoreConfigSelectedNamespacesOutput) ToRestorePlanRestoreConfigSelectedNamespacesPtrOutput() RestorePlanRestoreConfigSelectedNamespacesPtrOutput

func (RestorePlanRestoreConfigSelectedNamespacesOutput) ToRestorePlanRestoreConfigSelectedNamespacesPtrOutputWithContext

func (o RestorePlanRestoreConfigSelectedNamespacesOutput) ToRestorePlanRestoreConfigSelectedNamespacesPtrOutputWithContext(ctx context.Context) RestorePlanRestoreConfigSelectedNamespacesPtrOutput

type RestorePlanRestoreConfigSelectedNamespacesPtrInput

type RestorePlanRestoreConfigSelectedNamespacesPtrInput interface {
	pulumi.Input

	ToRestorePlanRestoreConfigSelectedNamespacesPtrOutput() RestorePlanRestoreConfigSelectedNamespacesPtrOutput
	ToRestorePlanRestoreConfigSelectedNamespacesPtrOutputWithContext(context.Context) RestorePlanRestoreConfigSelectedNamespacesPtrOutput
}

RestorePlanRestoreConfigSelectedNamespacesPtrInput is an input type that accepts RestorePlanRestoreConfigSelectedNamespacesArgs, RestorePlanRestoreConfigSelectedNamespacesPtr and RestorePlanRestoreConfigSelectedNamespacesPtrOutput values. You can construct a concrete instance of `RestorePlanRestoreConfigSelectedNamespacesPtrInput` via:

        RestorePlanRestoreConfigSelectedNamespacesArgs{...}

or:

        nil

type RestorePlanRestoreConfigSelectedNamespacesPtrOutput

type RestorePlanRestoreConfigSelectedNamespacesPtrOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigSelectedNamespacesPtrOutput) Elem

func (RestorePlanRestoreConfigSelectedNamespacesPtrOutput) ElementType

func (RestorePlanRestoreConfigSelectedNamespacesPtrOutput) Namespaces

A list of Kubernetes Namespaces.

func (RestorePlanRestoreConfigSelectedNamespacesPtrOutput) ToRestorePlanRestoreConfigSelectedNamespacesPtrOutput

func (o RestorePlanRestoreConfigSelectedNamespacesPtrOutput) ToRestorePlanRestoreConfigSelectedNamespacesPtrOutput() RestorePlanRestoreConfigSelectedNamespacesPtrOutput

func (RestorePlanRestoreConfigSelectedNamespacesPtrOutput) ToRestorePlanRestoreConfigSelectedNamespacesPtrOutputWithContext

func (o RestorePlanRestoreConfigSelectedNamespacesPtrOutput) ToRestorePlanRestoreConfigSelectedNamespacesPtrOutputWithContext(ctx context.Context) RestorePlanRestoreConfigSelectedNamespacesPtrOutput

type RestorePlanRestoreConfigTransformationRule

type RestorePlanRestoreConfigTransformationRule struct {
	// The description is a user specified string description
	// of the transformation rule.
	Description *string `pulumi:"description"`
	// A list of transformation rule actions to take against candidate
	// resources. Actions are executed in order defined - this order
	// matters, as they could potentially interfere with each other and
	// the first operation could affect the outcome of the second operation.
	// Structure is documented below.
	FieldActions []RestorePlanRestoreConfigTransformationRuleFieldAction `pulumi:"fieldActions"`
	// This field is used to specify a set of fields that should be used to
	// determine which resources in backup should be acted upon by the
	// supplied transformation rule actions, and this will ensure that only
	// specific resources are affected by transformation rule actions.
	// Structure is documented below.
	ResourceFilter *RestorePlanRestoreConfigTransformationRuleResourceFilter `pulumi:"resourceFilter"`
}

type RestorePlanRestoreConfigTransformationRuleArgs

type RestorePlanRestoreConfigTransformationRuleArgs struct {
	// The description is a user specified string description
	// of the transformation rule.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// A list of transformation rule actions to take against candidate
	// resources. Actions are executed in order defined - this order
	// matters, as they could potentially interfere with each other and
	// the first operation could affect the outcome of the second operation.
	// Structure is documented below.
	FieldActions RestorePlanRestoreConfigTransformationRuleFieldActionArrayInput `pulumi:"fieldActions"`
	// This field is used to specify a set of fields that should be used to
	// determine which resources in backup should be acted upon by the
	// supplied transformation rule actions, and this will ensure that only
	// specific resources are affected by transformation rule actions.
	// Structure is documented below.
	ResourceFilter RestorePlanRestoreConfigTransformationRuleResourceFilterPtrInput `pulumi:"resourceFilter"`
}

func (RestorePlanRestoreConfigTransformationRuleArgs) ElementType

func (RestorePlanRestoreConfigTransformationRuleArgs) ToRestorePlanRestoreConfigTransformationRuleOutput

func (i RestorePlanRestoreConfigTransformationRuleArgs) ToRestorePlanRestoreConfigTransformationRuleOutput() RestorePlanRestoreConfigTransformationRuleOutput

func (RestorePlanRestoreConfigTransformationRuleArgs) ToRestorePlanRestoreConfigTransformationRuleOutputWithContext

func (i RestorePlanRestoreConfigTransformationRuleArgs) ToRestorePlanRestoreConfigTransformationRuleOutputWithContext(ctx context.Context) RestorePlanRestoreConfigTransformationRuleOutput

type RestorePlanRestoreConfigTransformationRuleArray

type RestorePlanRestoreConfigTransformationRuleArray []RestorePlanRestoreConfigTransformationRuleInput

func (RestorePlanRestoreConfigTransformationRuleArray) ElementType

func (RestorePlanRestoreConfigTransformationRuleArray) ToRestorePlanRestoreConfigTransformationRuleArrayOutput

func (i RestorePlanRestoreConfigTransformationRuleArray) ToRestorePlanRestoreConfigTransformationRuleArrayOutput() RestorePlanRestoreConfigTransformationRuleArrayOutput

func (RestorePlanRestoreConfigTransformationRuleArray) ToRestorePlanRestoreConfigTransformationRuleArrayOutputWithContext

func (i RestorePlanRestoreConfigTransformationRuleArray) ToRestorePlanRestoreConfigTransformationRuleArrayOutputWithContext(ctx context.Context) RestorePlanRestoreConfigTransformationRuleArrayOutput

type RestorePlanRestoreConfigTransformationRuleArrayInput

type RestorePlanRestoreConfigTransformationRuleArrayInput interface {
	pulumi.Input

	ToRestorePlanRestoreConfigTransformationRuleArrayOutput() RestorePlanRestoreConfigTransformationRuleArrayOutput
	ToRestorePlanRestoreConfigTransformationRuleArrayOutputWithContext(context.Context) RestorePlanRestoreConfigTransformationRuleArrayOutput
}

RestorePlanRestoreConfigTransformationRuleArrayInput is an input type that accepts RestorePlanRestoreConfigTransformationRuleArray and RestorePlanRestoreConfigTransformationRuleArrayOutput values. You can construct a concrete instance of `RestorePlanRestoreConfigTransformationRuleArrayInput` via:

RestorePlanRestoreConfigTransformationRuleArray{ RestorePlanRestoreConfigTransformationRuleArgs{...} }

type RestorePlanRestoreConfigTransformationRuleArrayOutput

type RestorePlanRestoreConfigTransformationRuleArrayOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigTransformationRuleArrayOutput) ElementType

func (RestorePlanRestoreConfigTransformationRuleArrayOutput) Index

func (RestorePlanRestoreConfigTransformationRuleArrayOutput) ToRestorePlanRestoreConfigTransformationRuleArrayOutput

func (RestorePlanRestoreConfigTransformationRuleArrayOutput) ToRestorePlanRestoreConfigTransformationRuleArrayOutputWithContext

func (o RestorePlanRestoreConfigTransformationRuleArrayOutput) ToRestorePlanRestoreConfigTransformationRuleArrayOutputWithContext(ctx context.Context) RestorePlanRestoreConfigTransformationRuleArrayOutput

type RestorePlanRestoreConfigTransformationRuleFieldAction

type RestorePlanRestoreConfigTransformationRuleFieldAction struct {
	// A string containing a JSON Pointer value that references the
	// location in the target document to move the value from.
	FromPath *string `pulumi:"fromPath"`
	// Specifies the operation to perform.
	// Possible values are: `REMOVE`, `MOVE`, `COPY`, `ADD`, `TEST`, `REPLACE`.
	Op string `pulumi:"op"`
	// A string containing a JSON-Pointer value that references a
	// location within the target document where the operation is performed.
	Path *string `pulumi:"path"`
	// A string that specifies the desired value in string format
	// to use for transformation.
	//
	// ***
	Value *string `pulumi:"value"`
}

type RestorePlanRestoreConfigTransformationRuleFieldActionArgs

type RestorePlanRestoreConfigTransformationRuleFieldActionArgs struct {
	// A string containing a JSON Pointer value that references the
	// location in the target document to move the value from.
	FromPath pulumi.StringPtrInput `pulumi:"fromPath"`
	// Specifies the operation to perform.
	// Possible values are: `REMOVE`, `MOVE`, `COPY`, `ADD`, `TEST`, `REPLACE`.
	Op pulumi.StringInput `pulumi:"op"`
	// A string containing a JSON-Pointer value that references a
	// location within the target document where the operation is performed.
	Path pulumi.StringPtrInput `pulumi:"path"`
	// A string that specifies the desired value in string format
	// to use for transformation.
	//
	// ***
	Value pulumi.StringPtrInput `pulumi:"value"`
}

func (RestorePlanRestoreConfigTransformationRuleFieldActionArgs) ElementType

func (RestorePlanRestoreConfigTransformationRuleFieldActionArgs) ToRestorePlanRestoreConfigTransformationRuleFieldActionOutput

func (RestorePlanRestoreConfigTransformationRuleFieldActionArgs) ToRestorePlanRestoreConfigTransformationRuleFieldActionOutputWithContext

func (i RestorePlanRestoreConfigTransformationRuleFieldActionArgs) ToRestorePlanRestoreConfigTransformationRuleFieldActionOutputWithContext(ctx context.Context) RestorePlanRestoreConfigTransformationRuleFieldActionOutput

type RestorePlanRestoreConfigTransformationRuleFieldActionArray

type RestorePlanRestoreConfigTransformationRuleFieldActionArray []RestorePlanRestoreConfigTransformationRuleFieldActionInput

func (RestorePlanRestoreConfigTransformationRuleFieldActionArray) ElementType

func (RestorePlanRestoreConfigTransformationRuleFieldActionArray) ToRestorePlanRestoreConfigTransformationRuleFieldActionArrayOutput

func (RestorePlanRestoreConfigTransformationRuleFieldActionArray) ToRestorePlanRestoreConfigTransformationRuleFieldActionArrayOutputWithContext

func (i RestorePlanRestoreConfigTransformationRuleFieldActionArray) ToRestorePlanRestoreConfigTransformationRuleFieldActionArrayOutputWithContext(ctx context.Context) RestorePlanRestoreConfigTransformationRuleFieldActionArrayOutput

type RestorePlanRestoreConfigTransformationRuleFieldActionArrayInput

type RestorePlanRestoreConfigTransformationRuleFieldActionArrayInput interface {
	pulumi.Input

	ToRestorePlanRestoreConfigTransformationRuleFieldActionArrayOutput() RestorePlanRestoreConfigTransformationRuleFieldActionArrayOutput
	ToRestorePlanRestoreConfigTransformationRuleFieldActionArrayOutputWithContext(context.Context) RestorePlanRestoreConfigTransformationRuleFieldActionArrayOutput
}

RestorePlanRestoreConfigTransformationRuleFieldActionArrayInput is an input type that accepts RestorePlanRestoreConfigTransformationRuleFieldActionArray and RestorePlanRestoreConfigTransformationRuleFieldActionArrayOutput values. You can construct a concrete instance of `RestorePlanRestoreConfigTransformationRuleFieldActionArrayInput` via:

RestorePlanRestoreConfigTransformationRuleFieldActionArray{ RestorePlanRestoreConfigTransformationRuleFieldActionArgs{...} }

type RestorePlanRestoreConfigTransformationRuleFieldActionArrayOutput

type RestorePlanRestoreConfigTransformationRuleFieldActionArrayOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigTransformationRuleFieldActionArrayOutput) ElementType

func (RestorePlanRestoreConfigTransformationRuleFieldActionArrayOutput) Index

func (RestorePlanRestoreConfigTransformationRuleFieldActionArrayOutput) ToRestorePlanRestoreConfigTransformationRuleFieldActionArrayOutput

func (RestorePlanRestoreConfigTransformationRuleFieldActionArrayOutput) ToRestorePlanRestoreConfigTransformationRuleFieldActionArrayOutputWithContext

func (o RestorePlanRestoreConfigTransformationRuleFieldActionArrayOutput) ToRestorePlanRestoreConfigTransformationRuleFieldActionArrayOutputWithContext(ctx context.Context) RestorePlanRestoreConfigTransformationRuleFieldActionArrayOutput

type RestorePlanRestoreConfigTransformationRuleFieldActionInput

type RestorePlanRestoreConfigTransformationRuleFieldActionInput interface {
	pulumi.Input

	ToRestorePlanRestoreConfigTransformationRuleFieldActionOutput() RestorePlanRestoreConfigTransformationRuleFieldActionOutput
	ToRestorePlanRestoreConfigTransformationRuleFieldActionOutputWithContext(context.Context) RestorePlanRestoreConfigTransformationRuleFieldActionOutput
}

RestorePlanRestoreConfigTransformationRuleFieldActionInput is an input type that accepts RestorePlanRestoreConfigTransformationRuleFieldActionArgs and RestorePlanRestoreConfigTransformationRuleFieldActionOutput values. You can construct a concrete instance of `RestorePlanRestoreConfigTransformationRuleFieldActionInput` via:

RestorePlanRestoreConfigTransformationRuleFieldActionArgs{...}

type RestorePlanRestoreConfigTransformationRuleFieldActionOutput

type RestorePlanRestoreConfigTransformationRuleFieldActionOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigTransformationRuleFieldActionOutput) ElementType

func (RestorePlanRestoreConfigTransformationRuleFieldActionOutput) FromPath

A string containing a JSON Pointer value that references the location in the target document to move the value from.

func (RestorePlanRestoreConfigTransformationRuleFieldActionOutput) Op

Specifies the operation to perform. Possible values are: `REMOVE`, `MOVE`, `COPY`, `ADD`, `TEST`, `REPLACE`.

func (RestorePlanRestoreConfigTransformationRuleFieldActionOutput) Path

A string containing a JSON-Pointer value that references a location within the target document where the operation is performed.

func (RestorePlanRestoreConfigTransformationRuleFieldActionOutput) ToRestorePlanRestoreConfigTransformationRuleFieldActionOutput

func (RestorePlanRestoreConfigTransformationRuleFieldActionOutput) ToRestorePlanRestoreConfigTransformationRuleFieldActionOutputWithContext

func (o RestorePlanRestoreConfigTransformationRuleFieldActionOutput) ToRestorePlanRestoreConfigTransformationRuleFieldActionOutputWithContext(ctx context.Context) RestorePlanRestoreConfigTransformationRuleFieldActionOutput

func (RestorePlanRestoreConfigTransformationRuleFieldActionOutput) Value

A string that specifies the desired value in string format to use for transformation.

***

type RestorePlanRestoreConfigTransformationRuleInput

type RestorePlanRestoreConfigTransformationRuleInput interface {
	pulumi.Input

	ToRestorePlanRestoreConfigTransformationRuleOutput() RestorePlanRestoreConfigTransformationRuleOutput
	ToRestorePlanRestoreConfigTransformationRuleOutputWithContext(context.Context) RestorePlanRestoreConfigTransformationRuleOutput
}

RestorePlanRestoreConfigTransformationRuleInput is an input type that accepts RestorePlanRestoreConfigTransformationRuleArgs and RestorePlanRestoreConfigTransformationRuleOutput values. You can construct a concrete instance of `RestorePlanRestoreConfigTransformationRuleInput` via:

RestorePlanRestoreConfigTransformationRuleArgs{...}

type RestorePlanRestoreConfigTransformationRuleOutput

type RestorePlanRestoreConfigTransformationRuleOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigTransformationRuleOutput) Description

The description is a user specified string description of the transformation rule.

func (RestorePlanRestoreConfigTransformationRuleOutput) ElementType

func (RestorePlanRestoreConfigTransformationRuleOutput) FieldActions

A list of transformation rule actions to take against candidate resources. Actions are executed in order defined - this order matters, as they could potentially interfere with each other and the first operation could affect the outcome of the second operation. Structure is documented below.

func (RestorePlanRestoreConfigTransformationRuleOutput) ResourceFilter

This field is used to specify a set of fields that should be used to determine which resources in backup should be acted upon by the supplied transformation rule actions, and this will ensure that only specific resources are affected by transformation rule actions. Structure is documented below.

func (RestorePlanRestoreConfigTransformationRuleOutput) ToRestorePlanRestoreConfigTransformationRuleOutput

func (o RestorePlanRestoreConfigTransformationRuleOutput) ToRestorePlanRestoreConfigTransformationRuleOutput() RestorePlanRestoreConfigTransformationRuleOutput

func (RestorePlanRestoreConfigTransformationRuleOutput) ToRestorePlanRestoreConfigTransformationRuleOutputWithContext

func (o RestorePlanRestoreConfigTransformationRuleOutput) ToRestorePlanRestoreConfigTransformationRuleOutputWithContext(ctx context.Context) RestorePlanRestoreConfigTransformationRuleOutput

type RestorePlanRestoreConfigTransformationRuleResourceFilter

type RestorePlanRestoreConfigTransformationRuleResourceFilter struct {
	// (Filtering parameter) Any resource subject to transformation must
	// belong to one of the listed "types". If this field is not provided,
	// no type filtering will be performed
	// (all resources of all types matching previous filtering parameters
	// will be candidates for transformation).
	// Structure is documented below.
	GroupKinds []RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKind `pulumi:"groupKinds"`
	// This is a JSONPath expression that matches specific fields of
	// candidate resources and it operates as a filtering parameter
	// (resources that are not matched with this expression will not
	// be candidates for transformation).
	JsonPath *string `pulumi:"jsonPath"`
	// (Filtering parameter) Any resource subject to transformation must
	// be contained within one of the listed Kubernetes Namespace in the
	// Backup. If this field is not provided, no namespace filtering will
	// be performed (all resources in all Namespaces, including all
	// cluster-scoped resources, will be candidates for transformation).
	// To mix cluster-scoped and namespaced resources in the same rule,
	// use an empty string ("") as one of the target namespaces.
	Namespaces []string `pulumi:"namespaces"`
}

type RestorePlanRestoreConfigTransformationRuleResourceFilterArgs

type RestorePlanRestoreConfigTransformationRuleResourceFilterArgs struct {
	// (Filtering parameter) Any resource subject to transformation must
	// belong to one of the listed "types". If this field is not provided,
	// no type filtering will be performed
	// (all resources of all types matching previous filtering parameters
	// will be candidates for transformation).
	// Structure is documented below.
	GroupKinds RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArrayInput `pulumi:"groupKinds"`
	// This is a JSONPath expression that matches specific fields of
	// candidate resources and it operates as a filtering parameter
	// (resources that are not matched with this expression will not
	// be candidates for transformation).
	JsonPath pulumi.StringPtrInput `pulumi:"jsonPath"`
	// (Filtering parameter) Any resource subject to transformation must
	// be contained within one of the listed Kubernetes Namespace in the
	// Backup. If this field is not provided, no namespace filtering will
	// be performed (all resources in all Namespaces, including all
	// cluster-scoped resources, will be candidates for transformation).
	// To mix cluster-scoped and namespaced resources in the same rule,
	// use an empty string ("") as one of the target namespaces.
	Namespaces pulumi.StringArrayInput `pulumi:"namespaces"`
}

func (RestorePlanRestoreConfigTransformationRuleResourceFilterArgs) ElementType

func (RestorePlanRestoreConfigTransformationRuleResourceFilterArgs) ToRestorePlanRestoreConfigTransformationRuleResourceFilterOutput

func (RestorePlanRestoreConfigTransformationRuleResourceFilterArgs) ToRestorePlanRestoreConfigTransformationRuleResourceFilterOutputWithContext

func (i RestorePlanRestoreConfigTransformationRuleResourceFilterArgs) ToRestorePlanRestoreConfigTransformationRuleResourceFilterOutputWithContext(ctx context.Context) RestorePlanRestoreConfigTransformationRuleResourceFilterOutput

func (RestorePlanRestoreConfigTransformationRuleResourceFilterArgs) ToRestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutput

func (RestorePlanRestoreConfigTransformationRuleResourceFilterArgs) ToRestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutputWithContext

func (i RestorePlanRestoreConfigTransformationRuleResourceFilterArgs) ToRestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutputWithContext(ctx context.Context) RestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutput

type RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKind

type RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKind struct {
	// API Group string of a Kubernetes resource, e.g.
	// "apiextensions.k8s.io", "storage.k8s.io", etc.
	// Use empty string for core group.
	ResourceGroup *string `pulumi:"resourceGroup"`
	// Kind of a Kubernetes resource, e.g.
	// "CustomResourceDefinition", "StorageClass", etc.
	ResourceKind *string `pulumi:"resourceKind"`
}

type RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArgs

type RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArgs struct {
	// API Group string of a Kubernetes resource, e.g.
	// "apiextensions.k8s.io", "storage.k8s.io", etc.
	// Use empty string for core group.
	ResourceGroup pulumi.StringPtrInput `pulumi:"resourceGroup"`
	// Kind of a Kubernetes resource, e.g.
	// "CustomResourceDefinition", "StorageClass", etc.
	ResourceKind pulumi.StringPtrInput `pulumi:"resourceKind"`
}

func (RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArgs) ElementType

func (RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArgs) ToRestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindOutput

func (RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArgs) ToRestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindOutputWithContext

func (i RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArgs) ToRestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindOutputWithContext(ctx context.Context) RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindOutput

type RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArray

type RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArray []RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindInput

func (RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArray) ElementType

func (RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArray) ToRestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArrayOutput

func (RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArray) ToRestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArrayOutputWithContext

func (i RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArray) ToRestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArrayOutputWithContext(ctx context.Context) RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArrayOutput

type RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArrayInput

type RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArrayInput interface {
	pulumi.Input

	ToRestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArrayOutput() RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArrayOutput
	ToRestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArrayOutputWithContext(context.Context) RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArrayOutput
}

RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArrayInput is an input type that accepts RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArray and RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArrayOutput values. You can construct a concrete instance of `RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArrayInput` via:

RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArray{ RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArgs{...} }

type RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArrayOutput

type RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArrayOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArrayOutput) ElementType

func (RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArrayOutput) ToRestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArrayOutput

func (RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArrayOutput) ToRestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArrayOutputWithContext

type RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindInput

type RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindInput interface {
	pulumi.Input

	ToRestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindOutput() RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindOutput
	ToRestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindOutputWithContext(context.Context) RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindOutput
}

RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindInput is an input type that accepts RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArgs and RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindOutput values. You can construct a concrete instance of `RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindInput` via:

RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArgs{...}

type RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindOutput

type RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindOutput) ElementType

func (RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindOutput) ResourceGroup

API Group string of a Kubernetes resource, e.g. "apiextensions.k8s.io", "storage.k8s.io", etc. Use empty string for core group.

func (RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindOutput) ResourceKind

Kind of a Kubernetes resource, e.g. "CustomResourceDefinition", "StorageClass", etc.

func (RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindOutput) ToRestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindOutput

func (RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindOutput) ToRestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindOutputWithContext

func (o RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindOutput) ToRestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindOutputWithContext(ctx context.Context) RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindOutput

type RestorePlanRestoreConfigTransformationRuleResourceFilterInput

type RestorePlanRestoreConfigTransformationRuleResourceFilterInput interface {
	pulumi.Input

	ToRestorePlanRestoreConfigTransformationRuleResourceFilterOutput() RestorePlanRestoreConfigTransformationRuleResourceFilterOutput
	ToRestorePlanRestoreConfigTransformationRuleResourceFilterOutputWithContext(context.Context) RestorePlanRestoreConfigTransformationRuleResourceFilterOutput
}

RestorePlanRestoreConfigTransformationRuleResourceFilterInput is an input type that accepts RestorePlanRestoreConfigTransformationRuleResourceFilterArgs and RestorePlanRestoreConfigTransformationRuleResourceFilterOutput values. You can construct a concrete instance of `RestorePlanRestoreConfigTransformationRuleResourceFilterInput` via:

RestorePlanRestoreConfigTransformationRuleResourceFilterArgs{...}

type RestorePlanRestoreConfigTransformationRuleResourceFilterOutput

type RestorePlanRestoreConfigTransformationRuleResourceFilterOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigTransformationRuleResourceFilterOutput) ElementType

func (RestorePlanRestoreConfigTransformationRuleResourceFilterOutput) GroupKinds

(Filtering parameter) Any resource subject to transformation must belong to one of the listed "types". If this field is not provided, no type filtering will be performed (all resources of all types matching previous filtering parameters will be candidates for transformation). Structure is documented below.

func (RestorePlanRestoreConfigTransformationRuleResourceFilterOutput) JsonPath

This is a JSONPath expression that matches specific fields of candidate resources and it operates as a filtering parameter (resources that are not matched with this expression will not be candidates for transformation).

func (RestorePlanRestoreConfigTransformationRuleResourceFilterOutput) Namespaces

(Filtering parameter) Any resource subject to transformation must be contained within one of the listed Kubernetes Namespace in the Backup. If this field is not provided, no namespace filtering will be performed (all resources in all Namespaces, including all cluster-scoped resources, will be candidates for transformation). To mix cluster-scoped and namespaced resources in the same rule, use an empty string ("") as one of the target namespaces.

func (RestorePlanRestoreConfigTransformationRuleResourceFilterOutput) ToRestorePlanRestoreConfigTransformationRuleResourceFilterOutput

func (RestorePlanRestoreConfigTransformationRuleResourceFilterOutput) ToRestorePlanRestoreConfigTransformationRuleResourceFilterOutputWithContext

func (o RestorePlanRestoreConfigTransformationRuleResourceFilterOutput) ToRestorePlanRestoreConfigTransformationRuleResourceFilterOutputWithContext(ctx context.Context) RestorePlanRestoreConfigTransformationRuleResourceFilterOutput

func (RestorePlanRestoreConfigTransformationRuleResourceFilterOutput) ToRestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutput

func (RestorePlanRestoreConfigTransformationRuleResourceFilterOutput) ToRestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutputWithContext

func (o RestorePlanRestoreConfigTransformationRuleResourceFilterOutput) ToRestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutputWithContext(ctx context.Context) RestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutput

type RestorePlanRestoreConfigTransformationRuleResourceFilterPtrInput

type RestorePlanRestoreConfigTransformationRuleResourceFilterPtrInput interface {
	pulumi.Input

	ToRestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutput() RestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutput
	ToRestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutputWithContext(context.Context) RestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutput
}

RestorePlanRestoreConfigTransformationRuleResourceFilterPtrInput is an input type that accepts RestorePlanRestoreConfigTransformationRuleResourceFilterArgs, RestorePlanRestoreConfigTransformationRuleResourceFilterPtr and RestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutput values. You can construct a concrete instance of `RestorePlanRestoreConfigTransformationRuleResourceFilterPtrInput` via:

        RestorePlanRestoreConfigTransformationRuleResourceFilterArgs{...}

or:

        nil

type RestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutput

type RestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutput) Elem

func (RestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutput) ElementType

func (RestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutput) GroupKinds

(Filtering parameter) Any resource subject to transformation must belong to one of the listed "types". If this field is not provided, no type filtering will be performed (all resources of all types matching previous filtering parameters will be candidates for transformation). Structure is documented below.

func (RestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutput) JsonPath

This is a JSONPath expression that matches specific fields of candidate resources and it operates as a filtering parameter (resources that are not matched with this expression will not be candidates for transformation).

func (RestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutput) Namespaces

(Filtering parameter) Any resource subject to transformation must be contained within one of the listed Kubernetes Namespace in the Backup. If this field is not provided, no namespace filtering will be performed (all resources in all Namespaces, including all cluster-scoped resources, will be candidates for transformation). To mix cluster-scoped and namespaced resources in the same rule, use an empty string ("") as one of the target namespaces.

func (RestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutput) ToRestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutput

func (RestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutput) ToRestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutputWithContext

func (o RestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutput) ToRestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutputWithContext(ctx context.Context) RestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutput

type RestorePlanState

type RestorePlanState struct {
	// A reference to the BackupPlan from which Backups may be used
	// as the source for Restores created via this RestorePlan.
	BackupPlan pulumi.StringPtrInput
	// The source cluster from which Restores will be created via this RestorePlan.
	Cluster pulumi.StringPtrInput
	// User specified descriptive string for this RestorePlan.
	Description pulumi.StringPtrInput
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapInput
	// Description: A set of custom labels supplied by the user. A list of key->value pairs. Example: { "name": "wrench",
	// "mass": "1.3kg", "count": "3" }. **Note**: This field is non-authoritative, and will only manage the labels present in
	// your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
	Labels pulumi.StringMapInput
	// The region of the Restore Plan.
	Location pulumi.StringPtrInput
	// The full name of the BackupPlan Resource.
	Name    pulumi.StringPtrInput
	Project pulumi.StringPtrInput
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapInput
	// Defines the configuration of Restores created via this RestorePlan.
	// Structure is documented below.
	RestoreConfig RestorePlanRestoreConfigPtrInput
	// The State of the RestorePlan.
	State pulumi.StringPtrInput
	// Detailed description of why RestorePlan is in its current state.
	StateReason pulumi.StringPtrInput
	// Server generated, unique identifier of UUID format.
	Uid pulumi.StringPtrInput
}

func (RestorePlanState) ElementType

func (RestorePlanState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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