gkebackup

package
v6.67.1 Latest Latest
Warning

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

Go to latest
Published: Nov 4, 2023 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BackupPlan

type BackupPlan struct {
	pulumi.CustomResourceState

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

)

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

``` ### Gkebackup Backupplan Autopilot

```go package main

import (

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

)

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

``` ### Gkebackup Backupplan Cmek

```go package main

import (

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

)

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

``` ### Gkebackup Backupplan Full

```go package main

import (

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

)

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

```

## Import

BackupPlan can be imported using any of these accepted formats

```sh

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

```

```sh

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

```

```sh

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

```

func GetBackupPlan

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

GetBackupPlan gets an existing BackupPlan resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBackupPlan

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

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

func (*BackupPlan) ElementType

func (*BackupPlan) ElementType() reflect.Type

func (*BackupPlan) ToBackupPlanOutput

func (i *BackupPlan) ToBackupPlanOutput() BackupPlanOutput

func (*BackupPlan) ToBackupPlanOutputWithContext

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

func (*BackupPlan) ToOutput added in v6.65.1

func (i *BackupPlan) ToOutput(ctx context.Context) pulumix.Output[*BackupPlan]

type BackupPlanArgs

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

The set of arguments for constructing a BackupPlan resource.

func (BackupPlanArgs) ElementType

func (BackupPlanArgs) ElementType() reflect.Type

type BackupPlanArray

type BackupPlanArray []BackupPlanInput

func (BackupPlanArray) ElementType

func (BackupPlanArray) ElementType() reflect.Type

func (BackupPlanArray) ToBackupPlanArrayOutput

func (i BackupPlanArray) ToBackupPlanArrayOutput() BackupPlanArrayOutput

func (BackupPlanArray) ToBackupPlanArrayOutputWithContext

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

func (BackupPlanArray) ToOutput added in v6.65.1

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

func (BackupPlanArrayOutput) ToOutput added in v6.65.1

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

func (BackupPlanBackupConfigArgs) ToOutput added in v6.65.1

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

func (BackupPlanBackupConfigEncryptionKeyArgs) ToOutput added in v6.65.1

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

func (BackupPlanBackupConfigEncryptionKeyOutput) ToOutput added in v6.65.1

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

func (BackupPlanBackupConfigEncryptionKeyPtrOutput) ToOutput added in v6.65.1

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

func (BackupPlanBackupConfigOutput) ToOutput added in v6.65.1

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

func (BackupPlanBackupConfigPtrOutput) ToOutput added in v6.65.1

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

func (BackupPlanBackupConfigSelectedApplicationsArgs) ToOutput added in v6.65.1

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

func (BackupPlanBackupConfigSelectedApplicationsNamespacedNameArgs) ToOutput added in v6.65.1

type BackupPlanBackupConfigSelectedApplicationsNamespacedNameArray

type BackupPlanBackupConfigSelectedApplicationsNamespacedNameArray []BackupPlanBackupConfigSelectedApplicationsNamespacedNameInput

func (BackupPlanBackupConfigSelectedApplicationsNamespacedNameArray) ElementType

func (BackupPlanBackupConfigSelectedApplicationsNamespacedNameArray) ToBackupPlanBackupConfigSelectedApplicationsNamespacedNameArrayOutput

func (BackupPlanBackupConfigSelectedApplicationsNamespacedNameArray) ToBackupPlanBackupConfigSelectedApplicationsNamespacedNameArrayOutputWithContext

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

func (BackupPlanBackupConfigSelectedApplicationsNamespacedNameArray) ToOutput added in v6.65.1

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

func (BackupPlanBackupConfigSelectedApplicationsNamespacedNameArrayOutput) ToOutput added in v6.65.1

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

func (BackupPlanBackupConfigSelectedApplicationsNamespacedNameOutput) ToOutput added in v6.65.1

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

func (BackupPlanBackupConfigSelectedApplicationsOutput) ToOutput added in v6.65.1

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

func (BackupPlanBackupConfigSelectedApplicationsPtrOutput) ToOutput added in v6.65.1

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

func (BackupPlanBackupConfigSelectedNamespacesArgs) ToOutput added in v6.65.1

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

func (BackupPlanBackupConfigSelectedNamespacesOutput) ToOutput added in v6.65.1

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

func (BackupPlanBackupConfigSelectedNamespacesPtrOutput) ToOutput added in v6.65.1

type BackupPlanBackupSchedule

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

type BackupPlanBackupScheduleArgs

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

func (BackupPlanBackupScheduleArgs) ElementType

func (BackupPlanBackupScheduleArgs) ToBackupPlanBackupScheduleOutput

func (i BackupPlanBackupScheduleArgs) ToBackupPlanBackupScheduleOutput() BackupPlanBackupScheduleOutput

func (BackupPlanBackupScheduleArgs) ToBackupPlanBackupScheduleOutputWithContext

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

func (BackupPlanBackupScheduleArgs) ToBackupPlanBackupSchedulePtrOutput

func (i BackupPlanBackupScheduleArgs) ToBackupPlanBackupSchedulePtrOutput() BackupPlanBackupSchedulePtrOutput

func (BackupPlanBackupScheduleArgs) ToBackupPlanBackupSchedulePtrOutputWithContext

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

func (BackupPlanBackupScheduleArgs) ToOutput added in v6.65.1

type BackupPlanBackupScheduleInput

type BackupPlanBackupScheduleInput interface {
	pulumi.Input

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

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

BackupPlanBackupScheduleArgs{...}

type BackupPlanBackupScheduleOutput

type BackupPlanBackupScheduleOutput struct{ *pulumi.OutputState }

func (BackupPlanBackupScheduleOutput) CronSchedule

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

func (BackupPlanBackupScheduleOutput) ElementType

func (BackupPlanBackupScheduleOutput) Paused

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

func (BackupPlanBackupScheduleOutput) ToBackupPlanBackupScheduleOutput

func (o BackupPlanBackupScheduleOutput) ToBackupPlanBackupScheduleOutput() BackupPlanBackupScheduleOutput

func (BackupPlanBackupScheduleOutput) ToBackupPlanBackupScheduleOutputWithContext

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

func (BackupPlanBackupScheduleOutput) ToBackupPlanBackupSchedulePtrOutput

func (o BackupPlanBackupScheduleOutput) ToBackupPlanBackupSchedulePtrOutput() BackupPlanBackupSchedulePtrOutput

func (BackupPlanBackupScheduleOutput) ToBackupPlanBackupSchedulePtrOutputWithContext

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

func (BackupPlanBackupScheduleOutput) ToOutput added in v6.65.1

type BackupPlanBackupSchedulePtrInput

type BackupPlanBackupSchedulePtrInput interface {
	pulumi.Input

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

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

        BackupPlanBackupScheduleArgs{...}

or:

        nil

type BackupPlanBackupSchedulePtrOutput

type BackupPlanBackupSchedulePtrOutput struct{ *pulumi.OutputState }

func (BackupPlanBackupSchedulePtrOutput) CronSchedule

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

func (BackupPlanBackupSchedulePtrOutput) Elem

func (BackupPlanBackupSchedulePtrOutput) ElementType

func (BackupPlanBackupSchedulePtrOutput) Paused

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

func (BackupPlanBackupSchedulePtrOutput) ToBackupPlanBackupSchedulePtrOutput

func (o BackupPlanBackupSchedulePtrOutput) ToBackupPlanBackupSchedulePtrOutput() BackupPlanBackupSchedulePtrOutput

func (BackupPlanBackupSchedulePtrOutput) ToBackupPlanBackupSchedulePtrOutputWithContext

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

func (BackupPlanBackupSchedulePtrOutput) ToOutput added in v6.65.1

type BackupPlanIamBinding added in v6.48.0

type BackupPlanIamBinding struct {
	pulumi.CustomResourceState

	Condition BackupPlanIamBindingConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The region of the Backup Plan.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringOutput      `pulumi:"location"`
	Members  pulumi.StringArrayOutput `pulumi:"members"`
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) 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"
	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/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```

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

```go package main

import (

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

)

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

```

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

```go package main

import (

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

)

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

```

## Import

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

```sh

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

```

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

```sh

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

```

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

```sh

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

```

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

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

func GetBackupPlanIamBinding added in v6.48.0

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

GetBackupPlanIamBinding gets an existing BackupPlanIamBinding resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBackupPlanIamBinding added in v6.48.0

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

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

func (*BackupPlanIamBinding) ElementType added in v6.48.0

func (*BackupPlanIamBinding) ElementType() reflect.Type

func (*BackupPlanIamBinding) ToBackupPlanIamBindingOutput added in v6.48.0

func (i *BackupPlanIamBinding) ToBackupPlanIamBindingOutput() BackupPlanIamBindingOutput

func (*BackupPlanIamBinding) ToBackupPlanIamBindingOutputWithContext added in v6.48.0

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

func (*BackupPlanIamBinding) ToOutput added in v6.65.1

type BackupPlanIamBindingArgs added in v6.48.0

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

The set of arguments for constructing a BackupPlanIamBinding resource.

func (BackupPlanIamBindingArgs) ElementType added in v6.48.0

func (BackupPlanIamBindingArgs) ElementType() reflect.Type

type BackupPlanIamBindingArray added in v6.48.0

type BackupPlanIamBindingArray []BackupPlanIamBindingInput

func (BackupPlanIamBindingArray) ElementType added in v6.48.0

func (BackupPlanIamBindingArray) ElementType() reflect.Type

func (BackupPlanIamBindingArray) ToBackupPlanIamBindingArrayOutput added in v6.48.0

func (i BackupPlanIamBindingArray) ToBackupPlanIamBindingArrayOutput() BackupPlanIamBindingArrayOutput

func (BackupPlanIamBindingArray) ToBackupPlanIamBindingArrayOutputWithContext added in v6.48.0

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

func (BackupPlanIamBindingArray) ToOutput added in v6.65.1

type BackupPlanIamBindingArrayInput added in v6.48.0

