1. Packages
  2. Google Cloud Native
  3. API Docs
  4. gkebackup
  5. gkebackup/v1
  6. RestorePlan

Google Cloud Native is in preview. Google Cloud Classic is fully supported.

Google Cloud Native v0.32.0 published on Wednesday, Nov 29, 2023 by Pulumi

google-native.gkebackup/v1.RestorePlan

Explore with Pulumi AI

google-native logo

Google Cloud Native is in preview. Google Cloud Classic is fully supported.

Google Cloud Native v0.32.0 published on Wednesday, Nov 29, 2023 by Pulumi

    Creates a new RestorePlan in a given location. Auto-naming is currently not supported for this resource.

    Create RestorePlan Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new RestorePlan(name: string, args: RestorePlanArgs, opts?: CustomResourceOptions);
    @overload
    def RestorePlan(resource_name: str,
                    args: RestorePlanArgs,
                    opts: Optional[ResourceOptions] = None)
    
    @overload
    def RestorePlan(resource_name: str,
                    opts: Optional[ResourceOptions] = None,
                    backup_plan: Optional[str] = None,
                    cluster: Optional[str] = None,
                    restore_config: Optional[RestoreConfigArgs] = None,
                    restore_plan_id: Optional[str] = None,
                    description: Optional[str] = None,
                    labels: Optional[Mapping[str, str]] = None,
                    location: Optional[str] = None,
                    project: Optional[str] = None)
    func NewRestorePlan(ctx *Context, name string, args RestorePlanArgs, opts ...ResourceOption) (*RestorePlan, error)
    public RestorePlan(string name, RestorePlanArgs args, CustomResourceOptions? opts = null)
    public RestorePlan(String name, RestorePlanArgs args)
    public RestorePlan(String name, RestorePlanArgs args, CustomResourceOptions options)
    
    type: google-native:gkebackup/v1:RestorePlan
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args RestorePlanArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args RestorePlanArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args RestorePlanArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args RestorePlanArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args RestorePlanArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var restorePlanResource = new GoogleNative.Gkebackup.V1.RestorePlan("restorePlanResource", new()
    {
        BackupPlan = "string",
        Cluster = "string",
        RestoreConfig = new GoogleNative.Gkebackup.V1.Inputs.RestoreConfigArgs
        {
            AllNamespaces = false,
            ClusterResourceConflictPolicy = GoogleNative.Gkebackup.V1.RestoreConfigClusterResourceConflictPolicy.ClusterResourceConflictPolicyUnspecified,
            ClusterResourceRestoreScope = new GoogleNative.Gkebackup.V1.Inputs.ClusterResourceRestoreScopeArgs
            {
                AllGroupKinds = false,
                ExcludedGroupKinds = new[]
                {
                    new GoogleNative.Gkebackup.V1.Inputs.GroupKindArgs
                    {
                        ResourceGroup = "string",
                        ResourceKind = "string",
                    },
                },
                NoGroupKinds = false,
                SelectedGroupKinds = new[]
                {
                    new GoogleNative.Gkebackup.V1.Inputs.GroupKindArgs
                    {
                        ResourceGroup = "string",
                        ResourceKind = "string",
                    },
                },
            },
            ExcludedNamespaces = new GoogleNative.Gkebackup.V1.Inputs.NamespacesArgs
            {
                Namespaces = new[]
                {
                    "string",
                },
            },
            NamespacedResourceRestoreMode = GoogleNative.Gkebackup.V1.RestoreConfigNamespacedResourceRestoreMode.NamespacedResourceRestoreModeUnspecified,
            NoNamespaces = false,
            SelectedApplications = new GoogleNative.Gkebackup.V1.Inputs.NamespacedNamesArgs
            {
                NamespacedNames = new[]
                {
                    new GoogleNative.Gkebackup.V1.Inputs.NamespacedNameArgs
                    {
                        Name = "string",
                        Namespace = "string",
                    },
                },
            },
            SelectedNamespaces = new GoogleNative.Gkebackup.V1.Inputs.NamespacesArgs
            {
                Namespaces = new[]
                {
                    "string",
                },
            },
            SubstitutionRules = new[]
            {
                new GoogleNative.Gkebackup.V1.Inputs.SubstitutionRuleArgs
                {
                    TargetJsonPath = "string",
                    NewValue = "string",
                    OriginalValuePattern = "string",
                    TargetGroupKinds = new[]
                    {
                        new GoogleNative.Gkebackup.V1.Inputs.GroupKindArgs
                        {
                            ResourceGroup = "string",
                            ResourceKind = "string",
                        },
                    },
                    TargetNamespaces = new[]
                    {
                        "string",
                    },
                },
            },
            TransformationRules = new[]
            {
                new GoogleNative.Gkebackup.V1.Inputs.TransformationRuleArgs
                {
                    FieldActions = new[]
                    {
                        new GoogleNative.Gkebackup.V1.Inputs.TransformationRuleActionArgs
                        {
                            Op = GoogleNative.Gkebackup.V1.TransformationRuleActionOp.OpUnspecified,
                            FromPath = "string",
                            Path = "string",
                            Value = "string",
                        },
                    },
                    Description = "string",
                    ResourceFilter = new GoogleNative.Gkebackup.V1.Inputs.ResourceFilterArgs
                    {
                        GroupKinds = new[]
                        {
                            new GoogleNative.Gkebackup.V1.Inputs.GroupKindArgs
                            {
                                ResourceGroup = "string",
                                ResourceKind = "string",
                            },
                        },
                        JsonPath = "string",
                        Namespaces = new[]
                        {
                            "string",
                        },
                    },
                },
            },
            VolumeDataRestorePolicy = GoogleNative.Gkebackup.V1.RestoreConfigVolumeDataRestorePolicy.VolumeDataRestorePolicyUnspecified,
        },
        RestorePlanId = "string",
        Description = "string",
        Labels = 
        {
            { "string", "string" },
        },
        Location = "string",
        Project = "string",
    });
    
    example, err := gkebackup.NewRestorePlan(ctx, "restorePlanResource", &gkebackup.RestorePlanArgs{
    	BackupPlan: pulumi.String("string"),
    	Cluster:    pulumi.String("string"),
    	RestoreConfig: &gkebackup.RestoreConfigArgs{
    		AllNamespaces:                 pulumi.Bool(false),
    		ClusterResourceConflictPolicy: gkebackup.RestoreConfigClusterResourceConflictPolicyClusterResourceConflictPolicyUnspecified,
    		ClusterResourceRestoreScope: &gkebackup.ClusterResourceRestoreScopeArgs{
    			AllGroupKinds: pulumi.Bool(false),
    			ExcludedGroupKinds: gkebackup.GroupKindArray{
    				&gkebackup.GroupKindArgs{
    					ResourceGroup: pulumi.String("string"),
    					ResourceKind:  pulumi.String("string"),
    				},
    			},
    			NoGroupKinds: pulumi.Bool(false),
    			SelectedGroupKinds: gkebackup.GroupKindArray{
    				&gkebackup.GroupKindArgs{
    					ResourceGroup: pulumi.String("string"),
    					ResourceKind:  pulumi.String("string"),
    				},
    			},
    		},
    		ExcludedNamespaces: &gkebackup.NamespacesArgs{
    			Namespaces: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    		NamespacedResourceRestoreMode: gkebackup.RestoreConfigNamespacedResourceRestoreModeNamespacedResourceRestoreModeUnspecified,
    		NoNamespaces:                  pulumi.Bool(false),
    		SelectedApplications: &gkebackup.NamespacedNamesArgs{
    			NamespacedNames: gkebackup.NamespacedNameArray{
    				&gkebackup.NamespacedNameArgs{
    					Name:      pulumi.String("string"),
    					Namespace: pulumi.String("string"),
    				},
    			},
    		},
    		SelectedNamespaces: &gkebackup.NamespacesArgs{
    			Namespaces: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    		SubstitutionRules: gkebackup.SubstitutionRuleArray{
    			&gkebackup.SubstitutionRuleArgs{
    				TargetJsonPath:       pulumi.String("string"),
    				NewValue:             pulumi.String("string"),
    				OriginalValuePattern: pulumi.String("string"),
    				TargetGroupKinds: gkebackup.GroupKindArray{
    					&gkebackup.GroupKindArgs{
    						ResourceGroup: pulumi.String("string"),
    						ResourceKind:  pulumi.String("string"),
    					},
    				},
    				TargetNamespaces: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    		},
    		TransformationRules: gkebackup.TransformationRuleArray{
    			&gkebackup.TransformationRuleArgs{
    				FieldActions: gkebackup.TransformationRuleActionArray{
    					&gkebackup.TransformationRuleActionArgs{
    						Op:       gkebackup.TransformationRuleActionOpOpUnspecified,
    						FromPath: pulumi.String("string"),
    						Path:     pulumi.String("string"),
    						Value:    pulumi.String("string"),
    					},
    				},
    				Description: pulumi.String("string"),
    				ResourceFilter: &gkebackup.ResourceFilterArgs{
    					GroupKinds: gkebackup.GroupKindArray{
    						&gkebackup.GroupKindArgs{
    							ResourceGroup: pulumi.String("string"),
    							ResourceKind:  pulumi.String("string"),
    						},
    					},
    					JsonPath: pulumi.String("string"),
    					Namespaces: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    				},
    			},
    		},
    		VolumeDataRestorePolicy: gkebackup.RestoreConfigVolumeDataRestorePolicyVolumeDataRestorePolicyUnspecified,
    	},
    	RestorePlanId: pulumi.String("string"),
    	Description:   pulumi.String("string"),
    	Labels: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	Location: pulumi.String("string"),
    	Project:  pulumi.String("string"),
    })
    
    var restorePlanResource = new RestorePlan("restorePlanResource", RestorePlanArgs.builder()
        .backupPlan("string")
        .cluster("string")
        .restoreConfig(RestoreConfigArgs.builder()
            .allNamespaces(false)
            .clusterResourceConflictPolicy("CLUSTER_RESOURCE_CONFLICT_POLICY_UNSPECIFIED")
            .clusterResourceRestoreScope(ClusterResourceRestoreScopeArgs.builder()
                .allGroupKinds(false)
                .excludedGroupKinds(GroupKindArgs.builder()
                    .resourceGroup("string")
                    .resourceKind("string")
                    .build())
                .noGroupKinds(false)
                .selectedGroupKinds(GroupKindArgs.builder()
                    .resourceGroup("string")
                    .resourceKind("string")
                    .build())
                .build())
            .excludedNamespaces(NamespacesArgs.builder()
                .namespaces("string")
                .build())
            .namespacedResourceRestoreMode("NAMESPACED_RESOURCE_RESTORE_MODE_UNSPECIFIED")
            .noNamespaces(false)
            .selectedApplications(NamespacedNamesArgs.builder()
                .namespacedNames(NamespacedNameArgs.builder()
                    .name("string")
                    .namespace("string")
                    .build())
                .build())
            .selectedNamespaces(NamespacesArgs.builder()
                .namespaces("string")
                .build())
            .substitutionRules(SubstitutionRuleArgs.builder()
                .targetJsonPath("string")
                .newValue("string")
                .originalValuePattern("string")
                .targetGroupKinds(GroupKindArgs.builder()
                    .resourceGroup("string")
                    .resourceKind("string")
                    .build())
                .targetNamespaces("string")
                .build())
            .transformationRules(TransformationRuleArgs.builder()
                .fieldActions(TransformationRuleActionArgs.builder()
                    .op("OP_UNSPECIFIED")
                    .fromPath("string")
                    .path("string")
                    .value("string")
                    .build())
                .description("string")
                .resourceFilter(ResourceFilterArgs.builder()
                    .groupKinds(GroupKindArgs.builder()
                        .resourceGroup("string")
                        .resourceKind("string")
                        .build())
                    .jsonPath("string")
                    .namespaces("string")
                    .build())
                .build())
            .volumeDataRestorePolicy("VOLUME_DATA_RESTORE_POLICY_UNSPECIFIED")
            .build())
        .restorePlanId("string")
        .description("string")
        .labels(Map.of("string", "string"))
        .location("string")
        .project("string")
        .build());
    
    restore_plan_resource = google_native.gkebackup.v1.RestorePlan("restorePlanResource",
        backup_plan="string",
        cluster="string",
        restore_config=google_native.gkebackup.v1.RestoreConfigArgs(
            all_namespaces=False,
            cluster_resource_conflict_policy=google_native.gkebackup.v1.RestoreConfigClusterResourceConflictPolicy.CLUSTER_RESOURCE_CONFLICT_POLICY_UNSPECIFIED,
            cluster_resource_restore_scope=google_native.gkebackup.v1.ClusterResourceRestoreScopeArgs(
                all_group_kinds=False,
                excluded_group_kinds=[google_native.gkebackup.v1.GroupKindArgs(
                    resource_group="string",
                    resource_kind="string",
                )],
                no_group_kinds=False,
                selected_group_kinds=[google_native.gkebackup.v1.GroupKindArgs(
                    resource_group="string",
                    resource_kind="string",
                )],
            ),
            excluded_namespaces=google_native.gkebackup.v1.NamespacesArgs(
                namespaces=["string"],
            ),
            namespaced_resource_restore_mode=google_native.gkebackup.v1.RestoreConfigNamespacedResourceRestoreMode.NAMESPACED_RESOURCE_RESTORE_MODE_UNSPECIFIED,
            no_namespaces=False,
            selected_applications=google_native.gkebackup.v1.NamespacedNamesArgs(
                namespaced_names=[google_native.gkebackup.v1.NamespacedNameArgs(
                    name="string",
                    namespace="string",
                )],
            ),
            selected_namespaces=google_native.gkebackup.v1.NamespacesArgs(
                namespaces=["string"],
            ),
            substitution_rules=[google_native.gkebackup.v1.SubstitutionRuleArgs(
                target_json_path="string",
                new_value="string",
                original_value_pattern="string",
                target_group_kinds=[google_native.gkebackup.v1.GroupKindArgs(
                    resource_group="string",
                    resource_kind="string",
                )],
                target_namespaces=["string"],
            )],
            transformation_rules=[google_native.gkebackup.v1.TransformationRuleArgs(
                field_actions=[google_native.gkebackup.v1.TransformationRuleActionArgs(
                    op=google_native.gkebackup.v1.TransformationRuleActionOp.OP_UNSPECIFIED,
                    from_path="string",
                    path="string",
                    value="string",
                )],
                description="string",
                resource_filter=google_native.gkebackup.v1.ResourceFilterArgs(
                    group_kinds=[google_native.gkebackup.v1.GroupKindArgs(
                        resource_group="string",
                        resource_kind="string",
                    )],
                    json_path="string",
                    namespaces=["string"],
                ),
            )],
            volume_data_restore_policy=google_native.gkebackup.v1.RestoreConfigVolumeDataRestorePolicy.VOLUME_DATA_RESTORE_POLICY_UNSPECIFIED,
        ),
        restore_plan_id="string",
        description="string",
        labels={
            "string": "string",
        },
        location="string",
        project="string")
    
    const restorePlanResource = new google_native.gkebackup.v1.RestorePlan("restorePlanResource", {
        backupPlan: "string",
        cluster: "string",
        restoreConfig: {
            allNamespaces: false,
            clusterResourceConflictPolicy: google_native.gkebackup.v1.RestoreConfigClusterResourceConflictPolicy.ClusterResourceConflictPolicyUnspecified,
            clusterResourceRestoreScope: {
                allGroupKinds: false,
                excludedGroupKinds: [{
                    resourceGroup: "string",
                    resourceKind: "string",
                }],
                noGroupKinds: false,
                selectedGroupKinds: [{
                    resourceGroup: "string",
                    resourceKind: "string",
                }],
            },
            excludedNamespaces: {
                namespaces: ["string"],
            },
            namespacedResourceRestoreMode: google_native.gkebackup.v1.RestoreConfigNamespacedResourceRestoreMode.NamespacedResourceRestoreModeUnspecified,
            noNamespaces: false,
            selectedApplications: {
                namespacedNames: [{
                    name: "string",
                    namespace: "string",
                }],
            },
            selectedNamespaces: {
                namespaces: ["string"],
            },
            substitutionRules: [{
                targetJsonPath: "string",
                newValue: "string",
                originalValuePattern: "string",
                targetGroupKinds: [{
                    resourceGroup: "string",
                    resourceKind: "string",
                }],
                targetNamespaces: ["string"],
            }],
            transformationRules: [{
                fieldActions: [{
                    op: google_native.gkebackup.v1.TransformationRuleActionOp.OpUnspecified,
                    fromPath: "string",
                    path: "string",
                    value: "string",
                }],
                description: "string",
                resourceFilter: {
                    groupKinds: [{
                        resourceGroup: "string",
                        resourceKind: "string",
                    }],
                    jsonPath: "string",
                    namespaces: ["string"],
                },
            }],
            volumeDataRestorePolicy: google_native.gkebackup.v1.RestoreConfigVolumeDataRestorePolicy.VolumeDataRestorePolicyUnspecified,
        },
        restorePlanId: "string",
        description: "string",
        labels: {
            string: "string",
        },
        location: "string",
        project: "string",
    });
    
    type: google-native:gkebackup/v1:RestorePlan
    properties:
        backupPlan: string
        cluster: string
        description: string
        labels:
            string: string
        location: string
        project: string
        restoreConfig:
            allNamespaces: false
            clusterResourceConflictPolicy: CLUSTER_RESOURCE_CONFLICT_POLICY_UNSPECIFIED
            clusterResourceRestoreScope:
                allGroupKinds: false
                excludedGroupKinds:
                    - resourceGroup: string
                      resourceKind: string
                noGroupKinds: false
                selectedGroupKinds:
                    - resourceGroup: string
                      resourceKind: string
            excludedNamespaces:
                namespaces:
                    - string
            namespacedResourceRestoreMode: NAMESPACED_RESOURCE_RESTORE_MODE_UNSPECIFIED
            noNamespaces: false
            selectedApplications:
                namespacedNames:
                    - name: string
                      namespace: string
            selectedNamespaces:
                namespaces:
                    - string
            substitutionRules:
                - newValue: string
                  originalValuePattern: string
                  targetGroupKinds:
                    - resourceGroup: string
                      resourceKind: string
                  targetJsonPath: string
                  targetNamespaces:
                    - string
            transformationRules:
                - description: string
                  fieldActions:
                    - fromPath: string
                      op: OP_UNSPECIFIED
                      path: string
                      value: string
                  resourceFilter:
                    groupKinds:
                        - resourceGroup: string
                          resourceKind: string
                    jsonPath: string
                    namespaces:
                        - string
            volumeDataRestorePolicy: VOLUME_DATA_RESTORE_POLICY_UNSPECIFIED
        restorePlanId: string
    

    RestorePlan Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The RestorePlan resource accepts the following input properties:

    BackupPlan string
    Immutable. A reference to the BackupPlan from which Backups may be used as the source for Restores created via this RestorePlan. Format: projects/*/locations/*/backupPlans/*.
    Cluster string
    Immutable. The target cluster into which Restores created via this RestorePlan will restore data. NOTE: the cluster's region must be the same as the RestorePlan. Valid formats: - projects/*/locations/*/clusters/* - projects/*/zones/*/clusters/*
    RestoreConfig Pulumi.GoogleNative.Gkebackup.V1.Inputs.RestoreConfig
    Configuration of Restores created via this RestorePlan.
    RestorePlanId string
    Required. The client-provided short name for the RestorePlan resource. This name must: - be between 1 and 63 characters long (inclusive) - consist of only lower-case ASCII letters, numbers, and dashes - start with a lower-case letter - end with a lower-case letter or number - be unique within the set of RestorePlans in this location
    Description string
    Optional. User specified descriptive string for this RestorePlan.
    Labels Dictionary<string, string>
    Optional. A set of custom labels supplied by user.
    Location string
    Project string
    BackupPlan string
    Immutable. A reference to the BackupPlan from which Backups may be used as the source for Restores created via this RestorePlan. Format: projects/*/locations/*/backupPlans/*.
    Cluster string
    Immutable. The target cluster into which Restores created via this RestorePlan will restore data. NOTE: the cluster's region must be the same as the RestorePlan. Valid formats: - projects/*/locations/*/clusters/* - projects/*/zones/*/clusters/*
    RestoreConfig RestoreConfigArgs
    Configuration of Restores created via this RestorePlan.
    RestorePlanId string
    Required. The client-provided short name for the RestorePlan resource. This name must: - be between 1 and 63 characters long (inclusive) - consist of only lower-case ASCII letters, numbers, and dashes - start with a lower-case letter - end with a lower-case letter or number - be unique within the set of RestorePlans in this location
    Description string
    Optional. User specified descriptive string for this RestorePlan.
    Labels map[string]string
    Optional. A set of custom labels supplied by user.
    Location string
    Project string
    backupPlan String
    Immutable. A reference to the BackupPlan from which Backups may be used as the source for Restores created via this RestorePlan. Format: projects/*/locations/*/backupPlans/*.
    cluster String
    Immutable. The target cluster into which Restores created via this RestorePlan will restore data. NOTE: the cluster's region must be the same as the RestorePlan. Valid formats: - projects/*/locations/*/clusters/* - projects/*/zones/*/clusters/*
    restoreConfig RestoreConfig
    Configuration of Restores created via this RestorePlan.
    restorePlanId String
    Required. The client-provided short name for the RestorePlan resource. This name must: - be between 1 and 63 characters long (inclusive) - consist of only lower-case ASCII letters, numbers, and dashes - start with a lower-case letter - end with a lower-case letter or number - be unique within the set of RestorePlans in this location
    description String
    Optional. User specified descriptive string for this RestorePlan.
    labels Map<String,String>
    Optional. A set of custom labels supplied by user.
    location String
    project String
    backupPlan string
    Immutable. A reference to the BackupPlan from which Backups may be used as the source for Restores created via this RestorePlan. Format: projects/*/locations/*/backupPlans/*.
    cluster string
    Immutable. The target cluster into which Restores created via this RestorePlan will restore data. NOTE: the cluster's region must be the same as the RestorePlan. Valid formats: - projects/*/locations/*/clusters/* - projects/*/zones/*/clusters/*
    restoreConfig RestoreConfig
    Configuration of Restores created via this RestorePlan.
    restorePlanId string
    Required. The client-provided short name for the RestorePlan resource. This name must: - be between 1 and 63 characters long (inclusive) - consist of only lower-case ASCII letters, numbers, and dashes - start with a lower-case letter - end with a lower-case letter or number - be unique within the set of RestorePlans in this location
    description string
    Optional. User specified descriptive string for this RestorePlan.
    labels {[key: string]: string}
    Optional. A set of custom labels supplied by user.
    location string
    project string
    backup_plan str
    Immutable. A reference to the BackupPlan from which Backups may be used as the source for Restores created via this RestorePlan. Format: projects/*/locations/*/backupPlans/*.
    cluster str
    Immutable. The target cluster into which Restores created via this RestorePlan will restore data. NOTE: the cluster's region must be the same as the RestorePlan. Valid formats: - projects/*/locations/*/clusters/* - projects/*/zones/*/clusters/*
    restore_config RestoreConfigArgs
    Configuration of Restores created via this RestorePlan.
    restore_plan_id str
    Required. The client-provided short name for the RestorePlan resource. This name must: - be between 1 and 63 characters long (inclusive) - consist of only lower-case ASCII letters, numbers, and dashes - start with a lower-case letter - end with a lower-case letter or number - be unique within the set of RestorePlans in this location
    description str
    Optional. User specified descriptive string for this RestorePlan.
    labels Mapping[str, str]
    Optional. A set of custom labels supplied by user.
    location str
    project str
    backupPlan String
    Immutable. A reference to the BackupPlan from which Backups may be used as the source for Restores created via this RestorePlan. Format: projects/*/locations/*/backupPlans/*.
    cluster String
    Immutable. The target cluster into which Restores created via this RestorePlan will restore data. NOTE: the cluster's region must be the same as the RestorePlan. Valid formats: - projects/*/locations/*/clusters/* - projects/*/zones/*/clusters/*
    restoreConfig Property Map
    Configuration of Restores created via this RestorePlan.
    restorePlanId String
    Required. The client-provided short name for the RestorePlan resource. This name must: - be between 1 and 63 characters long (inclusive) - consist of only lower-case ASCII letters, numbers, and dashes - start with a lower-case letter - end with a lower-case letter or number - be unique within the set of RestorePlans in this location
    description String
    Optional. User specified descriptive string for this RestorePlan.
    labels Map<String>
    Optional. A set of custom labels supplied by user.
    location String
    project String

    Outputs

    All input properties are implicitly available as output properties. Additionally, the RestorePlan resource produces the following output properties:

    CreateTime string
    The timestamp when this RestorePlan resource was created.
    Etag string
    etag is used for optimistic concurrency control as a way to help prevent simultaneous updates of a restore from overwriting each other. It is strongly suggested that systems make use of the etag in the read-modify-write cycle to perform restore updates in order to avoid race conditions: An etag is returned in the response to GetRestorePlan, and systems are expected to put that etag in the request to UpdateRestorePlan or DeleteRestorePlan to ensure that their change will be applied to the same version of the resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    The full name of the RestorePlan resource. Format: projects/*/locations/*/restorePlans/*.
    State string
    State of the RestorePlan. This State field reflects the various stages a RestorePlan can be in during the Create operation.
    StateReason string
    Human-readable description of why RestorePlan is in the current state
    Uid string
    Server generated global unique identifier of UUID format.
    UpdateTime string
    The timestamp when this RestorePlan resource was last updated.
    CreateTime string
    The timestamp when this RestorePlan resource was created.
    Etag string
    etag is used for optimistic concurrency control as a way to help prevent simultaneous updates of a restore from overwriting each other. It is strongly suggested that systems make use of the etag in the read-modify-write cycle to perform restore updates in order to avoid race conditions: An etag is returned in the response to GetRestorePlan, and systems are expected to put that etag in the request to UpdateRestorePlan or DeleteRestorePlan to ensure that their change will be applied to the same version of the resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    The full name of the RestorePlan resource. Format: projects/*/locations/*/restorePlans/*.
    State string
    State of the RestorePlan. This State field reflects the various stages a RestorePlan can be in during the Create operation.
    StateReason string
    Human-readable description of why RestorePlan is in the current state
    Uid string
    Server generated global unique identifier of UUID format.
    UpdateTime string
    The timestamp when this RestorePlan resource was last updated.
    createTime String
    The timestamp when this RestorePlan resource was created.
    etag String
    etag is used for optimistic concurrency control as a way to help prevent simultaneous updates of a restore from overwriting each other. It is strongly suggested that systems make use of the etag in the read-modify-write cycle to perform restore updates in order to avoid race conditions: An etag is returned in the response to GetRestorePlan, and systems are expected to put that etag in the request to UpdateRestorePlan or DeleteRestorePlan to ensure that their change will be applied to the same version of the resource.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    The full name of the RestorePlan resource. Format: projects/*/locations/*/restorePlans/*.
    state String
    State of the RestorePlan. This State field reflects the various stages a RestorePlan can be in during the Create operation.
    stateReason String
    Human-readable description of why RestorePlan is in the current state
    uid String
    Server generated global unique identifier of UUID format.
    updateTime String
    The timestamp when this RestorePlan resource was last updated.
    createTime string
    The timestamp when this RestorePlan resource was created.
    etag string
    etag is used for optimistic concurrency control as a way to help prevent simultaneous updates of a restore from overwriting each other. It is strongly suggested that systems make use of the etag in the read-modify-write cycle to perform restore updates in order to avoid race conditions: An etag is returned in the response to GetRestorePlan, and systems are expected to put that etag in the request to UpdateRestorePlan or DeleteRestorePlan to ensure that their change will be applied to the same version of the resource.
    id string
    The provider-assigned unique ID for this managed resource.
    name string
    The full name of the RestorePlan resource. Format: projects/*/locations/*/restorePlans/*.
    state string
    State of the RestorePlan. This State field reflects the various stages a RestorePlan can be in during the Create operation.
    stateReason string
    Human-readable description of why RestorePlan is in the current state
    uid string
    Server generated global unique identifier of UUID format.
    updateTime string
    The timestamp when this RestorePlan resource was last updated.
    create_time str
    The timestamp when this RestorePlan resource was created.
    etag str
    etag is used for optimistic concurrency control as a way to help prevent simultaneous updates of a restore from overwriting each other. It is strongly suggested that systems make use of the etag in the read-modify-write cycle to perform restore updates in order to avoid race conditions: An etag is returned in the response to GetRestorePlan, and systems are expected to put that etag in the request to UpdateRestorePlan or DeleteRestorePlan to ensure that their change will be applied to the same version of the resource.
    id str
    The provider-assigned unique ID for this managed resource.
    name str
    The full name of the RestorePlan resource. Format: projects/*/locations/*/restorePlans/*.
    state str
    State of the RestorePlan. This State field reflects the various stages a RestorePlan can be in during the Create operation.
    state_reason str
    Human-readable description of why RestorePlan is in the current state
    uid str
    Server generated global unique identifier of UUID format.
    update_time str
    The timestamp when this RestorePlan resource was last updated.
    createTime String
    The timestamp when this RestorePlan resource was created.
    etag String
    etag is used for optimistic concurrency control as a way to help prevent simultaneous updates of a restore from overwriting each other. It is strongly suggested that systems make use of the etag in the read-modify-write cycle to perform restore updates in order to avoid race conditions: An etag is returned in the response to GetRestorePlan, and systems are expected to put that etag in the request to UpdateRestorePlan or DeleteRestorePlan to ensure that their change will be applied to the same version of the resource.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    The full name of the RestorePlan resource. Format: projects/*/locations/*/restorePlans/*.
    state String
    State of the RestorePlan. This State field reflects the various stages a RestorePlan can be in during the Create operation.
    stateReason String
    Human-readable description of why RestorePlan is in the current state
    uid String
    Server generated global unique identifier of UUID format.
    updateTime String
    The timestamp when this RestorePlan resource was last updated.

    Supporting Types

    ClusterResourceRestoreScope, ClusterResourceRestoreScopeArgs

    AllGroupKinds bool
    Optional. If True, all valid cluster-scoped resources will be restored. Mutually exclusive to any other field in the message.
    ExcludedGroupKinds List<Pulumi.GoogleNative.Gkebackup.V1.Inputs.GroupKind>
    Optional. 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 the message.
    NoGroupKinds bool
    Optional. If True, no cluster-scoped resources will be restored. This has the same restore scope as if the message is not defined. Mutually exclusive to any other field in the message.
    SelectedGroupKinds List<Pulumi.GoogleNative.Gkebackup.V1.Inputs.GroupKind>
    Optional. 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 message.
    AllGroupKinds bool
    Optional. If True, all valid cluster-scoped resources will be restored. Mutually exclusive to any other field in the message.
    ExcludedGroupKinds []GroupKind
    Optional. 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 the message.
    NoGroupKinds bool
    Optional. If True, no cluster-scoped resources will be restored. This has the same restore scope as if the message is not defined. Mutually exclusive to any other field in the message.
    SelectedGroupKinds []GroupKind
    Optional. 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 message.
    allGroupKinds Boolean
    Optional. If True, all valid cluster-scoped resources will be restored. Mutually exclusive to any other field in the message.
    excludedGroupKinds List<GroupKind>
    Optional. 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 the message.
    noGroupKinds Boolean
    Optional. If True, no cluster-scoped resources will be restored. This has the same restore scope as if the message is not defined. Mutually exclusive to any other field in the message.
    selectedGroupKinds List<GroupKind>
    Optional. 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 message.
    allGroupKinds boolean
    Optional. If True, all valid cluster-scoped resources will be restored. Mutually exclusive to any other field in the message.
    excludedGroupKinds GroupKind[]
    Optional. 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 the message.
    noGroupKinds boolean
    Optional. If True, no cluster-scoped resources will be restored. This has the same restore scope as if the message is not defined. Mutually exclusive to any other field in the message.
    selectedGroupKinds GroupKind[]
    Optional. 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 message.
    all_group_kinds bool
    Optional. If True, all valid cluster-scoped resources will be restored. Mutually exclusive to any other field in the message.
    excluded_group_kinds Sequence[GroupKind]
    Optional. 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 the message.
    no_group_kinds bool
    Optional. If True, no cluster-scoped resources will be restored. This has the same restore scope as if the message is not defined. Mutually exclusive to any other field in the message.
    selected_group_kinds Sequence[GroupKind]
    Optional. 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 message.
    allGroupKinds Boolean
    Optional. If True, all valid cluster-scoped resources will be restored. Mutually exclusive to any other field in the message.
    excludedGroupKinds List<Property Map>
    Optional. 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 the message.
    noGroupKinds Boolean
    Optional. If True, no cluster-scoped resources will be restored. This has the same restore scope as if the message is not defined. Mutually exclusive to any other field in the message.
    selectedGroupKinds List<Property Map>
    Optional. 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 message.

    ClusterResourceRestoreScopeResponse, ClusterResourceRestoreScopeResponseArgs

    AllGroupKinds bool
    Optional. If True, all valid cluster-scoped resources will be restored. Mutually exclusive to any other field in the message.
    ExcludedGroupKinds List<Pulumi.GoogleNative.Gkebackup.V1.Inputs.GroupKindResponse>
    Optional. 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 the message.
    NoGroupKinds bool
    Optional. If True, no cluster-scoped resources will be restored. This has the same restore scope as if the message is not defined. Mutually exclusive to any other field in the message.
    SelectedGroupKinds List<Pulumi.GoogleNative.Gkebackup.V1.Inputs.GroupKindResponse>
    Optional. 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 message.
    AllGroupKinds bool
    Optional. If True, all valid cluster-scoped resources will be restored. Mutually exclusive to any other field in the message.
    ExcludedGroupKinds []GroupKindResponse
    Optional. 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 the message.
    NoGroupKinds bool
    Optional. If True, no cluster-scoped resources will be restored. This has the same restore scope as if the message is not defined. Mutually exclusive to any other field in the message.
    SelectedGroupKinds []GroupKindResponse
    Optional. 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 message.
    allGroupKinds Boolean
    Optional. If True, all valid cluster-scoped resources will be restored. Mutually exclusive to any other field in the message.
    excludedGroupKinds List<GroupKindResponse>
    Optional. 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 the message.
    noGroupKinds Boolean
    Optional. If True, no cluster-scoped resources will be restored. This has the same restore scope as if the message is not defined. Mutually exclusive to any other field in the message.
    selectedGroupKinds List<GroupKindResponse>
    Optional. 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 message.
    allGroupKinds boolean
    Optional. If True, all valid cluster-scoped resources will be restored. Mutually exclusive to any other field in the message.
    excludedGroupKinds GroupKindResponse[]
    Optional. 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 the message.
    noGroupKinds boolean
    Optional. If True, no cluster-scoped resources will be restored. This has the same restore scope as if the message is not defined. Mutually exclusive to any other field in the message.
    selectedGroupKinds GroupKindResponse[]
    Optional. 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 message.
    all_group_kinds bool
    Optional. If True, all valid cluster-scoped resources will be restored. Mutually exclusive to any other field in the message.
    excluded_group_kinds Sequence[GroupKindResponse]
    Optional. 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 the message.
    no_group_kinds bool
    Optional. If True, no cluster-scoped resources will be restored. This has the same restore scope as if the message is not defined. Mutually exclusive to any other field in the message.
    selected_group_kinds Sequence[GroupKindResponse]
    Optional. 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 message.
    allGroupKinds Boolean
    Optional. If True, all valid cluster-scoped resources will be restored. Mutually exclusive to any other field in the message.
    excludedGroupKinds List<Property Map>
    Optional. 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 the message.
    noGroupKinds Boolean
    Optional. If True, no cluster-scoped resources will be restored. This has the same restore scope as if the message is not defined. Mutually exclusive to any other field in the message.
    selectedGroupKinds List<Property Map>
    Optional. 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 message.

    GroupKind, GroupKindArgs

    ResourceGroup string
    Optional. API group string of a Kubernetes resource, e.g. "apiextensions.k8s.io", "storage.k8s.io", etc. Note: use empty string for core API group
    ResourceKind string
    Optional. Kind of a Kubernetes resource, must be in UpperCamelCase (PascalCase) and singular form. E.g. "CustomResourceDefinition", "StorageClass", etc.
    ResourceGroup string
    Optional. API group string of a Kubernetes resource, e.g. "apiextensions.k8s.io", "storage.k8s.io", etc. Note: use empty string for core API group
    ResourceKind string
    Optional. Kind of a Kubernetes resource, must be in UpperCamelCase (PascalCase) and singular form. E.g. "CustomResourceDefinition", "StorageClass", etc.
    resourceGroup String
    Optional. API group string of a Kubernetes resource, e.g. "apiextensions.k8s.io", "storage.k8s.io", etc. Note: use empty string for core API group
    resourceKind String
    Optional. Kind of a Kubernetes resource, must be in UpperCamelCase (PascalCase) and singular form. E.g. "CustomResourceDefinition", "StorageClass", etc.
    resourceGroup string
    Optional. API group string of a Kubernetes resource, e.g. "apiextensions.k8s.io", "storage.k8s.io", etc. Note: use empty string for core API group
    resourceKind string
    Optional. Kind of a Kubernetes resource, must be in UpperCamelCase (PascalCase) and singular form. E.g. "CustomResourceDefinition", "StorageClass", etc.
    resource_group str
    Optional. API group string of a Kubernetes resource, e.g. "apiextensions.k8s.io", "storage.k8s.io", etc. Note: use empty string for core API group
    resource_kind str
    Optional. Kind of a Kubernetes resource, must be in UpperCamelCase (PascalCase) and singular form. E.g. "CustomResourceDefinition", "StorageClass", etc.
    resourceGroup String
    Optional. API group string of a Kubernetes resource, e.g. "apiextensions.k8s.io", "storage.k8s.io", etc. Note: use empty string for core API group
    resourceKind String
    Optional. Kind of a Kubernetes resource, must be in UpperCamelCase (PascalCase) and singular form. E.g. "CustomResourceDefinition", "StorageClass", etc.

    GroupKindResponse, GroupKindResponseArgs

    ResourceGroup string
    Optional. API group string of a Kubernetes resource, e.g. "apiextensions.k8s.io", "storage.k8s.io", etc. Note: use empty string for core API group
    ResourceKind string
    Optional. Kind of a Kubernetes resource, must be in UpperCamelCase (PascalCase) and singular form. E.g. "CustomResourceDefinition", "StorageClass", etc.
    ResourceGroup string
    Optional. API group string of a Kubernetes resource, e.g. "apiextensions.k8s.io", "storage.k8s.io", etc. Note: use empty string for core API group
    ResourceKind string
    Optional. Kind of a Kubernetes resource, must be in UpperCamelCase (PascalCase) and singular form. E.g. "CustomResourceDefinition", "StorageClass", etc.
    resourceGroup String
    Optional. API group string of a Kubernetes resource, e.g. "apiextensions.k8s.io", "storage.k8s.io", etc. Note: use empty string for core API group
    resourceKind String
    Optional. Kind of a Kubernetes resource, must be in UpperCamelCase (PascalCase) and singular form. E.g. "CustomResourceDefinition", "StorageClass", etc.
    resourceGroup string
    Optional. API group string of a Kubernetes resource, e.g. "apiextensions.k8s.io", "storage.k8s.io", etc. Note: use empty string for core API group
    resourceKind string
    Optional. Kind of a Kubernetes resource, must be in UpperCamelCase (PascalCase) and singular form. E.g. "CustomResourceDefinition", "StorageClass", etc.
    resource_group str
    Optional. API group string of a Kubernetes resource, e.g. "apiextensions.k8s.io", "storage.k8s.io", etc. Note: use empty string for core API group
    resource_kind str
    Optional. Kind of a Kubernetes resource, must be in UpperCamelCase (PascalCase) and singular form. E.g. "CustomResourceDefinition", "StorageClass", etc.
    resourceGroup String
    Optional. API group string of a Kubernetes resource, e.g. "apiextensions.k8s.io", "storage.k8s.io", etc. Note: use empty string for core API group
    resourceKind String
    Optional. Kind of a Kubernetes resource, must be in UpperCamelCase (PascalCase) and singular form. E.g. "CustomResourceDefinition", "StorageClass", etc.

    NamespacedName, NamespacedNameArgs

    Name string
    Optional. The name of the Kubernetes resource.
    Namespace string
    Optional. The Namespace of the Kubernetes resource.
    Name string
    Optional. The name of the Kubernetes resource.
    Namespace string
    Optional. The Namespace of the Kubernetes resource.
    name String
    Optional. The name of the Kubernetes resource.
    namespace String
    Optional. The Namespace of the Kubernetes resource.
    name string
    Optional. The name of the Kubernetes resource.
    namespace string
    Optional. The Namespace of the Kubernetes resource.
    name str
    Optional. The name of the Kubernetes resource.
    namespace str
    Optional. The Namespace of the Kubernetes resource.
    name String
    Optional. The name of the Kubernetes resource.
    namespace String
    Optional. The Namespace of the Kubernetes resource.

    NamespacedNameResponse, NamespacedNameResponseArgs

    Name string
    Optional. The name of the Kubernetes resource.
    Namespace string
    Optional. The Namespace of the Kubernetes resource.
    Name string
    Optional. The name of the Kubernetes resource.
    Namespace string
    Optional. The Namespace of the Kubernetes resource.
    name String
    Optional. The name of the Kubernetes resource.
    namespace String
    Optional. The Namespace of the Kubernetes resource.
    name string
    Optional. The name of the Kubernetes resource.
    namespace string
    Optional. The Namespace of the Kubernetes resource.
    name str
    Optional. The name of the Kubernetes resource.
    namespace str
    Optional. The Namespace of the Kubernetes resource.
    name String
    Optional. The name of the Kubernetes resource.
    namespace String
    Optional. The Namespace of the Kubernetes resource.

    NamespacedNames, NamespacedNamesArgs

    NamespacedNames List<Pulumi.GoogleNative.Gkebackup.V1.Inputs.NamespacedName>
    Optional. A list of namespaced Kubernetes resources.
    NamespacedNames []NamespacedName
    Optional. A list of namespaced Kubernetes resources.
    namespacedNames List<NamespacedName>
    Optional. A list of namespaced Kubernetes resources.
    namespacedNames NamespacedName[]
    Optional. A list of namespaced Kubernetes resources.
    namespaced_names Sequence[NamespacedName]
    Optional. A list of namespaced Kubernetes resources.
    namespacedNames List<Property Map>
    Optional. A list of namespaced Kubernetes resources.

    NamespacedNamesResponse, NamespacedNamesResponseArgs

    NamespacedNames []NamespacedNameResponse
    Optional. A list of namespaced Kubernetes resources.
    namespacedNames List<NamespacedNameResponse>
    Optional. A list of namespaced Kubernetes resources.
    namespacedNames NamespacedNameResponse[]
    Optional. A list of namespaced Kubernetes resources.
    namespaced_names Sequence[NamespacedNameResponse]
    Optional. A list of namespaced Kubernetes resources.
    namespacedNames List<Property Map>
    Optional. A list of namespaced Kubernetes resources.

    Namespaces, NamespacesArgs

    Namespaces List<string>
    Optional. A list of Kubernetes Namespaces
    Namespaces []string
    Optional. A list of Kubernetes Namespaces
    namespaces List<String>
    Optional. A list of Kubernetes Namespaces
    namespaces string[]
    Optional. A list of Kubernetes Namespaces
    namespaces Sequence[str]
    Optional. A list of Kubernetes Namespaces
    namespaces List<String>
    Optional. A list of Kubernetes Namespaces

    NamespacesResponse, NamespacesResponseArgs

    Namespaces List<string>
    Optional. A list of Kubernetes Namespaces
    Namespaces []string
    Optional. A list of Kubernetes Namespaces
    namespaces List<String>
    Optional. A list of Kubernetes Namespaces
    namespaces string[]
    Optional. A list of Kubernetes Namespaces
    namespaces Sequence[str]
    Optional. A list of Kubernetes Namespaces
    namespaces List<String>
    Optional. A list of Kubernetes Namespaces

    ResourceFilter, ResourceFilterArgs

    GroupKinds List<Pulumi.GoogleNative.Gkebackup.V1.Inputs.GroupKind>
    Optional. (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).
    JsonPath string
    Optional. This is a [JSONPath] (https://github.com/json-path/JsonPath/blob/master/README.md) 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).
    Namespaces List<string>
    Optional. (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).
    GroupKinds []GroupKind
    Optional. (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).
    JsonPath string
    Optional. This is a [JSONPath] (https://github.com/json-path/JsonPath/blob/master/README.md) 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).
    Namespaces []string
    Optional. (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).
    groupKinds List<GroupKind>
    Optional. (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).
    jsonPath String
    Optional. This is a [JSONPath] (https://github.com/json-path/JsonPath/blob/master/README.md) 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).
    namespaces List<String>
    Optional. (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).
    groupKinds GroupKind[]
    Optional. (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).
    jsonPath string
    Optional. This is a [JSONPath] (https://github.com/json-path/JsonPath/blob/master/README.md) 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).
    namespaces string[]
    Optional. (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).
    group_kinds Sequence[GroupKind]
    Optional. (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).
    json_path str
    Optional. This is a [JSONPath] (https://github.com/json-path/JsonPath/blob/master/README.md) 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).
    namespaces Sequence[str]
    Optional. (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).
    groupKinds List<Property Map>
    Optional. (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).
    jsonPath String
    Optional. This is a [JSONPath] (https://github.com/json-path/JsonPath/blob/master/README.md) 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).
    namespaces List<String>
    Optional. (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).

    ResourceFilterResponse, ResourceFilterResponseArgs

    GroupKinds List<Pulumi.GoogleNative.Gkebackup.V1.Inputs.GroupKindResponse>
    Optional. (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).
    JsonPath string
    Optional. This is a [JSONPath] (https://github.com/json-path/JsonPath/blob/master/README.md) 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).
    Namespaces List<string>
    Optional. (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).
    GroupKinds []GroupKindResponse
    Optional. (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).
    JsonPath string
    Optional. This is a [JSONPath] (https://github.com/json-path/JsonPath/blob/master/README.md) 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).
    Namespaces []string
    Optional. (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).
    groupKinds List<GroupKindResponse>
    Optional. (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).
    jsonPath String
    Optional. This is a [JSONPath] (https://github.com/json-path/JsonPath/blob/master/README.md) 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).
    namespaces List<String>
    Optional. (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).
    groupKinds GroupKindResponse[]
    Optional. (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).
    jsonPath string
    Optional. This is a [JSONPath] (https://github.com/json-path/JsonPath/blob/master/README.md) 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).
    namespaces string[]
    Optional. (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).
    group_kinds Sequence[GroupKindResponse]
    Optional. (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).
    json_path str
    Optional. This is a [JSONPath] (https://github.com/json-path/JsonPath/blob/master/README.md) 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).
    namespaces Sequence[str]
    Optional. (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).
    groupKinds List<Property Map>
    Optional. (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).
    jsonPath String
    Optional. This is a [JSONPath] (https://github.com/json-path/JsonPath/blob/master/README.md) 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).
    namespaces List<String>
    Optional. (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).

    RestoreConfig, RestoreConfigArgs

    AllNamespaces bool
    Restore all namespaced resources in the Backup if set to "True". Specifying this field to "False" is an error.
    ClusterResourceConflictPolicy Pulumi.GoogleNative.Gkebackup.V1.RestoreConfigClusterResourceConflictPolicy
    Optional. 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 cluster_resource_restore_scope is not empty.
    ClusterResourceRestoreScope Pulumi.GoogleNative.Gkebackup.V1.Inputs.ClusterResourceRestoreScope
    Optional. Identifies the cluster-scoped resources to restore from the Backup. Not specifying it means NO cluster resource will be restored.
    ExcludedNamespaces Pulumi.GoogleNative.Gkebackup.V1.Inputs.Namespaces
    A list of selected namespaces excluded from restoration. All namespaces except those in this list will be restored.
    NamespacedResourceRestoreMode Pulumi.GoogleNative.Gkebackup.V1.RestoreConfigNamespacedResourceRestoreMode
    Optional. 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.
    NoNamespaces bool
    Do not restore any namespaced resources if set to "True". Specifying this field to "False" is not allowed.
    SelectedApplications Pulumi.GoogleNative.Gkebackup.V1.Inputs.NamespacedNames
    A list of selected ProtectedApplications to restore. The listed ProtectedApplications and all the resources to which they refer will be restored.
    SelectedNamespaces Pulumi.GoogleNative.Gkebackup.V1.Inputs.Namespaces
    A list of selected Namespaces to restore from the Backup. The listed Namespaces and all resources contained in them will be restored.
    SubstitutionRules List<Pulumi.GoogleNative.Gkebackup.V1.Inputs.SubstitutionRule>
    Optional. 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 substitution will occur.
    TransformationRules List<Pulumi.GoogleNative.Gkebackup.V1.Inputs.TransformationRule>
    Optional. 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.
    VolumeDataRestorePolicy Pulumi.GoogleNative.Gkebackup.V1.RestoreConfigVolumeDataRestorePolicy
    Optional. Specifies the mechanism to be used to restore volume data. Default: VOLUME_DATA_RESTORE_POLICY_UNSPECIFIED (will be treated as NO_VOLUME_DATA_RESTORATION).
    AllNamespaces bool
    Restore all namespaced resources in the Backup if set to "True". Specifying this field to "False" is an error.
    ClusterResourceConflictPolicy RestoreConfigClusterResourceConflictPolicy
    Optional. 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 cluster_resource_restore_scope is not empty.
    ClusterResourceRestoreScope ClusterResourceRestoreScope
    Optional. Identifies the cluster-scoped resources to restore from the Backup. Not specifying it means NO cluster resource will be restored.
    ExcludedNamespaces Namespaces
    A list of selected namespaces excluded from restoration. All namespaces except those in this list will be restored.
    NamespacedResourceRestoreMode RestoreConfigNamespacedResourceRestoreMode
    Optional. 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.
    NoNamespaces bool
    Do not restore any namespaced resources if set to "True". Specifying this field to "False" is not allowed.
    SelectedApplications NamespacedNames
    A list of selected ProtectedApplications to restore. The listed ProtectedApplications and all the resources to which they refer will be restored.
    SelectedNamespaces Namespaces
    A list of selected Namespaces to restore from the Backup. The listed Namespaces and all resources contained in them will be restored.
    SubstitutionRules []SubstitutionRule
    Optional. 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 substitution will occur.
    TransformationRules []TransformationRule
    Optional. 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.
    VolumeDataRestorePolicy RestoreConfigVolumeDataRestorePolicy
    Optional. Specifies the mechanism to be used to restore volume data. Default: VOLUME_DATA_RESTORE_POLICY_UNSPECIFIED (will be treated as NO_VOLUME_DATA_RESTORATION).
    allNamespaces Boolean
    Restore all namespaced resources in the Backup if set to "True". Specifying this field to "False" is an error.
    clusterResourceConflictPolicy RestoreConfigClusterResourceConflictPolicy
    Optional. 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 cluster_resource_restore_scope is not empty.
    clusterResourceRestoreScope ClusterResourceRestoreScope
    Optional. Identifies the cluster-scoped resources to restore from the Backup. Not specifying it means NO cluster resource will be restored.
    excludedNamespaces Namespaces
    A list of selected namespaces excluded from restoration. All namespaces except those in this list will be restored.
    namespacedResourceRestoreMode RestoreConfigNamespacedResourceRestoreMode
    Optional. 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.
    noNamespaces Boolean
    Do not restore any namespaced resources if set to "True". Specifying this field to "False" is not allowed.
    selectedApplications NamespacedNames
    A list of selected ProtectedApplications to restore. The listed ProtectedApplications and all the resources to which they refer will be restored.
    selectedNamespaces Namespaces
    A list of selected Namespaces to restore from the Backup. The listed Namespaces and all resources contained in them will be restored.
    substitutionRules List<SubstitutionRule>
    Optional. 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 substitution will occur.
    transformationRules List<TransformationRule>
    Optional. 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.
    volumeDataRestorePolicy RestoreConfigVolumeDataRestorePolicy
    Optional. Specifies the mechanism to be used to restore volume data. Default: VOLUME_DATA_RESTORE_POLICY_UNSPECIFIED (will be treated as NO_VOLUME_DATA_RESTORATION).
    allNamespaces boolean
    Restore all namespaced resources in the Backup if set to "True". Specifying this field to "False" is an error.
    clusterResourceConflictPolicy RestoreConfigClusterResourceConflictPolicy
    Optional. 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 cluster_resource_restore_scope is not empty.
    clusterResourceRestoreScope ClusterResourceRestoreScope
    Optional. Identifies the cluster-scoped resources to restore from the Backup. Not specifying it means NO cluster resource will be restored.
    excludedNamespaces Namespaces
    A list of selected namespaces excluded from restoration. All namespaces except those in this list will be restored.
    namespacedResourceRestoreMode RestoreConfigNamespacedResourceRestoreMode
    Optional. 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.
    noNamespaces boolean
    Do not restore any namespaced resources if set to "True". Specifying this field to "False" is not allowed.
    selectedApplications NamespacedNames
    A list of selected ProtectedApplications to restore. The listed ProtectedApplications and all the resources to which they refer will be restored.
    selectedNamespaces Namespaces
    A list of selected Namespaces to restore from the Backup. The listed Namespaces and all resources contained in them will be restored.
    substitutionRules SubstitutionRule[]
    Optional. 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 substitution will occur.
    transformationRules TransformationRule[]
    Optional. 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.
    volumeDataRestorePolicy RestoreConfigVolumeDataRestorePolicy
    Optional. Specifies the mechanism to be used to restore volume data. Default: VOLUME_DATA_RESTORE_POLICY_UNSPECIFIED (will be treated as NO_VOLUME_DATA_RESTORATION).
    all_namespaces bool
    Restore all namespaced resources in the Backup if set to "True". Specifying this field to "False" is an error.
    cluster_resource_conflict_policy RestoreConfigClusterResourceConflictPolicy
    Optional. 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 cluster_resource_restore_scope is not empty.
    cluster_resource_restore_scope ClusterResourceRestoreScope
    Optional. Identifies the cluster-scoped resources to restore from the Backup. Not specifying it means NO cluster resource will be restored.
    excluded_namespaces Namespaces
    A list of selected namespaces excluded from restoration. All namespaces except those in this list will be restored.
    namespaced_resource_restore_mode RestoreConfigNamespacedResourceRestoreMode
    Optional. 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.
    no_namespaces bool
    Do not restore any namespaced resources if set to "True". Specifying this field to "False" is not allowed.
    selected_applications NamespacedNames
    A list of selected ProtectedApplications to restore. The listed ProtectedApplications and all the resources to which they refer will be restored.
    selected_namespaces Namespaces
    A list of selected Namespaces to restore from the Backup. The listed Namespaces and all resources contained in them will be restored.
    substitution_rules Sequence[SubstitutionRule]
    Optional. 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 substitution will occur.
    transformation_rules Sequence[TransformationRule]
    Optional. 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.
    volume_data_restore_policy RestoreConfigVolumeDataRestorePolicy
    Optional. Specifies the mechanism to be used to restore volume data. Default: VOLUME_DATA_RESTORE_POLICY_UNSPECIFIED (will be treated as NO_VOLUME_DATA_RESTORATION).
    allNamespaces Boolean
    Restore all namespaced resources in the Backup if set to "True". Specifying this field to "False" is an error.
    clusterResourceConflictPolicy "CLUSTER_RESOURCE_CONFLICT_POLICY_UNSPECIFIED" | "USE_EXISTING_VERSION" | "USE_BACKUP_VERSION"
    Optional. 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 cluster_resource_restore_scope is not empty.
    clusterResourceRestoreScope Property Map
    Optional. Identifies the cluster-scoped resources to restore from the Backup. Not specifying it means NO cluster resource will be restored.
    excludedNamespaces Property Map
    A list of selected namespaces excluded from restoration. All namespaces except those in this list will be restored.
    namespacedResourceRestoreMode "NAMESPACED_RESOURCE_RESTORE_MODE_UNSPECIFIED" | "DELETE_AND_RESTORE" | "FAIL_ON_CONFLICT"
    Optional. 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.
    noNamespaces Boolean
    Do not restore any namespaced resources if set to "True". Specifying this field to "False" is not allowed.
    selectedApplications Property Map
    A list of selected ProtectedApplications to restore. The listed ProtectedApplications and all the resources to which they refer will be restored.
    selectedNamespaces Property Map
    A list of selected Namespaces to restore from the Backup. The listed Namespaces and all resources contained in them will be restored.
    substitutionRules List<Property Map>
    Optional. 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 substitution will occur.
    transformationRules List<Property Map>
    Optional. 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.
    volumeDataRestorePolicy "VOLUME_DATA_RESTORE_POLICY_UNSPECIFIED" | "RESTORE_VOLUME_DATA_FROM_BACKUP" | "REUSE_VOLUME_HANDLE_FROM_BACKUP" | "NO_VOLUME_DATA_RESTORATION"
    Optional. Specifies the mechanism to be used to restore volume data. Default: VOLUME_DATA_RESTORE_POLICY_UNSPECIFIED (will be treated as NO_VOLUME_DATA_RESTORATION).

    RestoreConfigClusterResourceConflictPolicy, RestoreConfigClusterResourceConflictPolicyArgs

    ClusterResourceConflictPolicyUnspecified
    CLUSTER_RESOURCE_CONFLICT_POLICY_UNSPECIFIEDUnspecified. Only allowed if no cluster-scoped resources will be restored.
    UseExistingVersion
    USE_EXISTING_VERSIONDo not attempt to restore the conflicting resource.
    UseBackupVersion
    USE_BACKUP_VERSIONDelete the existing version before re-creating it from the Backup. This is a dangerous option which could cause unintentional data loss if used inappropriately. For example, deleting a CRD will cause Kubernetes to delete all CRs of that type.
    RestoreConfigClusterResourceConflictPolicyClusterResourceConflictPolicyUnspecified
    CLUSTER_RESOURCE_CONFLICT_POLICY_UNSPECIFIEDUnspecified. Only allowed if no cluster-scoped resources will be restored.
    RestoreConfigClusterResourceConflictPolicyUseExistingVersion
    USE_EXISTING_VERSIONDo not attempt to restore the conflicting resource.
    RestoreConfigClusterResourceConflictPolicyUseBackupVersion
    USE_BACKUP_VERSIONDelete the existing version before re-creating it from the Backup. This is a dangerous option which could cause unintentional data loss if used inappropriately. For example, deleting a CRD will cause Kubernetes to delete all CRs of that type.
    ClusterResourceConflictPolicyUnspecified
    CLUSTER_RESOURCE_CONFLICT_POLICY_UNSPECIFIEDUnspecified. Only allowed if no cluster-scoped resources will be restored.
    UseExistingVersion
    USE_EXISTING_VERSIONDo not attempt to restore the conflicting resource.
    UseBackupVersion
    USE_BACKUP_VERSIONDelete the existing version before re-creating it from the Backup. This is a dangerous option which could cause unintentional data loss if used inappropriately. For example, deleting a CRD will cause Kubernetes to delete all CRs of that type.
    ClusterResourceConflictPolicyUnspecified
    CLUSTER_RESOURCE_CONFLICT_POLICY_UNSPECIFIEDUnspecified. Only allowed if no cluster-scoped resources will be restored.
    UseExistingVersion
    USE_EXISTING_VERSIONDo not attempt to restore the conflicting resource.
    UseBackupVersion
    USE_BACKUP_VERSIONDelete the existing version before re-creating it from the Backup. This is a dangerous option which could cause unintentional data loss if used inappropriately. For example, deleting a CRD will cause Kubernetes to delete all CRs of that type.
    CLUSTER_RESOURCE_CONFLICT_POLICY_UNSPECIFIED
    CLUSTER_RESOURCE_CONFLICT_POLICY_UNSPECIFIEDUnspecified. Only allowed if no cluster-scoped resources will be restored.
    USE_EXISTING_VERSION
    USE_EXISTING_VERSIONDo not attempt to restore the conflicting resource.
    USE_BACKUP_VERSION
    USE_BACKUP_VERSIONDelete the existing version before re-creating it from the Backup. This is a dangerous option which could cause unintentional data loss if used inappropriately. For example, deleting a CRD will cause Kubernetes to delete all CRs of that type.
    "CLUSTER_RESOURCE_CONFLICT_POLICY_UNSPECIFIED"
    CLUSTER_RESOURCE_CONFLICT_POLICY_UNSPECIFIEDUnspecified. Only allowed if no cluster-scoped resources will be restored.
    "USE_EXISTING_VERSION"
    USE_EXISTING_VERSIONDo not attempt to restore the conflicting resource.
    "USE_BACKUP_VERSION"
    USE_BACKUP_VERSIONDelete the existing version before re-creating it from the Backup. This is a dangerous option which could cause unintentional data loss if used inappropriately. For example, deleting a CRD will cause Kubernetes to delete all CRs of that type.

    RestoreConfigNamespacedResourceRestoreMode, RestoreConfigNamespacedResourceRestoreModeArgs

    NamespacedResourceRestoreModeUnspecified
    NAMESPACED_RESOURCE_RESTORE_MODE_UNSPECIFIEDUnspecified (invalid).
    DeleteAndRestore
    DELETE_AND_RESTOREWhen conflicting top-level resources (either Namespaces or ProtectedApplications, depending upon the scope) are encountered, this will first trigger a delete of the conflicting resource AND ALL OF ITS REFERENCED RESOURCES (e.g., all resources in the Namespace or all resources referenced by the ProtectedApplication) before restoring the resources from the Backup. This mode should only be used when you are intending to revert some portion of a cluster to an earlier state.
    FailOnConflict
    FAIL_ON_CONFLICTIf conflicting top-level resources (either Namespaces or ProtectedApplications, depending upon the scope) are encountered at the beginning of a restore process, the Restore will fail. If a conflict occurs during the restore process itself (e.g., because an out of band process creates conflicting resources), a conflict will be reported.
    RestoreConfigNamespacedResourceRestoreModeNamespacedResourceRestoreModeUnspecified
    NAMESPACED_RESOURCE_RESTORE_MODE_UNSPECIFIEDUnspecified (invalid).
    RestoreConfigNamespacedResourceRestoreModeDeleteAndRestore
    DELETE_AND_RESTOREWhen conflicting top-level resources (either Namespaces or ProtectedApplications, depending upon the scope) are encountered, this will first trigger a delete of the conflicting resource AND ALL OF ITS REFERENCED RESOURCES (e.g., all resources in the Namespace or all resources referenced by the ProtectedApplication) before restoring the resources from the Backup. This mode should only be used when you are intending to revert some portion of a cluster to an earlier state.
    RestoreConfigNamespacedResourceRestoreModeFailOnConflict
    FAIL_ON_CONFLICTIf conflicting top-level resources (either Namespaces or ProtectedApplications, depending upon the scope) are encountered at the beginning of a restore process, the Restore will fail. If a conflict occurs during the restore process itself (e.g., because an out of band process creates conflicting resources), a conflict will be reported.
    NamespacedResourceRestoreModeUnspecified
    NAMESPACED_RESOURCE_RESTORE_MODE_UNSPECIFIEDUnspecified (invalid).
    DeleteAndRestore
    DELETE_AND_RESTOREWhen conflicting top-level resources (either Namespaces or ProtectedApplications, depending upon the scope) are encountered, this will first trigger a delete of the conflicting resource AND ALL OF ITS REFERENCED RESOURCES (e.g., all resources in the Namespace or all resources referenced by the ProtectedApplication) before restoring the resources from the Backup. This mode should only be used when you are intending to revert some portion of a cluster to an earlier state.
    FailOnConflict
    FAIL_ON_CONFLICTIf conflicting top-level resources (either Namespaces or ProtectedApplications, depending upon the scope) are encountered at the beginning of a restore process, the Restore will fail. If a conflict occurs during the restore process itself (e.g., because an out of band process creates conflicting resources), a conflict will be reported.
    NamespacedResourceRestoreModeUnspecified
    NAMESPACED_RESOURCE_RESTORE_MODE_UNSPECIFIEDUnspecified (invalid).
    DeleteAndRestore
    DELETE_AND_RESTOREWhen conflicting top-level resources (either Namespaces or ProtectedApplications, depending upon the scope) are encountered, this will first trigger a delete of the conflicting resource AND ALL OF ITS REFERENCED RESOURCES (e.g., all resources in the Namespace or all resources referenced by the ProtectedApplication) before restoring the resources from the Backup. This mode should only be used when you are intending to revert some portion of a cluster to an earlier state.
    FailOnConflict
    FAIL_ON_CONFLICTIf conflicting top-level resources (either Namespaces or ProtectedApplications, depending upon the scope) are encountered at the beginning of a restore process, the Restore will fail. If a conflict occurs during the restore process itself (e.g., because an out of band process creates conflicting resources), a conflict will be reported.
    NAMESPACED_RESOURCE_RESTORE_MODE_UNSPECIFIED
    NAMESPACED_RESOURCE_RESTORE_MODE_UNSPECIFIEDUnspecified (invalid).
    DELETE_AND_RESTORE
    DELETE_AND_RESTOREWhen conflicting top-level resources (either Namespaces or ProtectedApplications, depending upon the scope) are encountered, this will first trigger a delete of the conflicting resource AND ALL OF ITS REFERENCED RESOURCES (e.g., all resources in the Namespace or all resources referenced by the ProtectedApplication) before restoring the resources from the Backup. This mode should only be used when you are intending to revert some portion of a cluster to an earlier state.
    FAIL_ON_CONFLICT
    FAIL_ON_CONFLICTIf conflicting top-level resources (either Namespaces or ProtectedApplications, depending upon the scope) are encountered at the beginning of a restore process, the Restore will fail. If a conflict occurs during the restore process itself (e.g., because an out of band process creates conflicting resources), a conflict will be reported.
    "NAMESPACED_RESOURCE_RESTORE_MODE_UNSPECIFIED"
    NAMESPACED_RESOURCE_RESTORE_MODE_UNSPECIFIEDUnspecified (invalid).
    "DELETE_AND_RESTORE"
    DELETE_AND_RESTOREWhen conflicting top-level resources (either Namespaces or ProtectedApplications, depending upon the scope) are encountered, this will first trigger a delete of the conflicting resource AND ALL OF ITS REFERENCED RESOURCES (e.g., all resources in the Namespace or all resources referenced by the ProtectedApplication) before restoring the resources from the Backup. This mode should only be used when you are intending to revert some portion of a cluster to an earlier state.
    "FAIL_ON_CONFLICT"
    FAIL_ON_CONFLICTIf conflicting top-level resources (either Namespaces or ProtectedApplications, depending upon the scope) are encountered at the beginning of a restore process, the Restore will fail. If a conflict occurs during the restore process itself (e.g., because an out of band process creates conflicting resources), a conflict will be reported.

    RestoreConfigResponse, RestoreConfigResponseArgs

    AllNamespaces bool
    Restore all namespaced resources in the Backup if set to "True". Specifying this field to "False" is an error.
    ClusterResourceConflictPolicy string
    Optional. 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 cluster_resource_restore_scope is not empty.
    ClusterResourceRestoreScope Pulumi.GoogleNative.Gkebackup.V1.Inputs.ClusterResourceRestoreScopeResponse
    Optional. Identifies the cluster-scoped resources to restore from the Backup. Not specifying it means NO cluster resource will be restored.
    ExcludedNamespaces Pulumi.GoogleNative.Gkebackup.V1.Inputs.NamespacesResponse
    A list of selected namespaces excluded from restoration. All namespaces except those in this list will be restored.
    NamespacedResourceRestoreMode string
    Optional. 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.
    NoNamespaces bool
    Do not restore any namespaced resources if set to "True". Specifying this field to "False" is not allowed.
    SelectedApplications Pulumi.GoogleNative.Gkebackup.V1.Inputs.NamespacedNamesResponse
    A list of selected ProtectedApplications to restore. The listed ProtectedApplications and all the resources to which they refer will be restored.
    SelectedNamespaces Pulumi.GoogleNative.Gkebackup.V1.Inputs.NamespacesResponse
    A list of selected Namespaces to restore from the Backup. The listed Namespaces and all resources contained in them will be restored.
    SubstitutionRules List<Pulumi.GoogleNative.Gkebackup.V1.Inputs.SubstitutionRuleResponse>
    Optional. 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 substitution will occur.
    TransformationRules List<Pulumi.GoogleNative.Gkebackup.V1.Inputs.TransformationRuleResponse>
    Optional. 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.
    VolumeDataRestorePolicy string
    Optional. Specifies the mechanism to be used to restore volume data. Default: VOLUME_DATA_RESTORE_POLICY_UNSPECIFIED (will be treated as NO_VOLUME_DATA_RESTORATION).
    AllNamespaces bool
    Restore all namespaced resources in the Backup if set to "True". Specifying this field to "False" is an error.
    ClusterResourceConflictPolicy string
    Optional. 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 cluster_resource_restore_scope is not empty.
    ClusterResourceRestoreScope ClusterResourceRestoreScopeResponse
    Optional. Identifies the cluster-scoped resources to restore from the Backup. Not specifying it means NO cluster resource will be restored.
    ExcludedNamespaces NamespacesResponse
    A list of selected namespaces excluded from restoration. All namespaces except those in this list will be restored.
    NamespacedResourceRestoreMode string
    Optional. 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.
    NoNamespaces bool
    Do not restore any namespaced resources if set to "True". Specifying this field to "False" is not allowed.
    SelectedApplications NamespacedNamesResponse
    A list of selected ProtectedApplications to restore. The listed ProtectedApplications and all the resources to which they refer will be restored.
    SelectedNamespaces NamespacesResponse
    A list of selected Namespaces to restore from the Backup. The listed Namespaces and all resources contained in them will be restored.
    SubstitutionRules []SubstitutionRuleResponse
    Optional. 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 substitution will occur.
    TransformationRules []TransformationRuleResponse
    Optional. 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.
    VolumeDataRestorePolicy string
    Optional. Specifies the mechanism to be used to restore volume data. Default: VOLUME_DATA_RESTORE_POLICY_UNSPECIFIED (will be treated as NO_VOLUME_DATA_RESTORATION).
    allNamespaces Boolean
    Restore all namespaced resources in the Backup if set to "True". Specifying this field to "False" is an error.
    clusterResourceConflictPolicy String
    Optional. 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 cluster_resource_restore_scope is not empty.
    clusterResourceRestoreScope ClusterResourceRestoreScopeResponse
    Optional. Identifies the cluster-scoped resources to restore from the Backup. Not specifying it means NO cluster resource will be restored.
    excludedNamespaces NamespacesResponse
    A list of selected namespaces excluded from restoration. All namespaces except those in this list will be restored.
    namespacedResourceRestoreMode String
    Optional. 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.
    noNamespaces Boolean
    Do not restore any namespaced resources if set to "True". Specifying this field to "False" is not allowed.
    selectedApplications NamespacedNamesResponse
    A list of selected ProtectedApplications to restore. The listed ProtectedApplications and all the resources to which they refer will be restored.
    selectedNamespaces NamespacesResponse
    A list of selected Namespaces to restore from the Backup. The listed Namespaces and all resources contained in them will be restored.
    substitutionRules List<SubstitutionRuleResponse>
    Optional. 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 substitution will occur.
    transformationRules List<TransformationRuleResponse>
    Optional. 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.
    volumeDataRestorePolicy String
    Optional. Specifies the mechanism to be used to restore volume data. Default: VOLUME_DATA_RESTORE_POLICY_UNSPECIFIED (will be treated as NO_VOLUME_DATA_RESTORATION).
    allNamespaces boolean
    Restore all namespaced resources in the Backup if set to "True". Specifying this field to "False" is an error.
    clusterResourceConflictPolicy string
    Optional. 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 cluster_resource_restore_scope is not empty.
    clusterResourceRestoreScope ClusterResourceRestoreScopeResponse
    Optional. Identifies the cluster-scoped resources to restore from the Backup. Not specifying it means NO cluster resource will be restored.
    excludedNamespaces NamespacesResponse
    A list of selected namespaces excluded from restoration. All namespaces except those in this list will be restored.
    namespacedResourceRestoreMode string
    Optional. 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.
    noNamespaces boolean
    Do not restore any namespaced resources if set to "True". Specifying this field to "False" is not allowed.
    selectedApplications NamespacedNamesResponse
    A list of selected ProtectedApplications to restore. The listed ProtectedApplications and all the resources to which they refer will be restored.
    selectedNamespaces NamespacesResponse
    A list of selected Namespaces to restore from the Backup. The listed Namespaces and all resources contained in them will be restored.
    substitutionRules SubstitutionRuleResponse[]
    Optional. 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 substitution will occur.
    transformationRules TransformationRuleResponse[]
    Optional. 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.
    volumeDataRestorePolicy string
    Optional. Specifies the mechanism to be used to restore volume data. Default: VOLUME_DATA_RESTORE_POLICY_UNSPECIFIED (will be treated as NO_VOLUME_DATA_RESTORATION).
    all_namespaces bool
    Restore all namespaced resources in the Backup if set to "True". Specifying this field to "False" is an error.
    cluster_resource_conflict_policy str
    Optional. 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 cluster_resource_restore_scope is not empty.
    cluster_resource_restore_scope ClusterResourceRestoreScopeResponse
    Optional. Identifies the cluster-scoped resources to restore from the Backup. Not specifying it means NO cluster resource will be restored.
    excluded_namespaces NamespacesResponse
    A list of selected namespaces excluded from restoration. All namespaces except those in this list will be restored.
    namespaced_resource_restore_mode str
    Optional. 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.
    no_namespaces bool
    Do not restore any namespaced resources if set to "True". Specifying this field to "False" is not allowed.
    selected_applications NamespacedNamesResponse
    A list of selected ProtectedApplications to restore. The listed ProtectedApplications and all the resources to which they refer will be restored.
    selected_namespaces NamespacesResponse
    A list of selected Namespaces to restore from the Backup. The listed Namespaces and all resources contained in them will be restored.
    substitution_rules Sequence[SubstitutionRuleResponse]
    Optional. 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 substitution will occur.
    transformation_rules Sequence[TransformationRuleResponse]
    Optional. 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.
    volume_data_restore_policy str
    Optional. Specifies the mechanism to be used to restore volume data. Default: VOLUME_DATA_RESTORE_POLICY_UNSPECIFIED (will be treated as NO_VOLUME_DATA_RESTORATION).
    allNamespaces Boolean
    Restore all namespaced resources in the Backup if set to "True". Specifying this field to "False" is an error.
    clusterResourceConflictPolicy String
    Optional. 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 cluster_resource_restore_scope is not empty.
    clusterResourceRestoreScope Property Map
    Optional. Identifies the cluster-scoped resources to restore from the Backup. Not specifying it means NO cluster resource will be restored.
    excludedNamespaces Property Map
    A list of selected namespaces excluded from restoration. All namespaces except those in this list will be restored.
    namespacedResourceRestoreMode String
    Optional. 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.
    noNamespaces Boolean
    Do not restore any namespaced resources if set to "True". Specifying this field to "False" is not allowed.
    selectedApplications Property Map
    A list of selected ProtectedApplications to restore. The listed ProtectedApplications and all the resources to which they refer will be restored.
    selectedNamespaces Property Map
    A list of selected Namespaces to restore from the Backup. The listed Namespaces and all resources contained in them will be restored.
    substitutionRules List<Property Map>
    Optional. 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 substitution will occur.
    transformationRules List<Property Map>
    Optional. 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.
    volumeDataRestorePolicy String
    Optional. Specifies the mechanism to be used to restore volume data. Default: VOLUME_DATA_RESTORE_POLICY_UNSPECIFIED (will be treated as NO_VOLUME_DATA_RESTORATION).

    RestoreConfigVolumeDataRestorePolicy, RestoreConfigVolumeDataRestorePolicyArgs

    VolumeDataRestorePolicyUnspecified
    VOLUME_DATA_RESTORE_POLICY_UNSPECIFIEDUnspecified (illegal).
    RestoreVolumeDataFromBackup
    RESTORE_VOLUME_DATA_FROM_BACKUPFor each PVC to be restored, create a new underlying volume and PV from the corresponding VolumeBackup contained within the Backup.
    ReuseVolumeHandleFromBackup
    REUSE_VOLUME_HANDLE_FROM_BACKUPFor each PVC to be restored, attempt to reuse the original PV contained in the Backup (with its original underlying volume). This option is likely only usable when restoring a workload to its original cluster.
    NoVolumeDataRestoration
    NO_VOLUME_DATA_RESTORATIONFor each PVC to be restored, create PVC without any particular action to restore data. In this case, the normal Kubernetes provisioning logic would kick in, and this would likely result in either dynamically provisioning blank PVs or binding to statically provisioned PVs.
    RestoreConfigVolumeDataRestorePolicyVolumeDataRestorePolicyUnspecified
    VOLUME_DATA_RESTORE_POLICY_UNSPECIFIEDUnspecified (illegal).
    RestoreConfigVolumeDataRestorePolicyRestoreVolumeDataFromBackup
    RESTORE_VOLUME_DATA_FROM_BACKUPFor each PVC to be restored, create a new underlying volume and PV from the corresponding VolumeBackup contained within the Backup.
    RestoreConfigVolumeDataRestorePolicyReuseVolumeHandleFromBackup
    REUSE_VOLUME_HANDLE_FROM_BACKUPFor each PVC to be restored, attempt to reuse the original PV contained in the Backup (with its original underlying volume). This option is likely only usable when restoring a workload to its original cluster.
    RestoreConfigVolumeDataRestorePolicyNoVolumeDataRestoration
    NO_VOLUME_DATA_RESTORATIONFor each PVC to be restored, create PVC without any particular action to restore data. In this case, the normal Kubernetes provisioning logic would kick in, and this would likely result in either dynamically provisioning blank PVs or binding to statically provisioned PVs.
    VolumeDataRestorePolicyUnspecified
    VOLUME_DATA_RESTORE_POLICY_UNSPECIFIEDUnspecified (illegal).
    RestoreVolumeDataFromBackup
    RESTORE_VOLUME_DATA_FROM_BACKUPFor each PVC to be restored, create a new underlying volume and PV from the corresponding VolumeBackup contained within the Backup.
    ReuseVolumeHandleFromBackup
    REUSE_VOLUME_HANDLE_FROM_BACKUPFor each PVC to be restored, attempt to reuse the original PV contained in the Backup (with its original underlying volume). This option is likely only usable when restoring a workload to its original cluster.
    NoVolumeDataRestoration
    NO_VOLUME_DATA_RESTORATIONFor each PVC to be restored, create PVC without any particular action to restore data. In this case, the normal Kubernetes provisioning logic would kick in, and this would likely result in either dynamically provisioning blank PVs or binding to statically provisioned PVs.
    VolumeDataRestorePolicyUnspecified
    VOLUME_DATA_RESTORE_POLICY_UNSPECIFIEDUnspecified (illegal).
    RestoreVolumeDataFromBackup
    RESTORE_VOLUME_DATA_FROM_BACKUPFor each PVC to be restored, create a new underlying volume and PV from the corresponding VolumeBackup contained within the Backup.
    ReuseVolumeHandleFromBackup
    REUSE_VOLUME_HANDLE_FROM_BACKUPFor each PVC to be restored, attempt to reuse the original PV contained in the Backup (with its original underlying volume). This option is likely only usable when restoring a workload to its original cluster.
    NoVolumeDataRestoration
    NO_VOLUME_DATA_RESTORATIONFor each PVC to be restored, create PVC without any particular action to restore data. In this case, the normal Kubernetes provisioning logic would kick in, and this would likely result in either dynamically provisioning blank PVs or binding to statically provisioned PVs.
    VOLUME_DATA_RESTORE_POLICY_UNSPECIFIED
    VOLUME_DATA_RESTORE_POLICY_UNSPECIFIEDUnspecified (illegal).
    RESTORE_VOLUME_DATA_FROM_BACKUP
    RESTORE_VOLUME_DATA_FROM_BACKUPFor each PVC to be restored, create a new underlying volume and PV from the corresponding VolumeBackup contained within the Backup.
    REUSE_VOLUME_HANDLE_FROM_BACKUP
    REUSE_VOLUME_HANDLE_FROM_BACKUPFor each PVC to be restored, attempt to reuse the original PV contained in the Backup (with its original underlying volume). This option is likely only usable when restoring a workload to its original cluster.
    NO_VOLUME_DATA_RESTORATION
    NO_VOLUME_DATA_RESTORATIONFor each PVC to be restored, create PVC without any particular action to restore data. In this case, the normal Kubernetes provisioning logic would kick in, and this would likely result in either dynamically provisioning blank PVs or binding to statically provisioned PVs.
    "VOLUME_DATA_RESTORE_POLICY_UNSPECIFIED"
    VOLUME_DATA_RESTORE_POLICY_UNSPECIFIEDUnspecified (illegal).
    "RESTORE_VOLUME_DATA_FROM_BACKUP"
    RESTORE_VOLUME_DATA_FROM_BACKUPFor each PVC to be restored, create a new underlying volume and PV from the corresponding VolumeBackup contained within the Backup.
    "REUSE_VOLUME_HANDLE_FROM_BACKUP"
    REUSE_VOLUME_HANDLE_FROM_BACKUPFor each PVC to be restored, attempt to reuse the original PV contained in the Backup (with its original underlying volume). This option is likely only usable when restoring a workload to its original cluster.
    "NO_VOLUME_DATA_RESTORATION"
    NO_VOLUME_DATA_RESTORATIONFor each PVC to be restored, create PVC without any particular action to restore data. In this case, the normal Kubernetes provisioning logic would kick in, and this would likely result in either dynamically provisioning blank PVs or binding to statically provisioned PVs.

    SubstitutionRule, SubstitutionRuleArgs

    TargetJsonPath string
    This is a [JSONPath] (https://kubernetes.io/docs/reference/kubectl/jsonpath/) expression that matches specific fields of candidate resources and it operates as both a filtering parameter (resources that are not matched with this expression will not be candidates for substitution) as well as a field identifier (identifies exactly which fields out of the candidate resources will be modified).
    NewValue string
    Optional. This is the new value to set for any fields that pass the filtering and selection criteria. To remove a value from a Kubernetes resource, either leave this field unspecified, or set it to the empty string ("").
    OriginalValuePattern string
    Optional. (Filtering parameter) This is a [regular expression] (https://en.wikipedia.org/wiki/Regular_expression) that is compared against the fields matched by the target_json_path expression (and must also have passed the previous filters). Substitution will not be performed against fields whose value does not match this expression. If this field is NOT specified, then ALL fields matched by the target_json_path expression will undergo substitution. Note that an empty (e.g., "", rather than unspecified) value for this field will only match empty fields.
    TargetGroupKinds List<Pulumi.GoogleNative.Gkebackup.V1.Inputs.GroupKind>
    Optional. (Filtering parameter) Any resource subject to substitution 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 substitution).
    TargetNamespaces List<string>
    Optional. (Filtering parameter) Any resource subject to substitution 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 substitution). To mix cluster-scoped and namespaced resources in the same rule, use an empty string ("") as one of the target namespaces.
    TargetJsonPath string
    This is a [JSONPath] (https://kubernetes.io/docs/reference/kubectl/jsonpath/) expression that matches specific fields of candidate resources and it operates as both a filtering parameter (resources that are not matched with this expression will not be candidates for substitution) as well as a field identifier (identifies exactly which fields out of the candidate resources will be modified).
    NewValue string
    Optional. This is the new value to set for any fields that pass the filtering and selection criteria. To remove a value from a Kubernetes resource, either leave this field unspecified, or set it to the empty string ("").
    OriginalValuePattern string
    Optional. (Filtering parameter) This is a [regular expression] (https://en.wikipedia.org/wiki/Regular_expression) that is compared against the fields matched by the target_json_path expression (and must also have passed the previous filters). Substitution will not be performed against fields whose value does not match this expression. If this field is NOT specified, then ALL fields matched by the target_json_path expression will undergo substitution. Note that an empty (e.g., "", rather than unspecified) value for this field will only match empty fields.
    TargetGroupKinds []GroupKind
    Optional. (Filtering parameter) Any resource subject to substitution 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 substitution).
    TargetNamespaces []string
    Optional. (Filtering parameter) Any resource subject to substitution 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 substitution). To mix cluster-scoped and namespaced resources in the same rule, use an empty string ("") as one of the target namespaces.
    targetJsonPath String
    This is a [JSONPath] (https://kubernetes.io/docs/reference/kubectl/jsonpath/) expression that matches specific fields of candidate resources and it operates as both a filtering parameter (resources that are not matched with this expression will not be candidates for substitution) as well as a field identifier (identifies exactly which fields out of the candidate resources will be modified).
    newValue String
    Optional. This is the new value to set for any fields that pass the filtering and selection criteria. To remove a value from a Kubernetes resource, either leave this field unspecified, or set it to the empty string ("").
    originalValuePattern String
    Optional. (Filtering parameter) This is a [regular expression] (https://en.wikipedia.org/wiki/Regular_expression) that is compared against the fields matched by the target_json_path expression (and must also have passed the previous filters). Substitution will not be performed against fields whose value does not match this expression. If this field is NOT specified, then ALL fields matched by the target_json_path expression will undergo substitution. Note that an empty (e.g., "", rather than unspecified) value for this field will only match empty fields.
    targetGroupKinds List<GroupKind>
    Optional. (Filtering parameter) Any resource subject to substitution 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 substitution).
    targetNamespaces List<String>
    Optional. (Filtering parameter) Any resource subject to substitution 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 substitution). To mix cluster-scoped and namespaced resources in the same rule, use an empty string ("") as one of the target namespaces.
    targetJsonPath string
    This is a [JSONPath] (https://kubernetes.io/docs/reference/kubectl/jsonpath/) expression that matches specific fields of candidate resources and it operates as both a filtering parameter (resources that are not matched with this expression will not be candidates for substitution) as well as a field identifier (identifies exactly which fields out of the candidate resources will be modified).
    newValue string
    Optional. This is the new value to set for any fields that pass the filtering and selection criteria. To remove a value from a Kubernetes resource, either leave this field unspecified, or set it to the empty string ("").
    originalValuePattern string
    Optional. (Filtering parameter) This is a [regular expression] (https://en.wikipedia.org/wiki/Regular_expression) that is compared against the fields matched by the target_json_path expression (and must also have passed the previous filters). Substitution will not be performed against fields whose value does not match this expression. If this field is NOT specified, then ALL fields matched by the target_json_path expression will undergo substitution. Note that an empty (e.g., "", rather than unspecified) value for this field will only match empty fields.
    targetGroupKinds GroupKind[]
    Optional. (Filtering parameter) Any resource subject to substitution 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 substitution).
    targetNamespaces string[]
    Optional. (Filtering parameter) Any resource subject to substitution 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 substitution). To mix cluster-scoped and namespaced resources in the same rule, use an empty string ("") as one of the target namespaces.
    target_json_path str
    This is a [JSONPath] (https://kubernetes.io/docs/reference/kubectl/jsonpath/) expression that matches specific fields of candidate resources and it operates as both a filtering parameter (resources that are not matched with this expression will not be candidates for substitution) as well as a field identifier (identifies exactly which fields out of the candidate resources will be modified).
    new_value str
    Optional. This is the new value to set for any fields that pass the filtering and selection criteria. To remove a value from a Kubernetes resource, either leave this field unspecified, or set it to the empty string ("").
    original_value_pattern str
    Optional. (Filtering parameter) This is a [regular expression] (https://en.wikipedia.org/wiki/Regular_expression) that is compared against the fields matched by the target_json_path expression (and must also have passed the previous filters). Substitution will not be performed against fields whose value does not match this expression. If this field is NOT specified, then ALL fields matched by the target_json_path expression will undergo substitution. Note that an empty (e.g., "", rather than unspecified) value for this field will only match empty fields.
    target_group_kinds Sequence[GroupKind]
    Optional. (Filtering parameter) Any resource subject to substitution 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 substitution).
    target_namespaces Sequence[str]
    Optional. (Filtering parameter) Any resource subject to substitution 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 substitution). To mix cluster-scoped and namespaced resources in the same rule, use an empty string ("") as one of the target namespaces.
    targetJsonPath String
    This is a [JSONPath] (https://kubernetes.io/docs/reference/kubectl/jsonpath/) expression that matches specific fields of candidate resources and it operates as both a filtering parameter (resources that are not matched with this expression will not be candidates for substitution) as well as a field identifier (identifies exactly which fields out of the candidate resources will be modified).
    newValue String
    Optional. This is the new value to set for any fields that pass the filtering and selection criteria. To remove a value from a Kubernetes resource, either leave this field unspecified, or set it to the empty string ("").
    originalValuePattern String
    Optional. (Filtering parameter) This is a [regular expression] (https://en.wikipedia.org/wiki/Regular_expression) that is compared against the fields matched by the target_json_path expression (and must also have passed the previous filters). Substitution will not be performed against fields whose value does not match this expression. If this field is NOT specified, then ALL fields matched by the target_json_path expression will undergo substitution. Note that an empty (e.g., "", rather than unspecified) value for this field will only match empty fields.
    targetGroupKinds List<Property Map>
    Optional. (Filtering parameter) Any resource subject to substitution 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 substitution).
    targetNamespaces List<String>
    Optional. (Filtering parameter) Any resource subject to substitution 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 substitution). To mix cluster-scoped and namespaced resources in the same rule, use an empty string ("") as one of the target namespaces.

    SubstitutionRuleResponse, SubstitutionRuleResponseArgs

    NewValue string
    Optional. This is the new value to set for any fields that pass the filtering and selection criteria. To remove a value from a Kubernetes resource, either leave this field unspecified, or set it to the empty string ("").
    OriginalValuePattern string
    Optional. (Filtering parameter) This is a [regular expression] (https://en.wikipedia.org/wiki/Regular_expression) that is compared against the fields matched by the target_json_path expression (and must also have passed the previous filters). Substitution will not be performed against fields whose value does not match this expression. If this field is NOT specified, then ALL fields matched by the target_json_path expression will undergo substitution. Note that an empty (e.g., "", rather than unspecified) value for this field will only match empty fields.
    TargetGroupKinds List<Pulumi.GoogleNative.Gkebackup.V1.Inputs.GroupKindResponse>
    Optional. (Filtering parameter) Any resource subject to substitution 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 substitution).
    TargetJsonPath string
    This is a [JSONPath] (https://kubernetes.io/docs/reference/kubectl/jsonpath/) expression that matches specific fields of candidate resources and it operates as both a filtering parameter (resources that are not matched with this expression will not be candidates for substitution) as well as a field identifier (identifies exactly which fields out of the candidate resources will be modified).
    TargetNamespaces List<string>
    Optional. (Filtering parameter) Any resource subject to substitution 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 substitution). To mix cluster-scoped and namespaced resources in the same rule, use an empty string ("") as one of the target namespaces.
    NewValue string
    Optional. This is the new value to set for any fields that pass the filtering and selection criteria. To remove a value from a Kubernetes resource, either leave this field unspecified, or set it to the empty string ("").
    OriginalValuePattern string
    Optional. (Filtering parameter) This is a [regular expression] (https://en.wikipedia.org/wiki/Regular_expression) that is compared against the fields matched by the target_json_path expression (and must also have passed the previous filters). Substitution will not be performed against fields whose value does not match this expression. If this field is NOT specified, then ALL fields matched by the target_json_path expression will undergo substitution. Note that an empty (e.g., "", rather than unspecified) value for this field will only match empty fields.
    TargetGroupKinds []GroupKindResponse
    Optional. (Filtering parameter) Any resource subject to substitution 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 substitution).
    TargetJsonPath string
    This is a [JSONPath] (https://kubernetes.io/docs/reference/kubectl/jsonpath/) expression that matches specific fields of candidate resources and it operates as both a filtering parameter (resources that are not matched with this expression will not be candidates for substitution) as well as a field identifier (identifies exactly which fields out of the candidate resources will be modified).
    TargetNamespaces []string
    Optional. (Filtering parameter) Any resource subject to substitution 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 substitution). To mix cluster-scoped and namespaced resources in the same rule, use an empty string ("") as one of the target namespaces.
    newValue String
    Optional. This is the new value to set for any fields that pass the filtering and selection criteria. To remove a value from a Kubernetes resource, either leave this field unspecified, or set it to the empty string ("").
    originalValuePattern String
    Optional. (Filtering parameter) This is a [regular expression] (https://en.wikipedia.org/wiki/Regular_expression) that is compared against the fields matched by the target_json_path expression (and must also have passed the previous filters). Substitution will not be performed against fields whose value does not match this expression. If this field is NOT specified, then ALL fields matched by the target_json_path expression will undergo substitution. Note that an empty (e.g., "", rather than unspecified) value for this field will only match empty fields.
    targetGroupKinds List<GroupKindResponse>
    Optional. (Filtering parameter) Any resource subject to substitution 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 substitution).
    targetJsonPath String
    This is a [JSONPath] (https://kubernetes.io/docs/reference/kubectl/jsonpath/) expression that matches specific fields of candidate resources and it operates as both a filtering parameter (resources that are not matched with this expression will not be candidates for substitution) as well as a field identifier (identifies exactly which fields out of the candidate resources will be modified).
    targetNamespaces List<String>
    Optional. (Filtering parameter) Any resource subject to substitution 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 substitution). To mix cluster-scoped and namespaced resources in the same rule, use an empty string ("") as one of the target namespaces.
    newValue string
    Optional. This is the new value to set for any fields that pass the filtering and selection criteria. To remove a value from a Kubernetes resource, either leave this field unspecified, or set it to the empty string ("").
    originalValuePattern string
    Optional. (Filtering parameter) This is a [regular expression] (https://en.wikipedia.org/wiki/Regular_expression) that is compared against the fields matched by the target_json_path expression (and must also have passed the previous filters). Substitution will not be performed against fields whose value does not match this expression. If this field is NOT specified, then ALL fields matched by the target_json_path expression will undergo substitution. Note that an empty (e.g., "", rather than unspecified) value for this field will only match empty fields.
    targetGroupKinds GroupKindResponse[]
    Optional. (Filtering parameter) Any resource subject to substitution 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 substitution).
    targetJsonPath string
    This is a [JSONPath] (https://kubernetes.io/docs/reference/kubectl/jsonpath/) expression that matches specific fields of candidate resources and it operates as both a filtering parameter (resources that are not matched with this expression will not be candidates for substitution) as well as a field identifier (identifies exactly which fields out of the candidate resources will be modified).
    targetNamespaces string[]
    Optional. (Filtering parameter) Any resource subject to substitution 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 substitution). To mix cluster-scoped and namespaced resources in the same rule, use an empty string ("") as one of the target namespaces.
    new_value str
    Optional. This is the new value to set for any fields that pass the filtering and selection criteria. To remove a value from a Kubernetes resource, either leave this field unspecified, or set it to the empty string ("").
    original_value_pattern str
    Optional. (Filtering parameter) This is a [regular expression] (https://en.wikipedia.org/wiki/Regular_expression) that is compared against the fields matched by the target_json_path expression (and must also have passed the previous filters). Substitution will not be performed against fields whose value does not match this expression. If this field is NOT specified, then ALL fields matched by the target_json_path expression will undergo substitution. Note that an empty (e.g., "", rather than unspecified) value for this field will only match empty fields.
    target_group_kinds Sequence[GroupKindResponse]
    Optional. (Filtering parameter) Any resource subject to substitution 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 substitution).
    target_json_path str
    This is a [JSONPath] (https://kubernetes.io/docs/reference/kubectl/jsonpath/) expression that matches specific fields of candidate resources and it operates as both a filtering parameter (resources that are not matched with this expression will not be candidates for substitution) as well as a field identifier (identifies exactly which fields out of the candidate resources will be modified).
    target_namespaces Sequence[str]
    Optional. (Filtering parameter) Any resource subject to substitution 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 substitution). To mix cluster-scoped and namespaced resources in the same rule, use an empty string ("") as one of the target namespaces.
    newValue String
    Optional. This is the new value to set for any fields that pass the filtering and selection criteria. To remove a value from a Kubernetes resource, either leave this field unspecified, or set it to the empty string ("").
    originalValuePattern String
    Optional. (Filtering parameter) This is a [regular expression] (https://en.wikipedia.org/wiki/Regular_expression) that is compared against the fields matched by the target_json_path expression (and must also have passed the previous filters). Substitution will not be performed against fields whose value does not match this expression. If this field is NOT specified, then ALL fields matched by the target_json_path expression will undergo substitution. Note that an empty (e.g., "", rather than unspecified) value for this field will only match empty fields.
    targetGroupKinds List<Property Map>
    Optional. (Filtering parameter) Any resource subject to substitution 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 substitution).
    targetJsonPath String
    This is a [JSONPath] (https://kubernetes.io/docs/reference/kubectl/jsonpath/) expression that matches specific fields of candidate resources and it operates as both a filtering parameter (resources that are not matched with this expression will not be candidates for substitution) as well as a field identifier (identifies exactly which fields out of the candidate resources will be modified).
    targetNamespaces List<String>
    Optional. (Filtering parameter) Any resource subject to substitution 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 substitution). To mix cluster-scoped and namespaced resources in the same rule, use an empty string ("") as one of the target namespaces.

    TransformationRule, TransformationRuleArgs

    FieldActions List<Pulumi.GoogleNative.Gkebackup.V1.Inputs.TransformationRuleAction>
    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.
    Description string
    Optional. The description is a user specified string description of the transformation rule.
    ResourceFilter Pulumi.GoogleNative.Gkebackup.V1.Inputs.ResourceFilter
    Optional. 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.
    FieldActions []TransformationRuleAction
    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.
    Description string
    Optional. The description is a user specified string description of the transformation rule.
    ResourceFilter ResourceFilter
    Optional. 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.
    fieldActions List<TransformationRuleAction>
    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.
    description String
    Optional. The description is a user specified string description of the transformation rule.
    resourceFilter ResourceFilter
    Optional. 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.
    fieldActions TransformationRuleAction[]
    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.
    description string
    Optional. The description is a user specified string description of the transformation rule.
    resourceFilter ResourceFilter
    Optional. 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.
    field_actions Sequence[TransformationRuleAction]
    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.
    description str
    Optional. The description is a user specified string description of the transformation rule.
    resource_filter ResourceFilter
    Optional. 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.
    fieldActions List<Property Map>
    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.
    description String
    Optional. The description is a user specified string description of the transformation rule.
    resourceFilter Property Map
    Optional. 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.

    TransformationRuleAction, TransformationRuleActionArgs

    Op Pulumi.GoogleNative.Gkebackup.V1.TransformationRuleActionOp
    op specifies the operation to perform.
    FromPath string
    Optional. A string containing a JSON Pointer value that references the location in the target document to move the value from.
    Path string
    Optional. A string containing a JSON-Pointer value that references a location within the target document where the operation is performed.
    Value string
    Optional. A string that specifies the desired value in string format to use for transformation.
    Op TransformationRuleActionOp
    op specifies the operation to perform.
    FromPath string
    Optional. A string containing a JSON Pointer value that references the location in the target document to move the value from.
    Path string
    Optional. A string containing a JSON-Pointer value that references a location within the target document where the operation is performed.
    Value string
    Optional. A string that specifies the desired value in string format to use for transformation.
    op TransformationRuleActionOp
    op specifies the operation to perform.
    fromPath String
    Optional. A string containing a JSON Pointer value that references the location in the target document to move the value from.
    path String
    Optional. A string containing a JSON-Pointer value that references a location within the target document where the operation is performed.
    value String
    Optional. A string that specifies the desired value in string format to use for transformation.
    op TransformationRuleActionOp
    op specifies the operation to perform.
    fromPath string
    Optional. A string containing a JSON Pointer value that references the location in the target document to move the value from.
    path string
    Optional. A string containing a JSON-Pointer value that references a location within the target document where the operation is performed.
    value string
    Optional. A string that specifies the desired value in string format to use for transformation.
    op TransformationRuleActionOp
    op specifies the operation to perform.
    from_path str
    Optional. A string containing a JSON Pointer value that references the location in the target document to move the value from.
    path str
    Optional. A string containing a JSON-Pointer value that references a location within the target document where the operation is performed.
    value str
    Optional. A string that specifies the desired value in string format to use for transformation.
    op "OP_UNSPECIFIED" | "REMOVE" | "MOVE" | "COPY" | "ADD" | "TEST" | "REPLACE"
    op specifies the operation to perform.
    fromPath String
    Optional. A string containing a JSON Pointer value that references the location in the target document to move the value from.
    path String
    Optional. A string containing a JSON-Pointer value that references a location within the target document where the operation is performed.
    value String
    Optional. A string that specifies the desired value in string format to use for transformation.

    TransformationRuleActionOp, TransformationRuleActionOpArgs

    OpUnspecified
    OP_UNSPECIFIEDUnspecified operation
    Remove
    REMOVEThe "remove" operation removes the value at the target location.
    Move
    MOVEThe "move" operation removes the value at a specified location and adds it to the target location.
    Copy
    COPYThe "copy" operation copies the value at a specified location to the target location.
    Add
    ADDThe "add" operation performs one of the following functions, depending upon what the target location references: 1. If the target location specifies an array index, a new value is inserted into the array at the specified index. 2. If the target location specifies an object member that does not already exist, a new member is added to the object. 3. If the target location specifies an object member that does exist, that member's value is replaced.
    Test
    TESTThe "test" operation tests that a value at the target location is equal to a specified value.
    Replace
    REPLACEThe "replace" operation replaces the value at the target location with a new value. The operation object MUST contain a "value" member whose content specifies the replacement value.
    TransformationRuleActionOpOpUnspecified
    OP_UNSPECIFIEDUnspecified operation
    TransformationRuleActionOpRemove
    REMOVEThe "remove" operation removes the value at the target location.
    TransformationRuleActionOpMove
    MOVEThe "move" operation removes the value at a specified location and adds it to the target location.
    TransformationRuleActionOpCopy
    COPYThe "copy" operation copies the value at a specified location to the target location.
    TransformationRuleActionOpAdd
    ADDThe "add" operation performs one of the following functions, depending upon what the target location references: 1. If the target location specifies an array index, a new value is inserted into the array at the specified index. 2. If the target location specifies an object member that does not already exist, a new member is added to the object. 3. If the target location specifies an object member that does exist, that member's value is replaced.
    TransformationRuleActionOpTest
    TESTThe "test" operation tests that a value at the target location is equal to a specified value.
    TransformationRuleActionOpReplace
    REPLACEThe "replace" operation replaces the value at the target location with a new value. The operation object MUST contain a "value" member whose content specifies the replacement value.
    OpUnspecified
    OP_UNSPECIFIEDUnspecified operation
    Remove
    REMOVEThe "remove" operation removes the value at the target location.
    Move
    MOVEThe "move" operation removes the value at a specified location and adds it to the target location.
    Copy
    COPYThe "copy" operation copies the value at a specified location to the target location.
    Add
    ADDThe "add" operation performs one of the following functions, depending upon what the target location references: 1. If the target location specifies an array index, a new value is inserted into the array at the specified index. 2. If the target location specifies an object member that does not already exist, a new member is added to the object. 3. If the target location specifies an object member that does exist, that member's value is replaced.
    Test
    TESTThe "test" operation tests that a value at the target location is equal to a specified value.
    Replace
    REPLACEThe "replace" operation replaces the value at the target location with a new value. The operation object MUST contain a "value" member whose content specifies the replacement value.
    OpUnspecified
    OP_UNSPECIFIEDUnspecified operation
    Remove
    REMOVEThe "remove" operation removes the value at the target location.
    Move
    MOVEThe "move" operation removes the value at a specified location and adds it to the target location.
    Copy
    COPYThe "copy" operation copies the value at a specified location to the target location.
    Add
    ADDThe "add" operation performs one of the following functions, depending upon what the target location references: 1. If the target location specifies an array index, a new value is inserted into the array at the specified index. 2. If the target location specifies an object member that does not already exist, a new member is added to the object. 3. If the target location specifies an object member that does exist, that member's value is replaced.
    Test
    TESTThe "test" operation tests that a value at the target location is equal to a specified value.
    Replace
    REPLACEThe "replace" operation replaces the value at the target location with a new value. The operation object MUST contain a "value" member whose content specifies the replacement value.
    OP_UNSPECIFIED
    OP_UNSPECIFIEDUnspecified operation
    REMOVE
    REMOVEThe "remove" operation removes the value at the target location.
    MOVE
    MOVEThe "move" operation removes the value at a specified location and adds it to the target location.
    COPY
    COPYThe "copy" operation copies the value at a specified location to the target location.
    ADD
    ADDThe "add" operation performs one of the following functions, depending upon what the target location references: 1. If the target location specifies an array index, a new value is inserted into the array at the specified index. 2. If the target location specifies an object member that does not already exist, a new member is added to the object. 3. If the target location specifies an object member that does exist, that member's value is replaced.
    TEST
    TESTThe "test" operation tests that a value at the target location is equal to a specified value.
    REPLACE
    REPLACEThe "replace" operation replaces the value at the target location with a new value. The operation object MUST contain a "value" member whose content specifies the replacement value.
    "OP_UNSPECIFIED"
    OP_UNSPECIFIEDUnspecified operation
    "REMOVE"
    REMOVEThe "remove" operation removes the value at the target location.
    "MOVE"
    MOVEThe "move" operation removes the value at a specified location and adds it to the target location.
    "COPY"
    COPYThe "copy" operation copies the value at a specified location to the target location.
    "ADD"
    ADDThe "add" operation performs one of the following functions, depending upon what the target location references: 1. If the target location specifies an array index, a new value is inserted into the array at the specified index. 2. If the target location specifies an object member that does not already exist, a new member is added to the object. 3. If the target location specifies an object member that does exist, that member's value is replaced.
    "TEST"
    TESTThe "test" operation tests that a value at the target location is equal to a specified value.
    "REPLACE"
    REPLACEThe "replace" operation replaces the value at the target location with a new value. The operation object MUST contain a "value" member whose content specifies the replacement value.

    TransformationRuleActionResponse, TransformationRuleActionResponseArgs

    FromPath string
    Optional. A string containing a JSON Pointer value that references the location in the target document to move the value from.
    Op string
    op specifies the operation to perform.
    Path string
    Optional. A string containing a JSON-Pointer value that references a location within the target document where the operation is performed.
    Value string
    Optional. A string that specifies the desired value in string format to use for transformation.
    FromPath string
    Optional. A string containing a JSON Pointer value that references the location in the target document to move the value from.
    Op string
    op specifies the operation to perform.
    Path string
    Optional. A string containing a JSON-Pointer value that references a location within the target document where the operation is performed.
    Value string
    Optional. A string that specifies the desired value in string format to use for transformation.
    fromPath String
    Optional. A string containing a JSON Pointer value that references the location in the target document to move the value from.
    op String
    op specifies the operation to perform.
    path String
    Optional. A string containing a JSON-Pointer value that references a location within the target document where the operation is performed.
    value String
    Optional. A string that specifies the desired value in string format to use for transformation.
    fromPath string
    Optional. A string containing a JSON Pointer value that references the location in the target document to move the value from.
    op string
    op specifies the operation to perform.
    path string
    Optional. A string containing a JSON-Pointer value that references a location within the target document where the operation is performed.
    value string
    Optional. A string that specifies the desired value in string format to use for transformation.
    from_path str
    Optional. A string containing a JSON Pointer value that references the location in the target document to move the value from.
    op str
    op specifies the operation to perform.
    path str
    Optional. A string containing a JSON-Pointer value that references a location within the target document where the operation is performed.
    value str
    Optional. A string that specifies the desired value in string format to use for transformation.
    fromPath String
    Optional. A string containing a JSON Pointer value that references the location in the target document to move the value from.
    op String
    op specifies the operation to perform.
    path String
    Optional. A string containing a JSON-Pointer value that references a location within the target document where the operation is performed.
    value String
    Optional. A string that specifies the desired value in string format to use for transformation.

    TransformationRuleResponse, TransformationRuleResponseArgs

    Description string
    Optional. The description is a user specified string description of the transformation rule.
    FieldActions List<Pulumi.GoogleNative.Gkebackup.V1.Inputs.TransformationRuleActionResponse>
    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.
    ResourceFilter Pulumi.GoogleNative.Gkebackup.V1.Inputs.ResourceFilterResponse
    Optional. 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.
    Description string
    Optional. The description is a user specified string description of the transformation rule.
    FieldActions []TransformationRuleActionResponse
    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.
    ResourceFilter ResourceFilterResponse
    Optional. 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.
    description String
    Optional. The description is a user specified string description of the transformation rule.
    fieldActions List<TransformationRuleActionResponse>
    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.
    resourceFilter ResourceFilterResponse
    Optional. 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.
    description string
    Optional. The description is a user specified string description of the transformation rule.
    fieldActions TransformationRuleActionResponse[]
    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.
    resourceFilter ResourceFilterResponse
    Optional. 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.
    description str
    Optional. The description is a user specified string description of the transformation rule.
    field_actions Sequence[TransformationRuleActionResponse]
    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.
    resource_filter ResourceFilterResponse
    Optional. 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.
    description String
    Optional. The description is a user specified string description of the transformation rule.
    fieldActions List<Property Map>
    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.
    resourceFilter Property Map
    Optional. 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.

    Package Details

    Repository
    Google Cloud Native pulumi/pulumi-google-native
    License
    Apache-2.0
    google-native logo

    Google Cloud Native is in preview. Google Cloud Classic is fully supported.

    Google Cloud Native v0.32.0 published on Wednesday, Nov 29, 2023 by Pulumi