type BackupPlanIamBindingArrayInput interface {
	pulumi.Input

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

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

BackupPlanIamBindingArray{ BackupPlanIamBindingArgs{...} }

type BackupPlanIamBindingArrayOutput added in v6.48.0

type BackupPlanIamBindingArrayOutput struct{ *pulumi.OutputState }

func (BackupPlanIamBindingArrayOutput) ElementType added in v6.48.0

func (BackupPlanIamBindingArrayOutput) Index added in v6.48.0

func (BackupPlanIamBindingArrayOutput) ToBackupPlanIamBindingArrayOutput added in v6.48.0

func (o BackupPlanIamBindingArrayOutput) ToBackupPlanIamBindingArrayOutput() BackupPlanIamBindingArrayOutput

func (BackupPlanIamBindingArrayOutput) ToBackupPlanIamBindingArrayOutputWithContext added in v6.48.0

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

func (BackupPlanIamBindingArrayOutput) ToOutput added in v6.65.1

type BackupPlanIamBindingCondition added in v6.48.0

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

type BackupPlanIamBindingConditionArgs added in v6.48.0

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

func (BackupPlanIamBindingConditionArgs) ElementType added in v6.48.0

func (BackupPlanIamBindingConditionArgs) ToBackupPlanIamBindingConditionOutput added in v6.48.0

func (i BackupPlanIamBindingConditionArgs) ToBackupPlanIamBindingConditionOutput() BackupPlanIamBindingConditionOutput

func (BackupPlanIamBindingConditionArgs) ToBackupPlanIamBindingConditionOutputWithContext added in v6.48.0

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

func (BackupPlanIamBindingConditionArgs) ToBackupPlanIamBindingConditionPtrOutput added in v6.48.0

func (i BackupPlanIamBindingConditionArgs) ToBackupPlanIamBindingConditionPtrOutput() BackupPlanIamBindingConditionPtrOutput

func (BackupPlanIamBindingConditionArgs) ToBackupPlanIamBindingConditionPtrOutputWithContext added in v6.48.0

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

func (BackupPlanIamBindingConditionArgs) ToOutput added in v6.65.1

type BackupPlanIamBindingConditionInput added in v6.48.0

type BackupPlanIamBindingConditionInput interface {
	pulumi.Input

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

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

BackupPlanIamBindingConditionArgs{...}

type BackupPlanIamBindingConditionOutput added in v6.48.0

type BackupPlanIamBindingConditionOutput struct{ *pulumi.OutputState }

func (BackupPlanIamBindingConditionOutput) Description added in v6.48.0

func (BackupPlanIamBindingConditionOutput) ElementType added in v6.48.0

func (BackupPlanIamBindingConditionOutput) Expression added in v6.48.0

func (BackupPlanIamBindingConditionOutput) Title added in v6.48.0

func (BackupPlanIamBindingConditionOutput) ToBackupPlanIamBindingConditionOutput added in v6.48.0

func (o BackupPlanIamBindingConditionOutput) ToBackupPlanIamBindingConditionOutput() BackupPlanIamBindingConditionOutput

func (BackupPlanIamBindingConditionOutput) ToBackupPlanIamBindingConditionOutputWithContext added in v6.48.0

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

func (BackupPlanIamBindingConditionOutput) ToBackupPlanIamBindingConditionPtrOutput added in v6.48.0

func (o BackupPlanIamBindingConditionOutput) ToBackupPlanIamBindingConditionPtrOutput() BackupPlanIamBindingConditionPtrOutput

func (BackupPlanIamBindingConditionOutput) ToBackupPlanIamBindingConditionPtrOutputWithContext added in v6.48.0

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

func (BackupPlanIamBindingConditionOutput) ToOutput added in v6.65.1

type BackupPlanIamBindingConditionPtrInput added in v6.48.0

type BackupPlanIamBindingConditionPtrInput interface {
	pulumi.Input

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

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

        BackupPlanIamBindingConditionArgs{...}

or:

        nil

type BackupPlanIamBindingConditionPtrOutput added in v6.48.0

type BackupPlanIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (BackupPlanIamBindingConditionPtrOutput) Description added in v6.48.0

func (BackupPlanIamBindingConditionPtrOutput) Elem added in v6.48.0

func (BackupPlanIamBindingConditionPtrOutput) ElementType added in v6.48.0

func (BackupPlanIamBindingConditionPtrOutput) Expression added in v6.48.0

func (BackupPlanIamBindingConditionPtrOutput) Title added in v6.48.0

func (BackupPlanIamBindingConditionPtrOutput) ToBackupPlanIamBindingConditionPtrOutput added in v6.48.0

func (o BackupPlanIamBindingConditionPtrOutput) ToBackupPlanIamBindingConditionPtrOutput() BackupPlanIamBindingConditionPtrOutput

func (BackupPlanIamBindingConditionPtrOutput) ToBackupPlanIamBindingConditionPtrOutputWithContext added in v6.48.0

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

func (BackupPlanIamBindingConditionPtrOutput) ToOutput added in v6.65.1

type BackupPlanIamBindingInput added in v6.48.0

type BackupPlanIamBindingInput interface {
	pulumi.Input

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

type BackupPlanIamBindingMap added in v6.48.0

type BackupPlanIamBindingMap map[string]BackupPlanIamBindingInput

func (BackupPlanIamBindingMap) ElementType added in v6.48.0

func (BackupPlanIamBindingMap) ElementType() reflect.Type

func (BackupPlanIamBindingMap) ToBackupPlanIamBindingMapOutput added in v6.48.0

func (i BackupPlanIamBindingMap) ToBackupPlanIamBindingMapOutput() BackupPlanIamBindingMapOutput

func (BackupPlanIamBindingMap) ToBackupPlanIamBindingMapOutputWithContext added in v6.48.0

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

func (BackupPlanIamBindingMap) ToOutput added in v6.65.1

type BackupPlanIamBindingMapInput added in v6.48.0

type BackupPlanIamBindingMapInput interface {
	pulumi.Input

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

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

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

type BackupPlanIamBindingMapOutput added in v6.48.0

type BackupPlanIamBindingMapOutput struct{ *pulumi.OutputState }

func (BackupPlanIamBindingMapOutput) ElementType added in v6.48.0

func (BackupPlanIamBindingMapOutput) MapIndex added in v6.48.0

func (BackupPlanIamBindingMapOutput) ToBackupPlanIamBindingMapOutput added in v6.48.0

func (o BackupPlanIamBindingMapOutput) ToBackupPlanIamBindingMapOutput() BackupPlanIamBindingMapOutput

func (BackupPlanIamBindingMapOutput) ToBackupPlanIamBindingMapOutputWithContext added in v6.48.0

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

func (BackupPlanIamBindingMapOutput) ToOutput added in v6.65.1

type BackupPlanIamBindingOutput added in v6.48.0

type BackupPlanIamBindingOutput struct{ *pulumi.OutputState }

func (BackupPlanIamBindingOutput) Condition added in v6.48.0

func (BackupPlanIamBindingOutput) ElementType added in v6.48.0

func (BackupPlanIamBindingOutput) ElementType() reflect.Type

func (BackupPlanIamBindingOutput) Etag added in v6.48.0

(Computed) The etag of the IAM policy.

func (BackupPlanIamBindingOutput) Location added in v6.48.0

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

func (BackupPlanIamBindingOutput) Members added in v6.48.0

func (BackupPlanIamBindingOutput) Name added in v6.48.0

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

func (BackupPlanIamBindingOutput) Project added in v6.48.0

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

  • `member/members` - (Required) 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) Role added in v6.48.0

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

func (BackupPlanIamBindingOutput) ToBackupPlanIamBindingOutput added in v6.48.0

func (o BackupPlanIamBindingOutput) ToBackupPlanIamBindingOutput() BackupPlanIamBindingOutput

func (BackupPlanIamBindingOutput) ToBackupPlanIamBindingOutputWithContext added in v6.48.0

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

func (BackupPlanIamBindingOutput) ToOutput added in v6.65.1

type BackupPlanIamBindingState added in v6.48.0

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

func (BackupPlanIamBindingState) ElementType added in v6.48.0

func (BackupPlanIamBindingState) ElementType() reflect.Type

type BackupPlanIamMember added in v6.48.0

type BackupPlanIamMember struct {
	pulumi.CustomResourceState

	Condition BackupPlanIamMemberConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The region of the Backup Plan.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringOutput `pulumi:"location"`
	Member   pulumi.StringOutput `pulumi:"member"`
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) 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"
	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/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```

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

```go package main

import (

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

)

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

```

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

```go package main

import (

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

)

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

```

## Import

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

```sh

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

```

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

```sh

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

```

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

```sh

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

```

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

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

func GetBackupPlanIamMember added in v6.48.0

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

GetBackupPlanIamMember gets an existing BackupPlanIamMember resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBackupPlanIamMember added in v6.48.0

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

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

func (*BackupPlanIamMember) ElementType added in v6.48.0

func (*BackupPlanIamMember) ElementType() reflect.Type

func (*BackupPlanIamMember) ToBackupPlanIamMemberOutput added in v6.48.0

func (i *BackupPlanIamMember) ToBackupPlanIamMemberOutput() BackupPlanIamMemberOutput

func (*BackupPlanIamMember) ToBackupPlanIamMemberOutputWithContext added in v6.48.0

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

func (*BackupPlanIamMember) ToOutput added in v6.65.1

type BackupPlanIamMemberArgs added in v6.48.0

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

The set of arguments for constructing a BackupPlanIamMember resource.

func (BackupPlanIamMemberArgs) ElementType added in v6.48.0

func (BackupPlanIamMemberArgs) ElementType() reflect.Type

type BackupPlanIamMemberArray added in v6.48.0

type BackupPlanIamMemberArray []BackupPlanIamMemberInput

func (BackupPlanIamMemberArray) ElementType added in v6.48.0

func (BackupPlanIamMemberArray) ElementType() reflect.Type

func (BackupPlanIamMemberArray) ToBackupPlanIamMemberArrayOutput added in v6.48.0

func (i BackupPlanIamMemberArray) ToBackupPlanIamMemberArrayOutput() BackupPlanIamMemberArrayOutput

func (BackupPlanIamMemberArray) ToBackupPlanIamMemberArrayOutputWithContext added in v6.48.0

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

func (BackupPlanIamMemberArray) ToOutput added in v6.65.1

type BackupPlanIamMemberArrayInput added in v6.48.0

type BackupPlanIamMemberArrayInput interface {
	pulumi.Input

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

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

BackupPlanIamMemberArray{ BackupPlanIamMemberArgs{...} }

type BackupPlanIamMemberArrayOutput added in v6.48.0

type BackupPlanIamMemberArrayOutput struct{ *pulumi.OutputState }

func (BackupPlanIamMemberArrayOutput) ElementType added in v6.48.0

func (BackupPlanIamMemberArrayOutput) Index added in v6.48.0

func (BackupPlanIamMemberArrayOutput) ToBackupPlanIamMemberArrayOutput added in v6.48.0

func (o BackupPlanIamMemberArrayOutput) ToBackupPlanIamMemberArrayOutput() BackupPlanIamMemberArrayOutput

func (BackupPlanIamMemberArrayOutput) ToBackupPlanIamMemberArrayOutputWithContext added in v6.48.0

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

func (BackupPlanIamMemberArrayOutput) ToOutput added in v6.65.1

type BackupPlanIamMemberCondition added in v6.48.0

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

type BackupPlanIamMemberConditionArgs added in v6.48.0

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

func (BackupPlanIamMemberConditionArgs) ElementType added in v6.48.0

func (BackupPlanIamMemberConditionArgs) ToBackupPlanIamMemberConditionOutput added in v6.48.0

func (i BackupPlanIamMemberConditionArgs) ToBackupPlanIamMemberConditionOutput() BackupPlanIamMemberConditionOutput

func (BackupPlanIamMemberConditionArgs) ToBackupPlanIamMemberConditionOutputWithContext added in v6.48.0

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

func (BackupPlanIamMemberConditionArgs) ToBackupPlanIamMemberConditionPtrOutput added in v6.48.0

func (i BackupPlanIamMemberConditionArgs) ToBackupPlanIamMemberConditionPtrOutput() BackupPlanIamMemberConditionPtrOutput

func (BackupPlanIamMemberConditionArgs) ToBackupPlanIamMemberConditionPtrOutputWithContext added in v6.48.0

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

func (BackupPlanIamMemberConditionArgs) ToOutput added in v6.65.1

type BackupPlanIamMemberConditionInput added in v6.48.0

type BackupPlanIamMemberConditionInput interface {
	pulumi.Input

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

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

BackupPlanIamMemberConditionArgs{...}

type BackupPlanIamMemberConditionOutput added in v6.48.0

type BackupPlanIamMemberConditionOutput struct{ *pulumi.OutputState }

func (BackupPlanIamMemberConditionOutput) Description added in v6.48.0

func (BackupPlanIamMemberConditionOutput) ElementType added in v6.48.0

func (BackupPlanIamMemberConditionOutput) Expression added in v6.48.0

func (BackupPlanIamMemberConditionOutput) Title added in v6.48.0

func (BackupPlanIamMemberConditionOutput) ToBackupPlanIamMemberConditionOutput added in v6.48.0

func (o BackupPlanIamMemberConditionOutput) ToBackupPlanIamMemberConditionOutput() BackupPlanIamMemberConditionOutput

func (BackupPlanIamMemberConditionOutput) ToBackupPlanIamMemberConditionOutputWithContext added in v6.48.0

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

func (BackupPlanIamMemberConditionOutput) ToBackupPlanIamMemberConditionPtrOutput added in v6.48.0

func (o BackupPlanIamMemberConditionOutput) ToBackupPlanIamMemberConditionPtrOutput() BackupPlanIamMemberConditionPtrOutput

func (BackupPlanIamMemberConditionOutput) ToBackupPlanIamMemberConditionPtrOutputWithContext added in v6.48.0

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

func (BackupPlanIamMemberConditionOutput) ToOutput added in v6.65.1

type BackupPlanIamMemberConditionPtrInput added in v6.48.0

type BackupPlanIamMemberConditionPtrInput interface {
	pulumi.Input

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

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

        BackupPlanIamMemberConditionArgs{...}

or:

        nil

func BackupPlanIamMemberConditionPtr added in v6.48.0

type BackupPlanIamMemberConditionPtrOutput added in v6.48.0

type BackupPlanIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (BackupPlanIamMemberConditionPtrOutput) Description added in v6.48.0

func (BackupPlanIamMemberConditionPtrOutput) Elem added in v6.48.0

func (BackupPlanIamMemberConditionPtrOutput) ElementType added in v6.48.0

func (BackupPlanIamMemberConditionPtrOutput) Expression added in v6.48.0

func (BackupPlanIamMemberConditionPtrOutput) Title added in v6.48.0

func (BackupPlanIamMemberConditionPtrOutput) ToBackupPlanIamMemberConditionPtrOutput added in v6.48.0

func (o BackupPlanIamMemberConditionPtrOutput) ToBackupPlanIamMemberConditionPtrOutput() BackupPlanIamMemberConditionPtrOutput

func (BackupPlanIamMemberConditionPtrOutput) ToBackupPlanIamMemberConditionPtrOutputWithContext added in v6.48.0

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

func (BackupPlanIamMemberConditionPtrOutput) ToOutput added in v6.65.1

type BackupPlanIamMemberInput added in v6.48.0

type BackupPlanIamMemberInput interface {
	pulumi.Input

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

type BackupPlanIamMemberMap added in v6.48.0

type BackupPlanIamMemberMap map[string]BackupPlanIamMemberInput

func (BackupPlanIamMemberMap) ElementType added in v6.48.0

func (BackupPlanIamMemberMap) ElementType() reflect.Type

func (BackupPlanIamMemberMap) ToBackupPlanIamMemberMapOutput added in v6.48.0

func (i BackupPlanIamMemberMap) ToBackupPlanIamMemberMapOutput() BackupPlanIamMemberMapOutput

func (BackupPlanIamMemberMap) ToBackupPlanIamMemberMapOutputWithContext added in v6.48.0

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

func (BackupPlanIamMemberMap) ToOutput added in v6.65.1

type BackupPlanIamMemberMapInput added in v6.48.0

type BackupPlanIamMemberMapInput interface {
	pulumi.Input

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

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

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

type BackupPlanIamMemberMapOutput added in v6.48.0

type BackupPlanIamMemberMapOutput struct{ *pulumi.OutputState }

func (BackupPlanIamMemberMapOutput) ElementType added in v6.48.0

func (BackupPlanIamMemberMapOutput) MapIndex added in v6.48.0

func (BackupPlanIamMemberMapOutput) ToBackupPlanIamMemberMapOutput added in v6.48.0

func (o BackupPlanIamMemberMapOutput) ToBackupPlanIamMemberMapOutput() BackupPlanIamMemberMapOutput

func (BackupPlanIamMemberMapOutput) ToBackupPlanIamMemberMapOutputWithContext added in v6.48.0

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

func (BackupPlanIamMemberMapOutput) ToOutput added in v6.65.1

type BackupPlanIamMemberOutput added in v6.48.0

type BackupPlanIamMemberOutput struct{ *pulumi.OutputState }

func (BackupPlanIamMemberOutput) Condition added in v6.48.0

func (BackupPlanIamMemberOutput) ElementType added in v6.48.0

func (BackupPlanIamMemberOutput) ElementType() reflect.Type

func (BackupPlanIamMemberOutput) Etag added in v6.48.0

(Computed) The etag of the IAM policy.

func (BackupPlanIamMemberOutput) Location added in v6.48.0

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

func (BackupPlanIamMemberOutput) Member added in v6.48.0

func (BackupPlanIamMemberOutput) Name added in v6.48.0

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

func (BackupPlanIamMemberOutput) Project added in v6.48.0

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

  • `member/members` - (Required) 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) Role added in v6.48.0

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

func (BackupPlanIamMemberOutput) ToBackupPlanIamMemberOutput added in v6.48.0

func (o BackupPlanIamMemberOutput) ToBackupPlanIamMemberOutput() BackupPlanIamMemberOutput

func (BackupPlanIamMemberOutput) ToBackupPlanIamMemberOutputWithContext added in v6.48.0

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

func (BackupPlanIamMemberOutput) ToOutput added in v6.65.1

type BackupPlanIamMemberState added in v6.48.0

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

func (BackupPlanIamMemberState) ElementType added in v6.48.0

func (BackupPlanIamMemberState) ElementType() reflect.Type

type BackupPlanIamPolicy added in v6.48.0

type BackupPlanIamPolicy struct {
	pulumi.CustomResourceState

	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The region of the Backup Plan.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringOutput `pulumi:"location"`
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringOutput `pulumi:"name"`
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringOutput `pulumi:"policyData"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) 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"
	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/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```

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

```go package main

import (

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

)

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

```

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

```go package main

import (

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

)

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

```

## Import

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

```sh

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

```

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

```sh

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

```

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

```sh

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

```

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

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

func GetBackupPlanIamPolicy added in v6.48.0

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

GetBackupPlanIamPolicy gets an existing BackupPlanIamPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBackupPlanIamPolicy added in v6.48.0

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

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

func (*BackupPlanIamPolicy) ElementType added in v6.48.0

func (*BackupPlanIamPolicy) ElementType() reflect.Type

func (*BackupPlanIamPolicy) ToBackupPlanIamPolicyOutput added in v6.48.0

func (i *BackupPlanIamPolicy) ToBackupPlanIamPolicyOutput() BackupPlanIamPolicyOutput

func (*BackupPlanIamPolicy) ToBackupPlanIamPolicyOutputWithContext added in v6.48.0

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

func (*BackupPlanIamPolicy) ToOutput added in v6.65.1

type BackupPlanIamPolicyArgs added in v6.48.0

type BackupPlanIamPolicyArgs struct {
	// The region of the Backup Plan.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) 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"
	Project pulumi.StringPtrInput
}

The set of arguments for constructing a BackupPlanIamPolicy resource.

func (BackupPlanIamPolicyArgs) ElementType added in v6.48.0

func (BackupPlanIamPolicyArgs) ElementType() reflect.Type

type BackupPlanIamPolicyArray added in v6.48.0

type BackupPlanIamPolicyArray []BackupPlanIamPolicyInput

func (BackupPlanIamPolicyArray) ElementType added in v6.48.0

func (BackupPlanIamPolicyArray) ElementType() reflect.Type

func (BackupPlanIamPolicyArray) ToBackupPlanIamPolicyArrayOutput added in v6.48.0

func (i BackupPlanIamPolicyArray) ToBackupPlanIamPolicyArrayOutput() BackupPlanIamPolicyArrayOutput

func (BackupPlanIamPolicyArray) ToBackupPlanIamPolicyArrayOutputWithContext added in v6.48.0

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

func (BackupPlanIamPolicyArray) ToOutput added in v6.65.1

type BackupPlanIamPolicyArrayInput added in v6.48.0

type BackupPlanIamPolicyArrayInput interface {
	pulumi.Input

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

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

BackupPlanIamPolicyArray{ BackupPlanIamPolicyArgs{...} }

type BackupPlanIamPolicyArrayOutput added in v6.48.0

type BackupPlanIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (BackupPlanIamPolicyArrayOutput) ElementType added in v6.48.0

func (BackupPlanIamPolicyArrayOutput) Index added in v6.48.0

func (BackupPlanIamPolicyArrayOutput) ToBackupPlanIamPolicyArrayOutput added in v6.48.0

func (o BackupPlanIamPolicyArrayOutput) ToBackupPlanIamPolicyArrayOutput() BackupPlanIamPolicyArrayOutput

func (BackupPlanIamPolicyArrayOutput) ToBackupPlanIamPolicyArrayOutputWithContext added in v6.48.0

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

func (BackupPlanIamPolicyArrayOutput) ToOutput added in v6.65.1

type BackupPlanIamPolicyInput added in v6.48.0

type BackupPlanIamPolicyInput interface {
	pulumi.Input

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

type BackupPlanIamPolicyMap added in v6.48.0

type BackupPlanIamPolicyMap map[string]BackupPlanIamPolicyInput

func (BackupPlanIamPolicyMap) ElementType added in v6.48.0

func (BackupPlanIamPolicyMap) ElementType() reflect.Type

func (BackupPlanIamPolicyMap) ToBackupPlanIamPolicyMapOutput added in v6.48.0

func (i BackupPlanIamPolicyMap) ToBackupPlanIamPolicyMapOutput() BackupPlanIamPolicyMapOutput

func (BackupPlanIamPolicyMap) ToBackupPlanIamPolicyMapOutputWithContext added in v6.48.0

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

func (BackupPlanIamPolicyMap) ToOutput added in v6.65.1

type BackupPlanIamPolicyMapInput added in v6.48.0

type BackupPlanIamPolicyMapInput interface {
	pulumi.Input

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

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

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

type BackupPlanIamPolicyMapOutput added in v6.48.0

type BackupPlanIamPolicyMapOutput struct{ *pulumi.OutputState }

func (BackupPlanIamPolicyMapOutput) ElementType added in v6.48.0

func (BackupPlanIamPolicyMapOutput) MapIndex added in v6.48.0

func (BackupPlanIamPolicyMapOutput) ToBackupPlanIamPolicyMapOutput added in v6.48.0

func (o BackupPlanIamPolicyMapOutput) ToBackupPlanIamPolicyMapOutput() BackupPlanIamPolicyMapOutput

func (BackupPlanIamPolicyMapOutput) ToBackupPlanIamPolicyMapOutputWithContext added in v6.48.0

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

func (BackupPlanIamPolicyMapOutput) ToOutput added in v6.65.1

type BackupPlanIamPolicyOutput added in v6.48.0

type BackupPlanIamPolicyOutput struct{ *pulumi.OutputState }

func (BackupPlanIamPolicyOutput) ElementType added in v6.48.0

func (BackupPlanIamPolicyOutput) ElementType() reflect.Type

func (BackupPlanIamPolicyOutput) Etag added in v6.48.0

(Computed) The etag of the IAM policy.

func (BackupPlanIamPolicyOutput) Location added in v6.48.0

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

func (BackupPlanIamPolicyOutput) Name added in v6.48.0

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

func (BackupPlanIamPolicyOutput) PolicyData added in v6.48.0

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

func (BackupPlanIamPolicyOutput) Project added in v6.48.0

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

  • `member/members` - (Required) 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 (BackupPlanIamPolicyOutput) ToBackupPlanIamPolicyOutput added in v6.48.0

func (o BackupPlanIamPolicyOutput) ToBackupPlanIamPolicyOutput() BackupPlanIamPolicyOutput

func (BackupPlanIamPolicyOutput) ToBackupPlanIamPolicyOutputWithContext added in v6.48.0

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

func (BackupPlanIamPolicyOutput) ToOutput added in v6.65.1

type BackupPlanIamPolicyState added in v6.48.0

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

func (BackupPlanIamPolicyState) ElementType added in v6.48.0

func (BackupPlanIamPolicyState) ElementType() reflect.Type

type BackupPlanInput

type BackupPlanInput interface {
	pulumi.Input

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

type BackupPlanMap

type BackupPlanMap map[string]BackupPlanInput

func (BackupPlanMap) ElementType

func (BackupPlanMap) ElementType() reflect.Type

func (BackupPlanMap) ToBackupPlanMapOutput

func (i BackupPlanMap) ToBackupPlanMapOutput() BackupPlanMapOutput

func (BackupPlanMap) ToBackupPlanMapOutputWithContext

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

func (BackupPlanMap) ToOutput added in v6.65.1

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

func (BackupPlanMapOutput) ToOutput added in v6.65.1

type BackupPlanOutput

type BackupPlanOutput struct{ *pulumi.OutputState }

func (BackupPlanOutput) BackupConfig

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

func (BackupPlanOutput) BackupSchedule

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

func (BackupPlanOutput) Cluster

func (o BackupPlanOutput) Cluster() pulumi.StringOutput

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

func (BackupPlanOutput) Deactivated

func (o BackupPlanOutput) Deactivated() pulumi.BoolOutput

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

func (BackupPlanOutput) Description

func (o BackupPlanOutput) Description() pulumi.StringPtrOutput

User specified descriptive string for this BackupPlan.

func (BackupPlanOutput) ElementType

func (BackupPlanOutput) ElementType() reflect.Type

func (BackupPlanOutput) Etag

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

func (BackupPlanOutput) Labels

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

func (BackupPlanOutput) Location

func (o BackupPlanOutput) Location() pulumi.StringOutput

The region of the Backup Plan.

***

func (BackupPlanOutput) Name

The full name of the BackupPlan Resource.

func (BackupPlanOutput) Project

func (o BackupPlanOutput) Project() pulumi.StringOutput

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

func (BackupPlanOutput) ProtectedPodCount

func (o BackupPlanOutput) ProtectedPodCount() pulumi.IntOutput

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

func (BackupPlanOutput) RetentionPolicy

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

func (BackupPlanOutput) State added in v6.61.0

The State of the BackupPlan.

func (BackupPlanOutput) StateReason added in v6.61.0

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) ToOutput added in v6.65.1

func (BackupPlanOutput) Uid

Server generated, unique identifier of UUID format.

type BackupPlanRetentionPolicy

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

type BackupPlanRetentionPolicyArgs

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

func (BackupPlanRetentionPolicyArgs) ElementType

func (BackupPlanRetentionPolicyArgs) ToBackupPlanRetentionPolicyOutput

func (i BackupPlanRetentionPolicyArgs) ToBackupPlanRetentionPolicyOutput() BackupPlanRetentionPolicyOutput

func (BackupPlanRetentionPolicyArgs) ToBackupPlanRetentionPolicyOutputWithContext

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

func (BackupPlanRetentionPolicyArgs) ToBackupPlanRetentionPolicyPtrOutput

func (i BackupPlanRetentionPolicyArgs) ToBackupPlanRetentionPolicyPtrOutput() BackupPlanRetentionPolicyPtrOutput

func (BackupPlanRetentionPolicyArgs) ToBackupPlanRetentionPolicyPtrOutputWithContext

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

func (BackupPlanRetentionPolicyArgs) ToOutput added in v6.65.1

type BackupPlanRetentionPolicyInput

type BackupPlanRetentionPolicyInput interface {
	pulumi.Input

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

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

BackupPlanRetentionPolicyArgs{...}

type BackupPlanRetentionPolicyOutput

type BackupPlanRetentionPolicyOutput struct{ *pulumi.OutputState }

func (BackupPlanRetentionPolicyOutput) BackupDeleteLockDays

func (o BackupPlanRetentionPolicyOutput) BackupDeleteLockDays() pulumi.IntPtrOutput

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

func (BackupPlanRetentionPolicyOutput) BackupRetainDays

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

func (BackupPlanRetentionPolicyOutput) ElementType

func (BackupPlanRetentionPolicyOutput) Locked

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

func (BackupPlanRetentionPolicyOutput) ToBackupPlanRetentionPolicyOutput

func (o BackupPlanRetentionPolicyOutput) ToBackupPlanRetentionPolicyOutput() BackupPlanRetentionPolicyOutput

func (BackupPlanRetentionPolicyOutput) ToBackupPlanRetentionPolicyOutputWithContext

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

func (BackupPlanRetentionPolicyOutput) ToBackupPlanRetentionPolicyPtrOutput

func (o BackupPlanRetentionPolicyOutput) ToBackupPlanRetentionPolicyPtrOutput() BackupPlanRetentionPolicyPtrOutput

func (BackupPlanRetentionPolicyOutput) ToBackupPlanRetentionPolicyPtrOutputWithContext

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

func (BackupPlanRetentionPolicyOutput) ToOutput added in v6.65.1

type BackupPlanRetentionPolicyPtrInput

type BackupPlanRetentionPolicyPtrInput interface {
	pulumi.Input

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

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

        BackupPlanRetentionPolicyArgs{...}

or:

        nil

type BackupPlanRetentionPolicyPtrOutput

type BackupPlanRetentionPolicyPtrOutput struct{ *pulumi.OutputState }

func (BackupPlanRetentionPolicyPtrOutput) BackupDeleteLockDays

func (o BackupPlanRetentionPolicyPtrOutput) BackupDeleteLockDays() pulumi.IntPtrOutput

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

func (BackupPlanRetentionPolicyPtrOutput) BackupRetainDays

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

func (BackupPlanRetentionPolicyPtrOutput) Elem

func (BackupPlanRetentionPolicyPtrOutput) ElementType

func (BackupPlanRetentionPolicyPtrOutput) Locked

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

func (BackupPlanRetentionPolicyPtrOutput) ToBackupPlanRetentionPolicyPtrOutput

func (o BackupPlanRetentionPolicyPtrOutput) ToBackupPlanRetentionPolicyPtrOutput() BackupPlanRetentionPolicyPtrOutput

func (BackupPlanRetentionPolicyPtrOutput) ToBackupPlanRetentionPolicyPtrOutputWithContext

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

func (BackupPlanRetentionPolicyPtrOutput) ToOutput added in v6.65.1

type BackupPlanState

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

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 added in v6.59.0

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 added in v6.59.0

type LookupBackupPlanIamPolicyResult added in v6.59.0

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 added in v6.59.0

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/v6/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(google_gke_backup_backup_plan.Basic.Project),
			Location: pulumi.StringRef(google_gke_backup_backup_plan.Basic.Location),
			Name:     google_gke_backup_backup_plan.Basic.Name,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupBackupPlanIamPolicyResultOutput added in v6.59.0

type LookupBackupPlanIamPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getBackupPlanIamPolicy.

func (LookupBackupPlanIamPolicyResultOutput) ElementType added in v6.59.0

func (LookupBackupPlanIamPolicyResultOutput) Etag added in v6.59.0

(Computed) The etag of the IAM policy.

func (LookupBackupPlanIamPolicyResultOutput) Id added in v6.59.0

The provider-assigned unique ID for this managed resource.

func (LookupBackupPlanIamPolicyResultOutput) Location added in v6.59.0

func (LookupBackupPlanIamPolicyResultOutput) Name added in v6.59.0

func (LookupBackupPlanIamPolicyResultOutput) PolicyData added in v6.59.0

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

func (LookupBackupPlanIamPolicyResultOutput) Project added in v6.59.0

func (LookupBackupPlanIamPolicyResultOutput) ToLookupBackupPlanIamPolicyResultOutput added in v6.59.0

func (o LookupBackupPlanIamPolicyResultOutput) ToLookupBackupPlanIamPolicyResultOutput() LookupBackupPlanIamPolicyResultOutput

func (LookupBackupPlanIamPolicyResultOutput) ToLookupBackupPlanIamPolicyResultOutputWithContext added in v6.59.0

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

func (LookupBackupPlanIamPolicyResultOutput) ToOutput added in v6.65.1

type LookupRestorePlanIamPolicyArgs added in v6.67.0

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 added in v6.67.0

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 added in v6.67.0

type LookupRestorePlanIamPolicyResult added in v6.67.0

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 added in v6.67.0

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/v6/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(google_gke_backup_restore_plan.All_ns.Project),
			Location: pulumi.StringRef(google_gke_backup_restore_plan.All_ns.Location),
			Name:     google_gke_backup_restore_plan.All_ns.Name,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupRestorePlanIamPolicyResultOutput added in v6.67.0

type LookupRestorePlanIamPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getRestorePlanIamPolicy.

func (LookupRestorePlanIamPolicyResultOutput) ElementType added in v6.67.0

func (LookupRestorePlanIamPolicyResultOutput) Etag added in v6.67.0

(Computed) The etag of the IAM policy.

func (LookupRestorePlanIamPolicyResultOutput) Id added in v6.67.0

The provider-assigned unique ID for this managed resource.

func (LookupRestorePlanIamPolicyResultOutput) Location added in v6.67.0

func (LookupRestorePlanIamPolicyResultOutput) Name added in v6.67.0

func (LookupRestorePlanIamPolicyResultOutput) PolicyData added in v6.67.0

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

func (LookupRestorePlanIamPolicyResultOutput) Project added in v6.67.0

func (LookupRestorePlanIamPolicyResultOutput) ToLookupRestorePlanIamPolicyResultOutput added in v6.67.0

func (o LookupRestorePlanIamPolicyResultOutput) ToLookupRestorePlanIamPolicyResultOutput() LookupRestorePlanIamPolicyResultOutput

func (LookupRestorePlanIamPolicyResultOutput) ToLookupRestorePlanIamPolicyResultOutputWithContext added in v6.67.0

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

func (LookupRestorePlanIamPolicyResultOutput) ToOutput added in v6.67.0

type RestorePlan added in v6.67.0

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"`
	// Description: A set of custom labels supplied by the user.
	// A list of key->value pairs.
	// Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// The region of the Restore 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"`
	// 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/v6/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := container.NewCluster(ctx, "primary", &container.ClusterArgs{
			Location:         pulumi.String("us-central1"),
			InitialNodeCount: pulumi.Int(1),
			WorkloadIdentityConfig: &container.ClusterWorkloadIdentityConfigArgs{
				WorkloadPool: pulumi.String("my-project-name.svc.id.goog"),
			},
			AddonsConfig: &container.ClusterAddonsConfigArgs{
				GkeBackupAgentConfig: &container.ClusterAddonsConfigGkeBackupAgentConfigArgs{
					Enabled: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Cluster:  primary.ID(),
			Location: pulumi.String("us-central1"),
			BackupConfig: &gkebackup.BackupPlanBackupConfigArgs{
				IncludeVolumeData: pulumi.Bool(true),
				IncludeSecrets:    pulumi.Bool(true),
				AllNamespaces:     pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		_, err = gkebackup.NewRestorePlan(ctx, "allNs", &gkebackup.RestorePlanArgs{
			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/v6/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := container.NewCluster(ctx, "primary", &container.ClusterArgs{
			Location:         pulumi.String("us-central1"),
			InitialNodeCount: pulumi.Int(1),
			WorkloadIdentityConfig: &container.ClusterWorkloadIdentityConfigArgs{
				WorkloadPool: pulumi.String("my-project-name.svc.id.goog"),
			},
			AddonsConfig: &container.ClusterAddonsConfigArgs{
				GkeBackupAgentConfig: &container.ClusterAddonsConfigGkeBackupAgentConfigArgs{
					Enabled: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Cluster:  primary.ID(),
			Location: pulumi.String("us-central1"),
			BackupConfig: &gkebackup.BackupPlanBackupConfigArgs{
				IncludeVolumeData: pulumi.Bool(true),
				IncludeSecrets:    pulumi.Bool(true),
				AllNamespaces:     pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		_, err = gkebackup.NewRestorePlan(ctx, "rollbackNs", &gkebackup.RestorePlanArgs{
			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/v6/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := container.NewCluster(ctx, "primary", &container.ClusterArgs{
			Location:         pulumi.String("us-central1"),
			InitialNodeCount: pulumi.Int(1),
			WorkloadIdentityConfig: &container.ClusterWorkloadIdentityConfigArgs{
				WorkloadPool: pulumi.String("my-project-name.svc.id.goog"),
			},
			AddonsConfig: &container.ClusterAddonsConfigArgs{
				GkeBackupAgentConfig: &container.ClusterAddonsConfigGkeBackupAgentConfigArgs{
					Enabled: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Cluster:  primary.ID(),
			Location: pulumi.String("us-central1"),
			BackupConfig: &gkebackup.BackupPlanBackupConfigArgs{
				IncludeVolumeData: pulumi.Bool(true),
				IncludeSecrets:    pulumi.Bool(true),
				AllNamespaces:     pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		_, err = gkebackup.NewRestorePlan(ctx, "rollbackApp", &gkebackup.RestorePlanArgs{
			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/v6/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := container.NewCluster(ctx, "primary", &container.ClusterArgs{
			Location:         pulumi.String("us-central1"),
			InitialNodeCount: pulumi.Int(1),
			WorkloadIdentityConfig: &container.ClusterWorkloadIdentityConfigArgs{
				WorkloadPool: pulumi.String("my-project-name.svc.id.goog"),
			},
			AddonsConfig: &container.ClusterAddonsConfigArgs{
				GkeBackupAgentConfig: &container.ClusterAddonsConfigGkeBackupAgentConfigArgs{
					Enabled: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Cluster:  primary.ID(),
			Location: pulumi.String("us-central1"),
			BackupConfig: &gkebackup.BackupPlanBackupConfigArgs{
				IncludeVolumeData: pulumi.Bool(true),
				IncludeSecrets:    pulumi.Bool(true),
				AllNamespaces:     pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		_, err = gkebackup.NewRestorePlan(ctx, "allClusterResources", &gkebackup.RestorePlanArgs{
			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/v6/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := container.NewCluster(ctx, "primary", &container.ClusterArgs{
			Location:         pulumi.String("us-central1"),
			InitialNodeCount: pulumi.Int(1),
			WorkloadIdentityConfig: &container.ClusterWorkloadIdentityConfigArgs{
				WorkloadPool: pulumi.String("my-project-name.svc.id.goog"),
			},
			AddonsConfig: &container.ClusterAddonsConfigArgs{
				GkeBackupAgentConfig: &container.ClusterAddonsConfigGkeBackupAgentConfigArgs{
					Enabled: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Cluster:  primary.ID(),
			Location: pulumi.String("us-central1"),
			BackupConfig: &gkebackup.BackupPlanBackupConfigArgs{
				IncludeVolumeData: pulumi.Bool(true),
				IncludeSecrets:    pulumi.Bool(true),
				AllNamespaces:     pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		_, err = gkebackup.NewRestorePlan(ctx, "renameNs", &gkebackup.RestorePlanArgs{
			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/v6/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```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 added in v6.67.0

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 added in v6.67.0

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 added in v6.67.0

func (*RestorePlan) ElementType() reflect.Type

func (*RestorePlan) ToOutput added in v6.67.0

func (i *RestorePlan) ToOutput(ctx context.Context) pulumix.Output[*RestorePlan]

func (*RestorePlan) ToRestorePlanOutput added in v6.67.0

func (i *RestorePlan) ToRestorePlanOutput() RestorePlanOutput

func (*RestorePlan) ToRestorePlanOutputWithContext added in v6.67.0

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

type RestorePlanArgs added in v6.67.0

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" }.
	Labels pulumi.StringMapInput
	// The region of the Restore 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
	// 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 added in v6.67.0

func (RestorePlanArgs) ElementType() reflect.Type

type RestorePlanArray added in v6.67.0

type RestorePlanArray []RestorePlanInput

func (RestorePlanArray) ElementType added in v6.67.0

func (RestorePlanArray) ElementType() reflect.Type

func (RestorePlanArray) ToOutput added in v6.67.0

func (RestorePlanArray) ToRestorePlanArrayOutput added in v6.67.0

func (i RestorePlanArray) ToRestorePlanArrayOutput() RestorePlanArrayOutput

func (RestorePlanArray) ToRestorePlanArrayOutputWithContext added in v6.67.0

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

type RestorePlanArrayInput added in v6.67.0

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 added in v6.67.0

type RestorePlanArrayOutput struct{ *pulumi.OutputState }

func (RestorePlanArrayOutput) ElementType added in v6.67.0

func (RestorePlanArrayOutput) ElementType() reflect.Type

func (RestorePlanArrayOutput) Index added in v6.67.0

func (RestorePlanArrayOutput) ToOutput added in v6.67.0

func (RestorePlanArrayOutput) ToRestorePlanArrayOutput added in v6.67.0

func (o RestorePlanArrayOutput) ToRestorePlanArrayOutput() RestorePlanArrayOutput

func (RestorePlanArrayOutput) ToRestorePlanArrayOutputWithContext added in v6.67.0

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

type RestorePlanIamBinding added in v6.67.0

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"`
	// 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"`
	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/v6/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := container.NewCluster(ctx, "primary", &container.ClusterArgs{
			Location:         pulumi.String("us-central1"),
			InitialNodeCount: pulumi.Int(1),
			WorkloadIdentityConfig: &container.ClusterWorkloadIdentityConfigArgs{
				WorkloadPool: pulumi.String("my-project-name.svc.id.goog"),
			},
			AddonsConfig: &container.ClusterAddonsConfigArgs{
				GkeBackupAgentConfig: &container.ClusterAddonsConfigGkeBackupAgentConfigArgs{
					Enabled: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Cluster:  primary.ID(),
			Location: pulumi.String("us-central1"),
			BackupConfig: &gkebackup.BackupPlanBackupConfigArgs{
				IncludeVolumeData: pulumi.Bool(true),
				IncludeSecrets:    pulumi.Bool(true),
				AllNamespaces:     pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		_, err = gkebackup.NewRestorePlan(ctx, "allNs", &gkebackup.RestorePlanArgs{
			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/v6/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := container.NewCluster(ctx, "primary", &container.ClusterArgs{
			Location:         pulumi.String("us-central1"),
			InitialNodeCount: pulumi.Int(1),
			WorkloadIdentityConfig: &container.ClusterWorkloadIdentityConfigArgs{
				WorkloadPool: pulumi.String("my-project-name.svc.id.goog"),
			},
			AddonsConfig: &container.ClusterAddonsConfigArgs{
				GkeBackupAgentConfig: &container.ClusterAddonsConfigGkeBackupAgentConfigArgs{
					Enabled: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Cluster:  primary.ID(),
			Location: pulumi.String("us-central1"),
			BackupConfig: &gkebackup.BackupPlanBackupConfigArgs{
				IncludeVolumeData: pulumi.Bool(true),
				IncludeSecrets:    pulumi.Bool(true),
				AllNamespaces:     pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		_, err = gkebackup.NewRestorePlan(ctx, "rollbackNs", &gkebackup.RestorePlanArgs{
			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/v6/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := container.NewCluster(ctx, "primary", &container.ClusterArgs{
			Location:         pulumi.String("us-central1"),
			InitialNodeCount: pulumi.Int(1),
			WorkloadIdentityConfig: &container.ClusterWorkloadIdentityConfigArgs{
				WorkloadPool: pulumi.String("my-project-name.svc.id.goog"),
			},
			AddonsConfig: &container.ClusterAddonsConfigArgs{
				GkeBackupAgentConfig: &container.ClusterAddonsConfigGkeBackupAgentConfigArgs{
					Enabled: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Cluster:  primary.ID(),
			Location: pulumi.String("us-central1"),
			BackupConfig: &gkebackup.BackupPlanBackupConfigArgs{
				IncludeVolumeData: pulumi.Bool(true),
				IncludeSecrets:    pulumi.Bool(true),
				AllNamespaces:     pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		_, err = gkebackup.NewRestorePlan(ctx, "rollbackApp", &gkebackup.RestorePlanArgs{
			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/v6/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := container.NewCluster(ctx, "primary", &container.ClusterArgs{
			Location:         pulumi.String("us-central1"),
			InitialNodeCount: pulumi.Int(1),
			WorkloadIdentityConfig: &container.ClusterWorkloadIdentityConfigArgs{
				WorkloadPool: pulumi.String("my-project-name.svc.id.goog"),
			},
			AddonsConfig: &container.ClusterAddonsConfigArgs{
				GkeBackupAgentConfig: &container.ClusterAddonsConfigGkeBackupAgentConfigArgs{
					Enabled: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Cluster:  primary.ID(),
			Location: pulumi.String("us-central1"),
			BackupConfig: &gkebackup.BackupPlanBackupConfigArgs{
				IncludeVolumeData: pulumi.Bool(true),
				IncludeSecrets:    pulumi.Bool(true),
				AllNamespaces:     pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		_, err = gkebackup.NewRestorePlan(ctx, "allClusterResources", &gkebackup.RestorePlanArgs{
			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/v6/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := container.NewCluster(ctx, "primary", &container.ClusterArgs{
			Location:         pulumi.String("us-central1"),
			InitialNodeCount: pulumi.Int(1),
			WorkloadIdentityConfig: &container.ClusterWorkloadIdentityConfigArgs{
				WorkloadPool: pulumi.String("my-project-name.svc.id.goog"),
			},
			AddonsConfig: &container.ClusterAddonsConfigArgs{
				GkeBackupAgentConfig: &container.ClusterAddonsConfigGkeBackupAgentConfigArgs{
					Enabled: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Cluster:  primary.ID(),
			Location: pulumi.String("us-central1"),
			BackupConfig: &gkebackup.BackupPlanBackupConfigArgs{
				IncludeVolumeData: pulumi.Bool(true),
				IncludeSecrets:    pulumi.Bool(true),
				AllNamespaces:     pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		_, err = gkebackup.NewRestorePlan(ctx, "renameNs", &gkebackup.RestorePlanArgs{
			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/v6/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```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 added in v6.67.0

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 added in v6.67.0

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 added in v6.67.0

func (*RestorePlanIamBinding) ElementType() reflect.Type

func (*RestorePlanIamBinding) ToOutput added in v6.67.0

func (*RestorePlanIamBinding) ToRestorePlanIamBindingOutput added in v6.67.0

func (i *RestorePlanIamBinding) ToRestorePlanIamBindingOutput() RestorePlanIamBindingOutput

func (*RestorePlanIamBinding) ToRestorePlanIamBindingOutputWithContext added in v6.67.0

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

type RestorePlanIamBindingArgs added in v6.67.0

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
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	Role    pulumi.StringInput
}

The set of arguments for constructing a RestorePlanIamBinding resource.

func (RestorePlanIamBindingArgs) ElementType added in v6.67.0

func (RestorePlanIamBindingArgs) ElementType() reflect.Type

type RestorePlanIamBindingArray added in v6.67.0

type RestorePlanIamBindingArray []RestorePlanIamBindingInput

func (RestorePlanIamBindingArray) ElementType added in v6.67.0

func (RestorePlanIamBindingArray) ElementType() reflect.Type

func (RestorePlanIamBindingArray) ToOutput added in v6.67.0

func (RestorePlanIamBindingArray) ToRestorePlanIamBindingArrayOutput added in v6.67.0

func (i RestorePlanIamBindingArray) ToRestorePlanIamBindingArrayOutput() RestorePlanIamBindingArrayOutput

func (RestorePlanIamBindingArray) ToRestorePlanIamBindingArrayOutputWithContext added in v6.67.0

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

type RestorePlanIamBindingArrayInput added in v6.67.0

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 added in v6.67.0

type RestorePlanIamBindingArrayOutput struct{ *pulumi.OutputState }

func (RestorePlanIamBindingArrayOutput) ElementType added in v6.67.0

func (RestorePlanIamBindingArrayOutput) Index added in v6.67.0

func (RestorePlanIamBindingArrayOutput) ToOutput added in v6.67.0

func (RestorePlanIamBindingArrayOutput) ToRestorePlanIamBindingArrayOutput added in v6.67.0

func (o RestorePlanIamBindingArrayOutput) ToRestorePlanIamBindingArrayOutput() RestorePlanIamBindingArrayOutput

func (RestorePlanIamBindingArrayOutput) ToRestorePlanIamBindingArrayOutputWithContext added in v6.67.0

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

type RestorePlanIamBindingCondition added in v6.67.0

type RestorePlanIamBindingCondition struct {
	// User specified descriptive string for this RestorePlan.
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type RestorePlanIamBindingConditionArgs added in v6.67.0

type RestorePlanIamBindingConditionArgs struct {
	// User specified descriptive string for this RestorePlan.
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (RestorePlanIamBindingConditionArgs) ElementType added in v6.67.0

func (RestorePlanIamBindingConditionArgs) ToOutput added in v6.67.0

func (RestorePlanIamBindingConditionArgs) ToRestorePlanIamBindingConditionOutput added in v6.67.0

func (i RestorePlanIamBindingConditionArgs) ToRestorePlanIamBindingConditionOutput() RestorePlanIamBindingConditionOutput

func (RestorePlanIamBindingConditionArgs) ToRestorePlanIamBindingConditionOutputWithContext added in v6.67.0

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

func (RestorePlanIamBindingConditionArgs) ToRestorePlanIamBindingConditionPtrOutput added in v6.67.0

func (i RestorePlanIamBindingConditionArgs) ToRestorePlanIamBindingConditionPtrOutput() RestorePlanIamBindingConditionPtrOutput

func (RestorePlanIamBindingConditionArgs) ToRestorePlanIamBindingConditionPtrOutputWithContext added in v6.67.0

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

type RestorePlanIamBindingConditionInput added in v6.67.0

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 added in v6.67.0

type RestorePlanIamBindingConditionOutput struct{ *pulumi.OutputState }

func (RestorePlanIamBindingConditionOutput) Description added in v6.67.0

User specified descriptive string for this RestorePlan.

func (RestorePlanIamBindingConditionOutput) ElementType added in v6.67.0

func (RestorePlanIamBindingConditionOutput) Expression added in v6.67.0

func (RestorePlanIamBindingConditionOutput) Title added in v6.67.0

func (RestorePlanIamBindingConditionOutput) ToOutput added in v6.67.0

func (RestorePlanIamBindingConditionOutput) ToRestorePlanIamBindingConditionOutput added in v6.67.0

func (o RestorePlanIamBindingConditionOutput) ToRestorePlanIamBindingConditionOutput() RestorePlanIamBindingConditionOutput

func (RestorePlanIamBindingConditionOutput) ToRestorePlanIamBindingConditionOutputWithContext added in v6.67.0

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

func (RestorePlanIamBindingConditionOutput) ToRestorePlanIamBindingConditionPtrOutput added in v6.67.0

func (o RestorePlanIamBindingConditionOutput) ToRestorePlanIamBindingConditionPtrOutput() RestorePlanIamBindingConditionPtrOutput

func (RestorePlanIamBindingConditionOutput) ToRestorePlanIamBindingConditionPtrOutputWithContext added in v6.67.0

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

type RestorePlanIamBindingConditionPtrInput added in v6.67.0

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 added in v6.67.0

type RestorePlanIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (RestorePlanIamBindingConditionPtrOutput) Description added in v6.67.0

User specified descriptive string for this RestorePlan.

func (RestorePlanIamBindingConditionPtrOutput) Elem added in v6.67.0

func (RestorePlanIamBindingConditionPtrOutput) ElementType added in v6.67.0

func (RestorePlanIamBindingConditionPtrOutput) Expression added in v6.67.0

func (RestorePlanIamBindingConditionPtrOutput) Title added in v6.67.0

func (RestorePlanIamBindingConditionPtrOutput) ToOutput added in v6.67.0

func (RestorePlanIamBindingConditionPtrOutput) ToRestorePlanIamBindingConditionPtrOutput added in v6.67.0

func (o RestorePlanIamBindingConditionPtrOutput) ToRestorePlanIamBindingConditionPtrOutput() RestorePlanIamBindingConditionPtrOutput

func (RestorePlanIamBindingConditionPtrOutput) ToRestorePlanIamBindingConditionPtrOutputWithContext added in v6.67.0

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

type RestorePlanIamBindingInput added in v6.67.0

type RestorePlanIamBindingInput interface {
	pulumi.Input

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

type RestorePlanIamBindingMap added in v6.67.0

type RestorePlanIamBindingMap map[string]RestorePlanIamBindingInput

func (RestorePlanIamBindingMap) ElementType added in v6.67.0

func (RestorePlanIamBindingMap) ElementType() reflect.Type

func (RestorePlanIamBindingMap) ToOutput added in v6.67.0

func (RestorePlanIamBindingMap) ToRestorePlanIamBindingMapOutput added in v6.67.0

func (i RestorePlanIamBindingMap) ToRestorePlanIamBindingMapOutput() RestorePlanIamBindingMapOutput

func (RestorePlanIamBindingMap) ToRestorePlanIamBindingMapOutputWithContext added in v6.67.0

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

type RestorePlanIamBindingMapInput added in v6.67.0

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 added in v6.67.0

type RestorePlanIamBindingMapOutput struct{ *pulumi.OutputState }

func (RestorePlanIamBindingMapOutput) ElementType added in v6.67.0

func (RestorePlanIamBindingMapOutput) MapIndex added in v6.67.0

func (RestorePlanIamBindingMapOutput) ToOutput added in v6.67.0

func (RestorePlanIamBindingMapOutput) ToRestorePlanIamBindingMapOutput added in v6.67.0

func (o RestorePlanIamBindingMapOutput) ToRestorePlanIamBindingMapOutput() RestorePlanIamBindingMapOutput

func (RestorePlanIamBindingMapOutput) ToRestorePlanIamBindingMapOutputWithContext added in v6.67.0

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

type RestorePlanIamBindingOutput added in v6.67.0

type RestorePlanIamBindingOutput struct{ *pulumi.OutputState }

func (RestorePlanIamBindingOutput) Condition added in v6.67.0

func (RestorePlanIamBindingOutput) ElementType added in v6.67.0

func (RestorePlanIamBindingOutput) Etag added in v6.67.0

func (RestorePlanIamBindingOutput) Location added in v6.67.0

The region of the Restore Plan.

func (RestorePlanIamBindingOutput) Members added in v6.67.0

func (RestorePlanIamBindingOutput) Name added in v6.67.0

The full name of the BackupPlan Resource.

func (RestorePlanIamBindingOutput) Project added in v6.67.0

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

func (RestorePlanIamBindingOutput) Role added in v6.67.0

func (RestorePlanIamBindingOutput) ToOutput added in v6.67.0

func (RestorePlanIamBindingOutput) ToRestorePlanIamBindingOutput added in v6.67.0

func (o RestorePlanIamBindingOutput) ToRestorePlanIamBindingOutput() RestorePlanIamBindingOutput

func (RestorePlanIamBindingOutput) ToRestorePlanIamBindingOutputWithContext added in v6.67.0

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

type RestorePlanIamBindingState added in v6.67.0

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
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	Role    pulumi.StringPtrInput
}

func (RestorePlanIamBindingState) ElementType added in v6.67.0

func (RestorePlanIamBindingState) ElementType() reflect.Type

type RestorePlanIamMember added in v6.67.0

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"`
	// 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"`
	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/v6/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := container.NewCluster(ctx, "primary", &container.ClusterArgs{
			Location:         pulumi.String("us-central1"),
			InitialNodeCount: pulumi.Int(1),
			WorkloadIdentityConfig: &container.ClusterWorkloadIdentityConfigArgs{
				WorkloadPool: pulumi.String("my-project-name.svc.id.goog"),
			},
			AddonsConfig: &container.ClusterAddonsConfigArgs{
				GkeBackupAgentConfig: &container.ClusterAddonsConfigGkeBackupAgentConfigArgs{
					Enabled: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Cluster:  primary.ID(),
			Location: pulumi.String("us-central1"),
			BackupConfig: &gkebackup.BackupPlanBackupConfigArgs{
				IncludeVolumeData: pulumi.Bool(true),
				IncludeSecrets:    pulumi.Bool(true),
				AllNamespaces:     pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		_, err = gkebackup.NewRestorePlan(ctx, "allNs", &gkebackup.RestorePlanArgs{
			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/v6/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := container.NewCluster(ctx, "primary", &container.ClusterArgs{
			Location:         pulumi.String("us-central1"),
			InitialNodeCount: pulumi.Int(1),
			WorkloadIdentityConfig: &container.ClusterWorkloadIdentityConfigArgs{
				WorkloadPool: pulumi.String("my-project-name.svc.id.goog"),
			},
			AddonsConfig: &container.ClusterAddonsConfigArgs{
				GkeBackupAgentConfig: &container.ClusterAddonsConfigGkeBackupAgentConfigArgs{
					Enabled: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Cluster:  primary.ID(),
			Location: pulumi.String("us-central1"),
			BackupConfig: &gkebackup.BackupPlanBackupConfigArgs{
				IncludeVolumeData: pulumi.Bool(true),
				IncludeSecrets:    pulumi.Bool(true),
				AllNamespaces:     pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		_, err = gkebackup.NewRestorePlan(ctx, "rollbackNs", &gkebackup.RestorePlanArgs{
			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/v6/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := container.NewCluster(ctx, "primary", &container.ClusterArgs{
			Location:         pulumi.String("us-central1"),
			InitialNodeCount: pulumi.Int(1),
			WorkloadIdentityConfig: &container.ClusterWorkloadIdentityConfigArgs{
				WorkloadPool: pulumi.String("my-project-name.svc.id.goog"),
			},
			AddonsConfig: &container.ClusterAddonsConfigArgs{
				GkeBackupAgentConfig: &container.ClusterAddonsConfigGkeBackupAgentConfigArgs{
					Enabled: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Cluster:  primary.ID(),
			Location: pulumi.String("us-central1"),
			BackupConfig: &gkebackup.BackupPlanBackupConfigArgs{
				IncludeVolumeData: pulumi.Bool(true),
				IncludeSecrets:    pulumi.Bool(true),
				AllNamespaces:     pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		_, err = gkebackup.NewRestorePlan(ctx, "rollbackApp", &gkebackup.RestorePlanArgs{
			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/v6/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := container.NewCluster(ctx, "primary", &container.ClusterArgs{
			Location:         pulumi.String("us-central1"),
			InitialNodeCount: pulumi.Int(1),
			WorkloadIdentityConfig: &container.ClusterWorkloadIdentityConfigArgs{
				WorkloadPool: pulumi.String("my-project-name.svc.id.goog"),
			},
			AddonsConfig: &container.ClusterAddonsConfigArgs{
				GkeBackupAgentConfig: &container.ClusterAddonsConfigGkeBackupAgentConfigArgs{
					Enabled: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Cluster:  primary.ID(),
			Location: pulumi.String("us-central1"),
			BackupConfig: &gkebackup.BackupPlanBackupConfigArgs{
				IncludeVolumeData: pulumi.Bool(true),
				IncludeSecrets:    pulumi.Bool(true),
				AllNamespaces:     pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		_, err = gkebackup.NewRestorePlan(ctx, "allClusterResources", &gkebackup.RestorePlanArgs{
			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/v6/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := container.NewCluster(ctx, "primary", &container.ClusterArgs{
			Location:         pulumi.String("us-central1"),
			InitialNodeCount: pulumi.Int(1),
			WorkloadIdentityConfig: &container.ClusterWorkloadIdentityConfigArgs{
				WorkloadPool: pulumi.String("my-project-name.svc.id.goog"),
			},
			AddonsConfig: &container.ClusterAddonsConfigArgs{
				GkeBackupAgentConfig: &container.ClusterAddonsConfigGkeBackupAgentConfigArgs{
					Enabled: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Cluster:  primary.ID(),
			Location: pulumi.String("us-central1"),
			BackupConfig: &gkebackup.BackupPlanBackupConfigArgs{
				IncludeVolumeData: pulumi.Bool(true),
				IncludeSecrets:    pulumi.Bool(true),
				AllNamespaces:     pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		_, err = gkebackup.NewRestorePlan(ctx, "renameNs", &gkebackup.RestorePlanArgs{
			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/v6/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```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 added in v6.67.0

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 added in v6.67.0

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 added in v6.67.0

func (*RestorePlanIamMember) ElementType() reflect.Type

func (*RestorePlanIamMember) ToOutput added in v6.67.0

func (*RestorePlanIamMember) ToRestorePlanIamMemberOutput added in v6.67.0

func (i *RestorePlanIamMember) ToRestorePlanIamMemberOutput() RestorePlanIamMemberOutput

func (*RestorePlanIamMember) ToRestorePlanIamMemberOutputWithContext added in v6.67.0

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

type RestorePlanIamMemberArgs added in v6.67.0

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
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	Role    pulumi.StringInput
}

The set of arguments for constructing a RestorePlanIamMember resource.

func (RestorePlanIamMemberArgs) ElementType added in v6.67.0

func (RestorePlanIamMemberArgs) ElementType() reflect.Type

type RestorePlanIamMemberArray added in v6.67.0

type RestorePlanIamMemberArray []RestorePlanIamMemberInput

func (RestorePlanIamMemberArray) ElementType added in v6.67.0

func (RestorePlanIamMemberArray) ElementType() reflect.Type

func (RestorePlanIamMemberArray) ToOutput added in v6.67.0

func (RestorePlanIamMemberArray) ToRestorePlanIamMemberArrayOutput added in v6.67.0

func (i RestorePlanIamMemberArray) ToRestorePlanIamMemberArrayOutput() RestorePlanIamMemberArrayOutput

func (RestorePlanIamMemberArray) ToRestorePlanIamMemberArrayOutputWithContext added in v6.67.0

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

type RestorePlanIamMemberArrayInput added in v6.67.0

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 added in v6.67.0

type RestorePlanIamMemberArrayOutput struct{ *pulumi.OutputState }

func (RestorePlanIamMemberArrayOutput) ElementType added in v6.67.0

func (RestorePlanIamMemberArrayOutput) Index added in v6.67.0

func (RestorePlanIamMemberArrayOutput) ToOutput added in v6.67.0

func (RestorePlanIamMemberArrayOutput) ToRestorePlanIamMemberArrayOutput added in v6.67.0

func (o RestorePlanIamMemberArrayOutput) ToRestorePlanIamMemberArrayOutput() RestorePlanIamMemberArrayOutput

func (RestorePlanIamMemberArrayOutput) ToRestorePlanIamMemberArrayOutputWithContext added in v6.67.0

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

type RestorePlanIamMemberCondition added in v6.67.0

type RestorePlanIamMemberCondition struct {
	// User specified descriptive string for this RestorePlan.
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type RestorePlanIamMemberConditionArgs added in v6.67.0

type RestorePlanIamMemberConditionArgs struct {
	// User specified descriptive string for this RestorePlan.
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (RestorePlanIamMemberConditionArgs) ElementType added in v6.67.0

func (RestorePlanIamMemberConditionArgs) ToOutput added in v6.67.0

func (RestorePlanIamMemberConditionArgs) ToRestorePlanIamMemberConditionOutput added in v6.67.0

func (i RestorePlanIamMemberConditionArgs) ToRestorePlanIamMemberConditionOutput() RestorePlanIamMemberConditionOutput

func (RestorePlanIamMemberConditionArgs) ToRestorePlanIamMemberConditionOutputWithContext added in v6.67.0

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

func (RestorePlanIamMemberConditionArgs) ToRestorePlanIamMemberConditionPtrOutput added in v6.67.0

func (i RestorePlanIamMemberConditionArgs) ToRestorePlanIamMemberConditionPtrOutput() RestorePlanIamMemberConditionPtrOutput

func (RestorePlanIamMemberConditionArgs) ToRestorePlanIamMemberConditionPtrOutputWithContext added in v6.67.0

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

type RestorePlanIamMemberConditionInput added in v6.67.0

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 added in v6.67.0

type RestorePlanIamMemberConditionOutput struct{ *pulumi.OutputState }

func (RestorePlanIamMemberConditionOutput) Description added in v6.67.0

User specified descriptive string for this RestorePlan.

func (RestorePlanIamMemberConditionOutput) ElementType added in v6.67.0

func (RestorePlanIamMemberConditionOutput) Expression added in v6.67.0

func (RestorePlanIamMemberConditionOutput) Title added in v6.67.0

func (RestorePlanIamMemberConditionOutput) ToOutput added in v6.67.0

func (RestorePlanIamMemberConditionOutput) ToRestorePlanIamMemberConditionOutput added in v6.67.0

func (o RestorePlanIamMemberConditionOutput) ToRestorePlanIamMemberConditionOutput() RestorePlanIamMemberConditionOutput

func (RestorePlanIamMemberConditionOutput) ToRestorePlanIamMemberConditionOutputWithContext added in v6.67.0

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

func (RestorePlanIamMemberConditionOutput) ToRestorePlanIamMemberConditionPtrOutput added in v6.67.0

func (o RestorePlanIamMemberConditionOutput) ToRestorePlanIamMemberConditionPtrOutput() RestorePlanIamMemberConditionPtrOutput

func (RestorePlanIamMemberConditionOutput) ToRestorePlanIamMemberConditionPtrOutputWithContext added in v6.67.0

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

type RestorePlanIamMemberConditionPtrInput added in v6.67.0

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 added in v6.67.0

type RestorePlanIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (RestorePlanIamMemberConditionPtrOutput) Description added in v6.67.0

User specified descriptive string for this RestorePlan.

func (RestorePlanIamMemberConditionPtrOutput) Elem added in v6.67.0

func (RestorePlanIamMemberConditionPtrOutput) ElementType added in v6.67.0

func (RestorePlanIamMemberConditionPtrOutput) Expression added in v6.67.0

func (RestorePlanIamMemberConditionPtrOutput) Title added in v6.67.0

func (RestorePlanIamMemberConditionPtrOutput) ToOutput added in v6.67.0

func (RestorePlanIamMemberConditionPtrOutput) ToRestorePlanIamMemberConditionPtrOutput added in v6.67.0

func (o RestorePlanIamMemberConditionPtrOutput) ToRestorePlanIamMemberConditionPtrOutput() RestorePlanIamMemberConditionPtrOutput

func (RestorePlanIamMemberConditionPtrOutput) ToRestorePlanIamMemberConditionPtrOutputWithContext added in v6.67.0

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

type RestorePlanIamMemberInput added in v6.67.0

type RestorePlanIamMemberInput interface {
	pulumi.Input

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

type RestorePlanIamMemberMap added in v6.67.0

type RestorePlanIamMemberMap map[string]RestorePlanIamMemberInput

func (RestorePlanIamMemberMap) ElementType added in v6.67.0

func (RestorePlanIamMemberMap) ElementType() reflect.Type

func (RestorePlanIamMemberMap) ToOutput added in v6.67.0

func (RestorePlanIamMemberMap) ToRestorePlanIamMemberMapOutput added in v6.67.0

func (i RestorePlanIamMemberMap) ToRestorePlanIamMemberMapOutput() RestorePlanIamMemberMapOutput

func (RestorePlanIamMemberMap) ToRestorePlanIamMemberMapOutputWithContext added in v6.67.0

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

type RestorePlanIamMemberMapInput added in v6.67.0

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 added in v6.67.0

type RestorePlanIamMemberMapOutput struct{ *pulumi.OutputState }

func (RestorePlanIamMemberMapOutput) ElementType added in v6.67.0

func (RestorePlanIamMemberMapOutput) MapIndex added in v6.67.0

func (RestorePlanIamMemberMapOutput) ToOutput added in v6.67.0

func (RestorePlanIamMemberMapOutput) ToRestorePlanIamMemberMapOutput added in v6.67.0

func (o RestorePlanIamMemberMapOutput) ToRestorePlanIamMemberMapOutput() RestorePlanIamMemberMapOutput

func (RestorePlanIamMemberMapOutput) ToRestorePlanIamMemberMapOutputWithContext added in v6.67.0

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

type RestorePlanIamMemberOutput added in v6.67.0

type RestorePlanIamMemberOutput struct{ *pulumi.OutputState }

func (RestorePlanIamMemberOutput) Condition added in v6.67.0

func (RestorePlanIamMemberOutput) ElementType added in v6.67.0

func (RestorePlanIamMemberOutput) ElementType() reflect.Type

func (RestorePlanIamMemberOutput) Etag added in v6.67.0

func (RestorePlanIamMemberOutput) Location added in v6.67.0

The region of the Restore Plan.

func (RestorePlanIamMemberOutput) Member added in v6.67.0

func (RestorePlanIamMemberOutput) Name added in v6.67.0

The full name of the BackupPlan Resource.

func (RestorePlanIamMemberOutput) Project added in v6.67.0

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

func (RestorePlanIamMemberOutput) Role added in v6.67.0

func (RestorePlanIamMemberOutput) ToOutput added in v6.67.0

func (RestorePlanIamMemberOutput) ToRestorePlanIamMemberOutput added in v6.67.0

func (o RestorePlanIamMemberOutput) ToRestorePlanIamMemberOutput() RestorePlanIamMemberOutput

func (RestorePlanIamMemberOutput) ToRestorePlanIamMemberOutputWithContext added in v6.67.0

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

type RestorePlanIamMemberState added in v6.67.0

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
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	Role    pulumi.StringPtrInput
}

func (RestorePlanIamMemberState) ElementType added in v6.67.0

func (RestorePlanIamMemberState) ElementType() reflect.Type

type RestorePlanIamPolicy added in v6.67.0

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"`
	// 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"`
}

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/v6/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := container.NewCluster(ctx, "primary", &container.ClusterArgs{
			Location:         pulumi.String("us-central1"),
			InitialNodeCount: pulumi.Int(1),
			WorkloadIdentityConfig: &container.ClusterWorkloadIdentityConfigArgs{
				WorkloadPool: pulumi.String("my-project-name.svc.id.goog"),
			},
			AddonsConfig: &container.ClusterAddonsConfigArgs{
				GkeBackupAgentConfig: &container.ClusterAddonsConfigGkeBackupAgentConfigArgs{
					Enabled: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Cluster:  primary.ID(),
			Location: pulumi.String("us-central1"),
			BackupConfig: &gkebackup.BackupPlanBackupConfigArgs{
				IncludeVolumeData: pulumi.Bool(true),
				IncludeSecrets:    pulumi.Bool(true),
				AllNamespaces:     pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		_, err = gkebackup.NewRestorePlan(ctx, "allNs", &gkebackup.RestorePlanArgs{
			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/v6/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := container.NewCluster(ctx, "primary", &container.ClusterArgs{
			Location:         pulumi.String("us-central1"),
			InitialNodeCount: pulumi.Int(1),
			WorkloadIdentityConfig: &container.ClusterWorkloadIdentityConfigArgs{
				WorkloadPool: pulumi.String("my-project-name.svc.id.goog"),
			},
			AddonsConfig: &container.ClusterAddonsConfigArgs{
				GkeBackupAgentConfig: &container.ClusterAddonsConfigGkeBackupAgentConfigArgs{
					Enabled: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Cluster:  primary.ID(),
			Location: pulumi.String("us-central1"),
			BackupConfig: &gkebackup.BackupPlanBackupConfigArgs{
				IncludeVolumeData: pulumi.Bool(true),
				IncludeSecrets:    pulumi.Bool(true),
				AllNamespaces:     pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		_, err = gkebackup.NewRestorePlan(ctx, "rollbackNs", &gkebackup.RestorePlanArgs{
			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/v6/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := container.NewCluster(ctx, "primary", &container.ClusterArgs{
			Location:         pulumi.String("us-central1"),
			InitialNodeCount: pulumi.Int(1),
			WorkloadIdentityConfig: &container.ClusterWorkloadIdentityConfigArgs{
				WorkloadPool: pulumi.String("my-project-name.svc.id.goog"),
			},
			AddonsConfig: &container.ClusterAddonsConfigArgs{
				GkeBackupAgentConfig: &container.ClusterAddonsConfigGkeBackupAgentConfigArgs{
					Enabled: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Cluster:  primary.ID(),
			Location: pulumi.String("us-central1"),
			BackupConfig: &gkebackup.BackupPlanBackupConfigArgs{
				IncludeVolumeData: pulumi.Bool(true),
				IncludeSecrets:    pulumi.Bool(true),
				AllNamespaces:     pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		_, err = gkebackup.NewRestorePlan(ctx, "rollbackApp", &gkebackup.RestorePlanArgs{
			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/v6/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := container.NewCluster(ctx, "primary", &container.ClusterArgs{
			Location:         pulumi.String("us-central1"),
			InitialNodeCount: pulumi.Int(1),
			WorkloadIdentityConfig: &container.ClusterWorkloadIdentityConfigArgs{
				WorkloadPool: pulumi.String("my-project-name.svc.id.goog"),
			},
			AddonsConfig: &container.ClusterAddonsConfigArgs{
				GkeBackupAgentConfig: &container.ClusterAddonsConfigGkeBackupAgentConfigArgs{
					Enabled: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Cluster:  primary.ID(),
			Location: pulumi.String("us-central1"),
			BackupConfig: &gkebackup.BackupPlanBackupConfigArgs{
				IncludeVolumeData: pulumi.Bool(true),
				IncludeSecrets:    pulumi.Bool(true),
				AllNamespaces:     pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		_, err = gkebackup.NewRestorePlan(ctx, "allClusterResources", &gkebackup.RestorePlanArgs{
			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/v6/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := container.NewCluster(ctx, "primary", &container.ClusterArgs{
			Location:         pulumi.String("us-central1"),
			InitialNodeCount: pulumi.Int(1),
			WorkloadIdentityConfig: &container.ClusterWorkloadIdentityConfigArgs{
				WorkloadPool: pulumi.String("my-project-name.svc.id.goog"),
			},
			AddonsConfig: &container.ClusterAddonsConfigArgs{
				GkeBackupAgentConfig: &container.ClusterAddonsConfigGkeBackupAgentConfigArgs{
					Enabled: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		basic, err := gkebackup.NewBackupPlan(ctx, "basic", &gkebackup.BackupPlanArgs{
			Cluster:  primary.ID(),
			Location: pulumi.String("us-central1"),
			BackupConfig: &gkebackup.BackupPlanBackupConfigArgs{
				IncludeVolumeData: pulumi.Bool(true),
				IncludeSecrets:    pulumi.Bool(true),
				AllNamespaces:     pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		_, err = gkebackup.NewRestorePlan(ctx, "renameNs", &gkebackup.RestorePlanArgs{
			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/v6/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/gkebackup"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```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 added in v6.67.0

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 added in v6.67.0

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 added in v6.67.0

func (*RestorePlanIamPolicy) ElementType() reflect.Type

func (*RestorePlanIamPolicy) ToOutput added in v6.67.0

func (*RestorePlanIamPolicy) ToRestorePlanIamPolicyOutput added in v6.67.0

func (i *RestorePlanIamPolicy) ToRestorePlanIamPolicyOutput() RestorePlanIamPolicyOutput

func (*RestorePlanIamPolicy) ToRestorePlanIamPolicyOutputWithContext added in v6.67.0

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

type RestorePlanIamPolicyArgs added in v6.67.0

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
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
}

The set of arguments for constructing a RestorePlanIamPolicy resource.

func (RestorePlanIamPolicyArgs) ElementType added in v6.67.0

func (RestorePlanIamPolicyArgs) ElementType() reflect.Type

type RestorePlanIamPolicyArray added in v6.67.0

type RestorePlanIamPolicyArray []RestorePlanIamPolicyInput

func (RestorePlanIamPolicyArray) ElementType added in v6.67.0

func (RestorePlanIamPolicyArray) ElementType() reflect.Type

func (RestorePlanIamPolicyArray) ToOutput added in v6.67.0

func (RestorePlanIamPolicyArray) ToRestorePlanIamPolicyArrayOutput added in v6.67.0

func (i RestorePlanIamPolicyArray) ToRestorePlanIamPolicyArrayOutput() RestorePlanIamPolicyArrayOutput

func (RestorePlanIamPolicyArray) ToRestorePlanIamPolicyArrayOutputWithContext added in v6.67.0

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

type RestorePlanIamPolicyArrayInput added in v6.67.0

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 added in v6.67.0

type RestorePlanIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (RestorePlanIamPolicyArrayOutput) ElementType added in v6.67.0

func (RestorePlanIamPolicyArrayOutput) Index added in v6.67.0

func (RestorePlanIamPolicyArrayOutput) ToOutput added in v6.67.0

func (RestorePlanIamPolicyArrayOutput) ToRestorePlanIamPolicyArrayOutput added in v6.67.0

func (o RestorePlanIamPolicyArrayOutput) ToRestorePlanIamPolicyArrayOutput() RestorePlanIamPolicyArrayOutput

func (RestorePlanIamPolicyArrayOutput) ToRestorePlanIamPolicyArrayOutputWithContext added in v6.67.0

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

type RestorePlanIamPolicyInput added in v6.67.0

type RestorePlanIamPolicyInput interface {
	pulumi.Input

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

type RestorePlanIamPolicyMap added in v6.67.0

type RestorePlanIamPolicyMap map[string]RestorePlanIamPolicyInput

func (RestorePlanIamPolicyMap) ElementType added in v6.67.0

func (RestorePlanIamPolicyMap) ElementType() reflect.Type

func (RestorePlanIamPolicyMap) ToOutput added in v6.67.0

func (RestorePlanIamPolicyMap) ToRestorePlanIamPolicyMapOutput added in v6.67.0

func (i RestorePlanIamPolicyMap) ToRestorePlanIamPolicyMapOutput() RestorePlanIamPolicyMapOutput

func (RestorePlanIamPolicyMap) ToRestorePlanIamPolicyMapOutputWithContext added in v6.67.0

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

type RestorePlanIamPolicyMapInput added in v6.67.0

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 added in v6.67.0

type RestorePlanIamPolicyMapOutput struct{ *pulumi.OutputState }

func (RestorePlanIamPolicyMapOutput) ElementType added in v6.67.0

func (RestorePlanIamPolicyMapOutput) MapIndex added in v6.67.0

func (RestorePlanIamPolicyMapOutput) ToOutput added in v6.67.0

func (RestorePlanIamPolicyMapOutput) ToRestorePlanIamPolicyMapOutput added in v6.67.0

func (o RestorePlanIamPolicyMapOutput) ToRestorePlanIamPolicyMapOutput() RestorePlanIamPolicyMapOutput

func (RestorePlanIamPolicyMapOutput) ToRestorePlanIamPolicyMapOutputWithContext added in v6.67.0

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

type RestorePlanIamPolicyOutput added in v6.67.0

type RestorePlanIamPolicyOutput struct{ *pulumi.OutputState }

func (RestorePlanIamPolicyOutput) ElementType added in v6.67.0

func (RestorePlanIamPolicyOutput) ElementType() reflect.Type

func (RestorePlanIamPolicyOutput) Etag added in v6.67.0

func (RestorePlanIamPolicyOutput) Location added in v6.67.0

The region of the Restore Plan.

func (RestorePlanIamPolicyOutput) Name added in v6.67.0

The full name of the BackupPlan Resource.

func (RestorePlanIamPolicyOutput) PolicyData added in v6.67.0

func (RestorePlanIamPolicyOutput) Project added in v6.67.0

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

func (RestorePlanIamPolicyOutput) ToOutput added in v6.67.0

func (RestorePlanIamPolicyOutput) ToRestorePlanIamPolicyOutput added in v6.67.0

func (o RestorePlanIamPolicyOutput) ToRestorePlanIamPolicyOutput() RestorePlanIamPolicyOutput

func (RestorePlanIamPolicyOutput) ToRestorePlanIamPolicyOutputWithContext added in v6.67.0

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

type RestorePlanIamPolicyState added in v6.67.0

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
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
}

func (RestorePlanIamPolicyState) ElementType added in v6.67.0

func (RestorePlanIamPolicyState) ElementType() reflect.Type

type RestorePlanInput added in v6.67.0

type RestorePlanInput interface {
	pulumi.Input

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

type RestorePlanMap added in v6.67.0

type RestorePlanMap map[string]RestorePlanInput

func (RestorePlanMap) ElementType added in v6.67.0

func (RestorePlanMap) ElementType() reflect.Type

func (RestorePlanMap) ToOutput added in v6.67.0

func (RestorePlanMap) ToRestorePlanMapOutput added in v6.67.0

func (i RestorePlanMap) ToRestorePlanMapOutput() RestorePlanMapOutput

func (RestorePlanMap) ToRestorePlanMapOutputWithContext added in v6.67.0

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

type RestorePlanMapInput added in v6.67.0

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 added in v6.67.0

type RestorePlanMapOutput struct{ *pulumi.OutputState }

func (RestorePlanMapOutput) ElementType added in v6.67.0

func (RestorePlanMapOutput) ElementType() reflect.Type

func (RestorePlanMapOutput) MapIndex added in v6.67.0

func (RestorePlanMapOutput) ToOutput added in v6.67.0

func (RestorePlanMapOutput) ToRestorePlanMapOutput added in v6.67.0

func (o RestorePlanMapOutput) ToRestorePlanMapOutput() RestorePlanMapOutput

func (RestorePlanMapOutput) ToRestorePlanMapOutputWithContext added in v6.67.0

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

type RestorePlanOutput added in v6.67.0

type RestorePlanOutput struct{ *pulumi.OutputState }

func (RestorePlanOutput) BackupPlan added in v6.67.0

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 added in v6.67.0

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

func (RestorePlanOutput) Description added in v6.67.0

func (o RestorePlanOutput) Description() pulumi.StringPtrOutput

User specified descriptive string for this RestorePlan.

func (RestorePlanOutput) ElementType added in v6.67.0

func (RestorePlanOutput) ElementType() reflect.Type

func (RestorePlanOutput) Labels added in v6.67.0

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

func (RestorePlanOutput) Location added in v6.67.0

func (o RestorePlanOutput) Location() pulumi.StringOutput

The region of the Restore Plan.

func (RestorePlanOutput) Name added in v6.67.0

The full name of the BackupPlan Resource.

func (RestorePlanOutput) Project added in v6.67.0

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

func (RestorePlanOutput) RestoreConfig added in v6.67.0

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

func (RestorePlanOutput) State added in v6.67.0

The State of the RestorePlan.

func (RestorePlanOutput) StateReason added in v6.67.0

func (o RestorePlanOutput) StateReason() pulumi.StringOutput

Detailed description of why RestorePlan is in its current state.

func (RestorePlanOutput) ToOutput added in v6.67.0

func (RestorePlanOutput) ToRestorePlanOutput added in v6.67.0

func (o RestorePlanOutput) ToRestorePlanOutput() RestorePlanOutput

func (RestorePlanOutput) ToRestorePlanOutputWithContext added in v6.67.0

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

func (RestorePlanOutput) Uid added in v6.67.0

Server generated, unique identifier of UUID format.

type RestorePlanRestoreConfig added in v6.67.0

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 added in v6.67.0

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 added in v6.67.0

func (RestorePlanRestoreConfigArgs) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigArgs) ToRestorePlanRestoreConfigOutput added in v6.67.0

func (i RestorePlanRestoreConfigArgs) ToRestorePlanRestoreConfigOutput() RestorePlanRestoreConfigOutput

func (RestorePlanRestoreConfigArgs) ToRestorePlanRestoreConfigOutputWithContext added in v6.67.0

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

func (RestorePlanRestoreConfigArgs) ToRestorePlanRestoreConfigPtrOutput added in v6.67.0

func (i RestorePlanRestoreConfigArgs) ToRestorePlanRestoreConfigPtrOutput() RestorePlanRestoreConfigPtrOutput

func (RestorePlanRestoreConfigArgs) ToRestorePlanRestoreConfigPtrOutputWithContext added in v6.67.0

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

type RestorePlanRestoreConfigClusterResourceRestoreScope added in v6.67.0

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 added in v6.67.0

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 added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopeArgs) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopeArgs) ToRestorePlanRestoreConfigClusterResourceRestoreScopeOutput added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopeArgs) ToRestorePlanRestoreConfigClusterResourceRestoreScopeOutputWithContext added in v6.67.0

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

func (RestorePlanRestoreConfigClusterResourceRestoreScopeArgs) ToRestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput added in v6.67.0

func (i RestorePlanRestoreConfigClusterResourceRestoreScopeArgs) ToRestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput() RestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput

func (RestorePlanRestoreConfigClusterResourceRestoreScopeArgs) ToRestorePlanRestoreConfigClusterResourceRestoreScopePtrOutputWithContext added in v6.67.0

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

type RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKind added in v6.67.0

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 added in v6.67.0

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 added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArgs) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArgs) ToRestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindOutput added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArgs) ToRestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindOutputWithContext added in v6.67.0

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

type RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArray added in v6.67.0

type RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArray []RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindInput

func (RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArray) ElementType added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArray) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArray) ToRestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArrayOutput added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArray) ToRestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArrayOutputWithContext added in v6.67.0

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

type RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArrayInput added in v6.67.0

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 added in v6.67.0

type RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArrayOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArrayOutput) ElementType added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArrayOutput) Index added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArrayOutput) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArrayOutput) ToRestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArrayOutput added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArrayOutput) ToRestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArrayOutputWithContext added in v6.67.0

type RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindInput added in v6.67.0

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 added in v6.67.0

type RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindOutput) ElementType added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindOutput) ResourceGroup added in v6.67.0

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 added in v6.67.0

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

func (RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindOutput) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindOutput) ToRestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindOutput added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindOutput) ToRestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindOutputWithContext added in v6.67.0

type RestorePlanRestoreConfigClusterResourceRestoreScopeInput added in v6.67.0

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 added in v6.67.0

type RestorePlanRestoreConfigClusterResourceRestoreScopeOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigClusterResourceRestoreScopeOutput) AllGroupKinds added in v6.67.0

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

func (RestorePlanRestoreConfigClusterResourceRestoreScopeOutput) ElementType added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopeOutput) ExcludedGroupKinds added in v6.67.0

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 added in v6.67.0

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

func (RestorePlanRestoreConfigClusterResourceRestoreScopeOutput) SelectedGroupKinds added in v6.67.0

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) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopeOutput) ToRestorePlanRestoreConfigClusterResourceRestoreScopeOutput added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopeOutput) ToRestorePlanRestoreConfigClusterResourceRestoreScopeOutputWithContext added in v6.67.0

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

func (RestorePlanRestoreConfigClusterResourceRestoreScopeOutput) ToRestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopeOutput) ToRestorePlanRestoreConfigClusterResourceRestoreScopePtrOutputWithContext added in v6.67.0

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

type RestorePlanRestoreConfigClusterResourceRestoreScopePtrInput added in v6.67.0

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 added in v6.67.0

type RestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput) AllGroupKinds added in v6.67.0

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

func (RestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput) Elem added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput) ElementType added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput) ExcludedGroupKinds added in v6.67.0

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 added in v6.67.0

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

func (RestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput) SelectedGroupKinds added in v6.67.0

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) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput) ToRestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopePtrOutput) ToRestorePlanRestoreConfigClusterResourceRestoreScopePtrOutputWithContext added in v6.67.0

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

type RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKind added in v6.67.0

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 added in v6.67.0

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 added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArgs) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArgs) ToRestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindOutput added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArgs) ToRestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindOutputWithContext added in v6.67.0

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

type RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArray added in v6.67.0

type RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArray []RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindInput

func (RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArray) ElementType added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArray) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArray) ToRestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArrayOutput added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArray) ToRestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArrayOutputWithContext added in v6.67.0

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

type RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArrayInput added in v6.67.0

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 added in v6.67.0

type RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArrayOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArrayOutput) ElementType added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArrayOutput) Index added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArrayOutput) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArrayOutput) ToRestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArrayOutput added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArrayOutput) ToRestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArrayOutputWithContext added in v6.67.0

type RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindInput added in v6.67.0

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 added in v6.67.0

type RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindOutput) ElementType added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindOutput) ResourceGroup added in v6.67.0

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 added in v6.67.0

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

func (RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindOutput) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindOutput) ToRestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindOutput added in v6.67.0

func (RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindOutput) ToRestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindOutputWithContext added in v6.67.0

type RestorePlanRestoreConfigExcludedNamespaces added in v6.67.0

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

type RestorePlanRestoreConfigExcludedNamespacesArgs added in v6.67.0

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

func (RestorePlanRestoreConfigExcludedNamespacesArgs) ElementType added in v6.67.0

func (RestorePlanRestoreConfigExcludedNamespacesArgs) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigExcludedNamespacesArgs) ToRestorePlanRestoreConfigExcludedNamespacesOutput added in v6.67.0

func (i RestorePlanRestoreConfigExcludedNamespacesArgs) ToRestorePlanRestoreConfigExcludedNamespacesOutput() RestorePlanRestoreConfigExcludedNamespacesOutput

func (RestorePlanRestoreConfigExcludedNamespacesArgs) ToRestorePlanRestoreConfigExcludedNamespacesOutputWithContext added in v6.67.0

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

func (RestorePlanRestoreConfigExcludedNamespacesArgs) ToRestorePlanRestoreConfigExcludedNamespacesPtrOutput added in v6.67.0

func (i RestorePlanRestoreConfigExcludedNamespacesArgs) ToRestorePlanRestoreConfigExcludedNamespacesPtrOutput() RestorePlanRestoreConfigExcludedNamespacesPtrOutput

func (RestorePlanRestoreConfigExcludedNamespacesArgs) ToRestorePlanRestoreConfigExcludedNamespacesPtrOutputWithContext added in v6.67.0

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

type RestorePlanRestoreConfigExcludedNamespacesInput added in v6.67.0

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 added in v6.67.0

type RestorePlanRestoreConfigExcludedNamespacesOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigExcludedNamespacesOutput) ElementType added in v6.67.0

func (RestorePlanRestoreConfigExcludedNamespacesOutput) Namespaces added in v6.67.0

A list of Kubernetes Namespaces.

func (RestorePlanRestoreConfigExcludedNamespacesOutput) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigExcludedNamespacesOutput) ToRestorePlanRestoreConfigExcludedNamespacesOutput added in v6.67.0

func (o RestorePlanRestoreConfigExcludedNamespacesOutput) ToRestorePlanRestoreConfigExcludedNamespacesOutput() RestorePlanRestoreConfigExcludedNamespacesOutput

func (RestorePlanRestoreConfigExcludedNamespacesOutput) ToRestorePlanRestoreConfigExcludedNamespacesOutputWithContext added in v6.67.0

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

func (RestorePlanRestoreConfigExcludedNamespacesOutput) ToRestorePlanRestoreConfigExcludedNamespacesPtrOutput added in v6.67.0

func (o RestorePlanRestoreConfigExcludedNamespacesOutput) ToRestorePlanRestoreConfigExcludedNamespacesPtrOutput() RestorePlanRestoreConfigExcludedNamespacesPtrOutput

func (RestorePlanRestoreConfigExcludedNamespacesOutput) ToRestorePlanRestoreConfigExcludedNamespacesPtrOutputWithContext added in v6.67.0

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

type RestorePlanRestoreConfigExcludedNamespacesPtrInput added in v6.67.0

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 added in v6.67.0

type RestorePlanRestoreConfigExcludedNamespacesPtrOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigExcludedNamespacesPtrOutput) Elem added in v6.67.0

func (RestorePlanRestoreConfigExcludedNamespacesPtrOutput) ElementType added in v6.67.0

func (RestorePlanRestoreConfigExcludedNamespacesPtrOutput) Namespaces added in v6.67.0

A list of Kubernetes Namespaces.

func (RestorePlanRestoreConfigExcludedNamespacesPtrOutput) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigExcludedNamespacesPtrOutput) ToRestorePlanRestoreConfigExcludedNamespacesPtrOutput added in v6.67.0

func (o RestorePlanRestoreConfigExcludedNamespacesPtrOutput) ToRestorePlanRestoreConfigExcludedNamespacesPtrOutput() RestorePlanRestoreConfigExcludedNamespacesPtrOutput

func (RestorePlanRestoreConfigExcludedNamespacesPtrOutput) ToRestorePlanRestoreConfigExcludedNamespacesPtrOutputWithContext added in v6.67.0

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

type RestorePlanRestoreConfigInput added in v6.67.0

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 added in v6.67.0

type RestorePlanRestoreConfigOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigOutput) AllNamespaces added in v6.67.0

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

func (RestorePlanRestoreConfigOutput) ClusterResourceConflictPolicy added in v6.67.0

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 added in v6.67.0

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

func (RestorePlanRestoreConfigOutput) ElementType added in v6.67.0

func (RestorePlanRestoreConfigOutput) ExcludedNamespaces added in v6.67.0

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 added in v6.67.0

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 added in v6.67.0

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

func (RestorePlanRestoreConfigOutput) SelectedApplications added in v6.67.0

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 added in v6.67.0

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) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigOutput) ToRestorePlanRestoreConfigOutput added in v6.67.0

func (o RestorePlanRestoreConfigOutput) ToRestorePlanRestoreConfigOutput() RestorePlanRestoreConfigOutput

func (RestorePlanRestoreConfigOutput) ToRestorePlanRestoreConfigOutputWithContext added in v6.67.0

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

func (RestorePlanRestoreConfigOutput) ToRestorePlanRestoreConfigPtrOutput added in v6.67.0

func (o RestorePlanRestoreConfigOutput) ToRestorePlanRestoreConfigPtrOutput() RestorePlanRestoreConfigPtrOutput

func (RestorePlanRestoreConfigOutput) ToRestorePlanRestoreConfigPtrOutputWithContext added in v6.67.0

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

func (RestorePlanRestoreConfigOutput) TransformationRules added in v6.67.0

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 added in v6.67.0

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 added in v6.67.0

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

func RestorePlanRestoreConfigPtr added in v6.67.0

func RestorePlanRestoreConfigPtr(v *RestorePlanRestoreConfigArgs) RestorePlanRestoreConfigPtrInput

type RestorePlanRestoreConfigPtrOutput added in v6.67.0

type RestorePlanRestoreConfigPtrOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigPtrOutput) AllNamespaces added in v6.67.0

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

func (RestorePlanRestoreConfigPtrOutput) ClusterResourceConflictPolicy added in v6.67.0

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 added in v6.67.0

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

func (RestorePlanRestoreConfigPtrOutput) Elem added in v6.67.0

func (RestorePlanRestoreConfigPtrOutput) ElementType added in v6.67.0

func (RestorePlanRestoreConfigPtrOutput) ExcludedNamespaces added in v6.67.0

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 added in v6.67.0

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 added in v6.67.0

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

func (RestorePlanRestoreConfigPtrOutput) SelectedApplications added in v6.67.0

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 added in v6.67.0

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) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigPtrOutput) ToRestorePlanRestoreConfigPtrOutput added in v6.67.0

func (o RestorePlanRestoreConfigPtrOutput) ToRestorePlanRestoreConfigPtrOutput() RestorePlanRestoreConfigPtrOutput

func (RestorePlanRestoreConfigPtrOutput) ToRestorePlanRestoreConfigPtrOutputWithContext added in v6.67.0

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

func (RestorePlanRestoreConfigPtrOutput) TransformationRules added in v6.67.0

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 added in v6.67.0

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 added in v6.67.0

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

type RestorePlanRestoreConfigSelectedApplicationsArgs added in v6.67.0

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

func (RestorePlanRestoreConfigSelectedApplicationsArgs) ElementType added in v6.67.0

func (RestorePlanRestoreConfigSelectedApplicationsArgs) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigSelectedApplicationsArgs) ToRestorePlanRestoreConfigSelectedApplicationsOutput added in v6.67.0

func (i RestorePlanRestoreConfigSelectedApplicationsArgs) ToRestorePlanRestoreConfigSelectedApplicationsOutput() RestorePlanRestoreConfigSelectedApplicationsOutput

func (RestorePlanRestoreConfigSelectedApplicationsArgs) ToRestorePlanRestoreConfigSelectedApplicationsOutputWithContext added in v6.67.0

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

func (RestorePlanRestoreConfigSelectedApplicationsArgs) ToRestorePlanRestoreConfigSelectedApplicationsPtrOutput added in v6.67.0

func (i RestorePlanRestoreConfigSelectedApplicationsArgs) ToRestorePlanRestoreConfigSelectedApplicationsPtrOutput() RestorePlanRestoreConfigSelectedApplicationsPtrOutput

func (RestorePlanRestoreConfigSelectedApplicationsArgs) ToRestorePlanRestoreConfigSelectedApplicationsPtrOutputWithContext added in v6.67.0

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

type RestorePlanRestoreConfigSelectedApplicationsInput added in v6.67.0

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 added in v6.67.0

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 added in v6.67.0

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 added in v6.67.0

func (RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArgs) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArgs) ToRestorePlanRestoreConfigSelectedApplicationsNamespacedNameOutput added in v6.67.0

func (RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArgs) ToRestorePlanRestoreConfigSelectedApplicationsNamespacedNameOutputWithContext added in v6.67.0

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

type RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArray added in v6.67.0

type RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArray []RestorePlanRestoreConfigSelectedApplicationsNamespacedNameInput

func (RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArray) ElementType added in v6.67.0

func (RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArray) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArray) ToRestorePlanRestoreConfigSelectedApplicationsNamespacedNameArrayOutput added in v6.67.0

func (RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArray) ToRestorePlanRestoreConfigSelectedApplicationsNamespacedNameArrayOutputWithContext added in v6.67.0

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

type RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArrayInput added in v6.67.0

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 added in v6.67.0

type RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArrayOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArrayOutput) ElementType added in v6.67.0

func (RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArrayOutput) Index added in v6.67.0

func (RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArrayOutput) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArrayOutput) ToRestorePlanRestoreConfigSelectedApplicationsNamespacedNameArrayOutput added in v6.67.0

func (RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArrayOutput) ToRestorePlanRestoreConfigSelectedApplicationsNamespacedNameArrayOutputWithContext added in v6.67.0

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

type RestorePlanRestoreConfigSelectedApplicationsNamespacedNameInput added in v6.67.0

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 added in v6.67.0

type RestorePlanRestoreConfigSelectedApplicationsNamespacedNameOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigSelectedApplicationsNamespacedNameOutput) ElementType added in v6.67.0

func (RestorePlanRestoreConfigSelectedApplicationsNamespacedNameOutput) Name added in v6.67.0

The name of a Kubernetes Resource.

func (RestorePlanRestoreConfigSelectedApplicationsNamespacedNameOutput) Namespace added in v6.67.0

The namespace of a Kubernetes Resource.

func (RestorePlanRestoreConfigSelectedApplicationsNamespacedNameOutput) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigSelectedApplicationsNamespacedNameOutput) ToRestorePlanRestoreConfigSelectedApplicationsNamespacedNameOutput added in v6.67.0

func (RestorePlanRestoreConfigSelectedApplicationsNamespacedNameOutput) ToRestorePlanRestoreConfigSelectedApplicationsNamespacedNameOutputWithContext added in v6.67.0

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

type RestorePlanRestoreConfigSelectedApplicationsOutput added in v6.67.0

type RestorePlanRestoreConfigSelectedApplicationsOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigSelectedApplicationsOutput) ElementType added in v6.67.0

func (RestorePlanRestoreConfigSelectedApplicationsOutput) NamespacedNames added in v6.67.0

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

func (RestorePlanRestoreConfigSelectedApplicationsOutput) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigSelectedApplicationsOutput) ToRestorePlanRestoreConfigSelectedApplicationsOutput added in v6.67.0

func (o RestorePlanRestoreConfigSelectedApplicationsOutput) ToRestorePlanRestoreConfigSelectedApplicationsOutput() RestorePlanRestoreConfigSelectedApplicationsOutput

func (RestorePlanRestoreConfigSelectedApplicationsOutput) ToRestorePlanRestoreConfigSelectedApplicationsOutputWithContext added in v6.67.0

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

func (RestorePlanRestoreConfigSelectedApplicationsOutput) ToRestorePlanRestoreConfigSelectedApplicationsPtrOutput added in v6.67.0

func (o RestorePlanRestoreConfigSelectedApplicationsOutput) ToRestorePlanRestoreConfigSelectedApplicationsPtrOutput() RestorePlanRestoreConfigSelectedApplicationsPtrOutput

func (RestorePlanRestoreConfigSelectedApplicationsOutput) ToRestorePlanRestoreConfigSelectedApplicationsPtrOutputWithContext added in v6.67.0

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

type RestorePlanRestoreConfigSelectedApplicationsPtrInput added in v6.67.0

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 added in v6.67.0

type RestorePlanRestoreConfigSelectedApplicationsPtrOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigSelectedApplicationsPtrOutput) Elem added in v6.67.0

func (RestorePlanRestoreConfigSelectedApplicationsPtrOutput) ElementType added in v6.67.0

func (RestorePlanRestoreConfigSelectedApplicationsPtrOutput) NamespacedNames added in v6.67.0

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

func (RestorePlanRestoreConfigSelectedApplicationsPtrOutput) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigSelectedApplicationsPtrOutput) ToRestorePlanRestoreConfigSelectedApplicationsPtrOutput added in v6.67.0

func (RestorePlanRestoreConfigSelectedApplicationsPtrOutput) ToRestorePlanRestoreConfigSelectedApplicationsPtrOutputWithContext added in v6.67.0

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

type RestorePlanRestoreConfigSelectedNamespaces added in v6.67.0

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

type RestorePlanRestoreConfigSelectedNamespacesArgs added in v6.67.0

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

func (RestorePlanRestoreConfigSelectedNamespacesArgs) ElementType added in v6.67.0

func (RestorePlanRestoreConfigSelectedNamespacesArgs) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigSelectedNamespacesArgs) ToRestorePlanRestoreConfigSelectedNamespacesOutput added in v6.67.0

func (i RestorePlanRestoreConfigSelectedNamespacesArgs) ToRestorePlanRestoreConfigSelectedNamespacesOutput() RestorePlanRestoreConfigSelectedNamespacesOutput

func (RestorePlanRestoreConfigSelectedNamespacesArgs) ToRestorePlanRestoreConfigSelectedNamespacesOutputWithContext added in v6.67.0

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

func (RestorePlanRestoreConfigSelectedNamespacesArgs) ToRestorePlanRestoreConfigSelectedNamespacesPtrOutput added in v6.67.0

func (i RestorePlanRestoreConfigSelectedNamespacesArgs) ToRestorePlanRestoreConfigSelectedNamespacesPtrOutput() RestorePlanRestoreConfigSelectedNamespacesPtrOutput

func (RestorePlanRestoreConfigSelectedNamespacesArgs) ToRestorePlanRestoreConfigSelectedNamespacesPtrOutputWithContext added in v6.67.0

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

type RestorePlanRestoreConfigSelectedNamespacesInput added in v6.67.0

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 added in v6.67.0

type RestorePlanRestoreConfigSelectedNamespacesOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigSelectedNamespacesOutput) ElementType added in v6.67.0

func (RestorePlanRestoreConfigSelectedNamespacesOutput) Namespaces added in v6.67.0

A list of Kubernetes Namespaces.

func (RestorePlanRestoreConfigSelectedNamespacesOutput) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigSelectedNamespacesOutput) ToRestorePlanRestoreConfigSelectedNamespacesOutput added in v6.67.0

func (o RestorePlanRestoreConfigSelectedNamespacesOutput) ToRestorePlanRestoreConfigSelectedNamespacesOutput() RestorePlanRestoreConfigSelectedNamespacesOutput

func (RestorePlanRestoreConfigSelectedNamespacesOutput) ToRestorePlanRestoreConfigSelectedNamespacesOutputWithContext added in v6.67.0

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

func (RestorePlanRestoreConfigSelectedNamespacesOutput) ToRestorePlanRestoreConfigSelectedNamespacesPtrOutput added in v6.67.0

func (o RestorePlanRestoreConfigSelectedNamespacesOutput) ToRestorePlanRestoreConfigSelectedNamespacesPtrOutput() RestorePlanRestoreConfigSelectedNamespacesPtrOutput

func (RestorePlanRestoreConfigSelectedNamespacesOutput) ToRestorePlanRestoreConfigSelectedNamespacesPtrOutputWithContext added in v6.67.0

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

type RestorePlanRestoreConfigSelectedNamespacesPtrInput added in v6.67.0

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 added in v6.67.0

type RestorePlanRestoreConfigSelectedNamespacesPtrOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigSelectedNamespacesPtrOutput) Elem added in v6.67.0

func (RestorePlanRestoreConfigSelectedNamespacesPtrOutput) ElementType added in v6.67.0

func (RestorePlanRestoreConfigSelectedNamespacesPtrOutput) Namespaces added in v6.67.0

A list of Kubernetes Namespaces.

func (RestorePlanRestoreConfigSelectedNamespacesPtrOutput) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigSelectedNamespacesPtrOutput) ToRestorePlanRestoreConfigSelectedNamespacesPtrOutput added in v6.67.0

func (o RestorePlanRestoreConfigSelectedNamespacesPtrOutput) ToRestorePlanRestoreConfigSelectedNamespacesPtrOutput() RestorePlanRestoreConfigSelectedNamespacesPtrOutput

func (RestorePlanRestoreConfigSelectedNamespacesPtrOutput) ToRestorePlanRestoreConfigSelectedNamespacesPtrOutputWithContext added in v6.67.0

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

type RestorePlanRestoreConfigTransformationRule added in v6.67.0

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 added in v6.67.0

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 added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleArgs) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleArgs) ToRestorePlanRestoreConfigTransformationRuleOutput added in v6.67.0

func (i RestorePlanRestoreConfigTransformationRuleArgs) ToRestorePlanRestoreConfigTransformationRuleOutput() RestorePlanRestoreConfigTransformationRuleOutput

func (RestorePlanRestoreConfigTransformationRuleArgs) ToRestorePlanRestoreConfigTransformationRuleOutputWithContext added in v6.67.0

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

type RestorePlanRestoreConfigTransformationRuleArray added in v6.67.0

type RestorePlanRestoreConfigTransformationRuleArray []RestorePlanRestoreConfigTransformationRuleInput

func (RestorePlanRestoreConfigTransformationRuleArray) ElementType added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleArray) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleArray) ToRestorePlanRestoreConfigTransformationRuleArrayOutput added in v6.67.0

func (i RestorePlanRestoreConfigTransformationRuleArray) ToRestorePlanRestoreConfigTransformationRuleArrayOutput() RestorePlanRestoreConfigTransformationRuleArrayOutput

func (RestorePlanRestoreConfigTransformationRuleArray) ToRestorePlanRestoreConfigTransformationRuleArrayOutputWithContext added in v6.67.0

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

type RestorePlanRestoreConfigTransformationRuleArrayInput added in v6.67.0

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 added in v6.67.0

type RestorePlanRestoreConfigTransformationRuleArrayOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigTransformationRuleArrayOutput) ElementType added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleArrayOutput) Index added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleArrayOutput) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleArrayOutput) ToRestorePlanRestoreConfigTransformationRuleArrayOutput added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleArrayOutput) ToRestorePlanRestoreConfigTransformationRuleArrayOutputWithContext added in v6.67.0

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

type RestorePlanRestoreConfigTransformationRuleFieldAction added in v6.67.0

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 added in v6.67.0

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 added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleFieldActionArgs) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleFieldActionArgs) ToRestorePlanRestoreConfigTransformationRuleFieldActionOutput added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleFieldActionArgs) ToRestorePlanRestoreConfigTransformationRuleFieldActionOutputWithContext added in v6.67.0

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

type RestorePlanRestoreConfigTransformationRuleFieldActionArray added in v6.67.0

type RestorePlanRestoreConfigTransformationRuleFieldActionArray []RestorePlanRestoreConfigTransformationRuleFieldActionInput

func (RestorePlanRestoreConfigTransformationRuleFieldActionArray) ElementType added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleFieldActionArray) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleFieldActionArray) ToRestorePlanRestoreConfigTransformationRuleFieldActionArrayOutput added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleFieldActionArray) ToRestorePlanRestoreConfigTransformationRuleFieldActionArrayOutputWithContext added in v6.67.0

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

type RestorePlanRestoreConfigTransformationRuleFieldActionArrayInput added in v6.67.0

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 added in v6.67.0

type RestorePlanRestoreConfigTransformationRuleFieldActionArrayOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigTransformationRuleFieldActionArrayOutput) ElementType added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleFieldActionArrayOutput) Index added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleFieldActionArrayOutput) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleFieldActionArrayOutput) ToRestorePlanRestoreConfigTransformationRuleFieldActionArrayOutput added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleFieldActionArrayOutput) ToRestorePlanRestoreConfigTransformationRuleFieldActionArrayOutputWithContext added in v6.67.0

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

type RestorePlanRestoreConfigTransformationRuleFieldActionInput added in v6.67.0

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 added in v6.67.0

type RestorePlanRestoreConfigTransformationRuleFieldActionOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigTransformationRuleFieldActionOutput) ElementType added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleFieldActionOutput) FromPath added in v6.67.0

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

func (RestorePlanRestoreConfigTransformationRuleFieldActionOutput) Op added in v6.67.0

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

func (RestorePlanRestoreConfigTransformationRuleFieldActionOutput) Path added in v6.67.0

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

func (RestorePlanRestoreConfigTransformationRuleFieldActionOutput) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleFieldActionOutput) ToRestorePlanRestoreConfigTransformationRuleFieldActionOutput added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleFieldActionOutput) ToRestorePlanRestoreConfigTransformationRuleFieldActionOutputWithContext added in v6.67.0

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

func (RestorePlanRestoreConfigTransformationRuleFieldActionOutput) Value added in v6.67.0

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

***

type RestorePlanRestoreConfigTransformationRuleInput added in v6.67.0

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 added in v6.67.0

type RestorePlanRestoreConfigTransformationRuleOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigTransformationRuleOutput) Description added in v6.67.0

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

func (RestorePlanRestoreConfigTransformationRuleOutput) ElementType added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleOutput) FieldActions added in v6.67.0

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 added in v6.67.0

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) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleOutput) ToRestorePlanRestoreConfigTransformationRuleOutput added in v6.67.0

func (o RestorePlanRestoreConfigTransformationRuleOutput) ToRestorePlanRestoreConfigTransformationRuleOutput() RestorePlanRestoreConfigTransformationRuleOutput

func (RestorePlanRestoreConfigTransformationRuleOutput) ToRestorePlanRestoreConfigTransformationRuleOutputWithContext added in v6.67.0

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

type RestorePlanRestoreConfigTransformationRuleResourceFilter added in v6.67.0

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 added in v6.67.0

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 added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleResourceFilterArgs) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleResourceFilterArgs) ToRestorePlanRestoreConfigTransformationRuleResourceFilterOutput added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleResourceFilterArgs) ToRestorePlanRestoreConfigTransformationRuleResourceFilterOutputWithContext added in v6.67.0

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

func (RestorePlanRestoreConfigTransformationRuleResourceFilterArgs) ToRestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutput added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleResourceFilterArgs) ToRestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutputWithContext added in v6.67.0

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

type RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKind added in v6.67.0

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 added in v6.67.0

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 added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArgs) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArgs) ToRestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindOutput added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArgs) ToRestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindOutputWithContext added in v6.67.0

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

type RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArray added in v6.67.0

type RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArray []RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindInput

func (RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArray) ElementType added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArray) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArray) ToRestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArrayOutput added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArray) ToRestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArrayOutputWithContext added in v6.67.0

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

type RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArrayInput added in v6.67.0

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 added in v6.67.0

type RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArrayOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArrayOutput) ElementType added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArrayOutput) Index added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArrayOutput) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArrayOutput) ToRestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArrayOutput added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArrayOutput) ToRestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArrayOutputWithContext added in v6.67.0

type RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindInput added in v6.67.0

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 added in v6.67.0

type RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindOutput) ElementType added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindOutput) ResourceGroup added in v6.67.0

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 added in v6.67.0

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

func (RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindOutput) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindOutput) ToRestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindOutput added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindOutput) ToRestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindOutputWithContext added in v6.67.0

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

type RestorePlanRestoreConfigTransformationRuleResourceFilterInput added in v6.67.0

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 added in v6.67.0

type RestorePlanRestoreConfigTransformationRuleResourceFilterOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigTransformationRuleResourceFilterOutput) ElementType added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleResourceFilterOutput) GroupKinds added in v6.67.0

(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 added in v6.67.0

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 added in v6.67.0

(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) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleResourceFilterOutput) ToRestorePlanRestoreConfigTransformationRuleResourceFilterOutput added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleResourceFilterOutput) ToRestorePlanRestoreConfigTransformationRuleResourceFilterOutputWithContext added in v6.67.0

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

func (RestorePlanRestoreConfigTransformationRuleResourceFilterOutput) ToRestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutput added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleResourceFilterOutput) ToRestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutputWithContext added in v6.67.0

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

type RestorePlanRestoreConfigTransformationRuleResourceFilterPtrInput added in v6.67.0

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 added in v6.67.0

type RestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutput struct{ *pulumi.OutputState }

func (RestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutput) Elem added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutput) ElementType added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutput) GroupKinds added in v6.67.0

(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 added in v6.67.0

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 added in v6.67.0

(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) ToOutput added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutput) ToRestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutput added in v6.67.0

func (RestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutput) ToRestorePlanRestoreConfigTransformationRuleResourceFilterPtrOutputWithContext added in v6.67.0

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

type RestorePlanState added in v6.67.0

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
	// Description: A set of custom labels supplied by the user.
	// A list of key->value pairs.
	// Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
	Labels pulumi.StringMapInput
	// The region of the Restore 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
	// 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 added in v6.67.0

func (RestorePlanState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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