Required. Immutable. A reference to the
[Backup][google.cloud.gkebackup.v1.Backup] used as the source from which
this Restore will restore. Note that this Backup must be a sub-resource of
the RestorePlan's
[backup_plan][google.cloud.gkebackup.v1.RestorePlan.backup_plan]. Format:
projects/*/locations/*/backupPlans/*/backups/*.
Output only. 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 GetRestore,
and systems are expected to put that etag in the request to
UpdateRestore or DeleteRestore to ensure that their change will be
applied to the same version of the resource.
Optional. Immutable. Filters resources for Restore. If not specified, the
scope of the restore will remain the same as defined in the RestorePlan.
If this is specified and no resources are matched by the
inclusion_filters or everything is excluded by the exclusion_filters,
nothing will be restored. This filter can only be specified if the value of
[namespaced_resource_restore_mode][google.cloud.gkebackup.v1.RestoreConfig.namespaced_resource_restore_mode]
is set to MERGE_SKIP_ON_CONFLICT, MERGE_REPLACE_VOLUME_ON_CONFLICT or
MERGE_REPLACE_ON_CONFLICT.
Output only. Human-readable description of why the Restore is in its
current state. This field is only meant for human readability and should
not be used programmatically as this field is not guaranteed to be
consistent.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThis page provides documentation for the \u003ccode\u003eRestore\u003c/code\u003e class within the Google Cloud GKE Backup v1 API, which manages the restoration of backups to GKE clusters.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eRestore\u003c/code\u003e class represents a request and a record of the process to restore a portion of a backup into a target GKE cluster, with the latest version of this class being \u003ccode\u003e2.6.0\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eRestore\u003c/code\u003e class inherits from \u003ccode\u003eobject\u003c/code\u003e and implements interfaces like \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e for functionality like data handling and cloning.\u003c/p\u003e\n"],["\u003cp\u003eKey properties of the \u003ccode\u003eRestore\u003c/code\u003e class include \u003ccode\u003eBackup\u003c/code\u003e, \u003ccode\u003eCluster\u003c/code\u003e, \u003ccode\u003eCreateTime\u003c/code\u003e, \u003ccode\u003eDescription\u003c/code\u003e, and \u003ccode\u003eState\u003c/code\u003e, which define the source backup, target cluster, and the current status of the restore operation.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eRestore\u003c/code\u003e class has the ability to configure how resources are restored through the \u003ccode\u003eFilter\u003c/code\u003e property, allowing control over which resources are included or excluded, and the property \u003ccode\u003eVolumeDataRestorePolicyOverrides\u003c/code\u003e allows overrides over the volume data restore policies.\u003c/p\u003e\n"]]],[],null,["# Backup for GKE v1 API - Class Restore (2.8.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.8.0 (latest)](/dotnet/docs/reference/Google.Cloud.GkeBackup.V1/latest/Google.Cloud.GkeBackup.V1.Restore)\n- [2.7.0](/dotnet/docs/reference/Google.Cloud.GkeBackup.V1/2.7.0/Google.Cloud.GkeBackup.V1.Restore)\n- [2.6.0](/dotnet/docs/reference/Google.Cloud.GkeBackup.V1/2.6.0/Google.Cloud.GkeBackup.V1.Restore)\n- [2.5.0](/dotnet/docs/reference/Google.Cloud.GkeBackup.V1/2.5.0/Google.Cloud.GkeBackup.V1.Restore)\n- [2.4.0](/dotnet/docs/reference/Google.Cloud.GkeBackup.V1/2.4.0/Google.Cloud.GkeBackup.V1.Restore)\n- [2.3.0](/dotnet/docs/reference/Google.Cloud.GkeBackup.V1/2.3.0/Google.Cloud.GkeBackup.V1.Restore)\n- [2.2.0](/dotnet/docs/reference/Google.Cloud.GkeBackup.V1/2.2.0/Google.Cloud.GkeBackup.V1.Restore)\n- [2.1.0](/dotnet/docs/reference/Google.Cloud.GkeBackup.V1/2.1.0/Google.Cloud.GkeBackup.V1.Restore)\n- [2.0.0](/dotnet/docs/reference/Google.Cloud.GkeBackup.V1/2.0.0/Google.Cloud.GkeBackup.V1.Restore)\n- [1.0.0-beta01](/dotnet/docs/reference/Google.Cloud.GkeBackup.V1/1.0.0-beta01/Google.Cloud.GkeBackup.V1.Restore) \n\n public sealed class Restore : IMessage\u003cRestore\u003e, IEquatable\u003cRestore\u003e, IDeepCloneable\u003cRestore\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Backup for GKE v1 API class Restore.\n\nRepresents both a request to Restore some portion of a Backup into\na target GKE cluster and a record of the restore operation itself. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e Restore \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[Restore](/dotnet/docs/reference/Google.Cloud.GkeBackup.V1/latest/Google.Cloud.GkeBackup.V1.Restore), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[Restore](/dotnet/docs/reference/Google.Cloud.GkeBackup.V1/latest/Google.Cloud.GkeBackup.V1.Restore), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[Restore](/dotnet/docs/reference/Google.Cloud.GkeBackup.V1/latest/Google.Cloud.GkeBackup.V1.Restore), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.GkeBackup.V1](/dotnet/docs/reference/Google.Cloud.GkeBackup.V1/latest/Google.Cloud.GkeBackup.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.GkeBackup.V1.dll\n\nConstructors\n------------\n\n### Restore()\n\n public Restore()\n\n### Restore(Restore)\n\n public Restore(Restore other)\n\nProperties\n----------\n\n### Backup\n\n public string Backup { get; set; }\n\nRequired. Immutable. A reference to the\n\\[Backup\\]\\[google.cloud.gkebackup.v1.Backup\\] used as the source from which\nthis Restore will restore. Note that this Backup must be a sub-resource of\nthe RestorePlan's\n\\[backup_plan\\]\\[google.cloud.gkebackup.v1.RestorePlan.backup_plan\\]. Format:\n`projects/*/locations/*/backupPlans/*/backups/*`.\n\n### BackupAsBackupName\n\n public BackupName BackupAsBackupName { get; set; }\n\n[BackupName](/dotnet/docs/reference/Google.Cloud.GkeBackup.V1/latest/Google.Cloud.GkeBackup.V1.BackupName)-typed view over the [Backup](/dotnet/docs/reference/Google.Cloud.GkeBackup.V1/latest/Google.Cloud.GkeBackup.V1.Restore#Google_Cloud_GkeBackup_V1_Restore_Backup) resource name property.\n\n### Cluster\n\n public string Cluster { get; set; }\n\nOutput only. The target cluster into which this Restore will restore data.\nValid formats:\n\n- `projects/*/locations/*/clusters/*`\n- `projects/*/zones/*/clusters/*`\n\nInherited from parent RestorePlan's\n\\[cluster\\]\\[google.cloud.gkebackup.v1.RestorePlan.cluster\\] value.\n\n### ClusterAsClusterName\n\n public ClusterName ClusterAsClusterName { get; set; }\n\n[ClusterName](/dotnet/docs/reference/Google.Cloud.GkeBackup.V1/latest/Google.Cloud.GkeBackup.V1.ClusterName)-typed view over the [Cluster](/dotnet/docs/reference/Google.Cloud.GkeBackup.V1/latest/Google.Cloud.GkeBackup.V1.Restore#Google_Cloud_GkeBackup_V1_Restore_Cluster) resource name property.\n\n### CompleteTime\n\n public Timestamp CompleteTime { get; set; }\n\nOutput only. Timestamp of when the restore operation completed.\n\n### CreateTime\n\n public Timestamp CreateTime { get; set; }\n\nOutput only. The timestamp when this Restore resource was created.\n\n### Description\n\n public string Description { get; set; }\n\nOptional. User specified descriptive string for this Restore.\n\n### Etag\n\n public string Etag { get; set; }\n\nOutput only. `etag` is used for optimistic concurrency control as a way to\nhelp prevent simultaneous updates of a restore from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform restore updates in order to avoid\nrace conditions: An `etag` is returned in the response to `GetRestore`,\nand systems are expected to put that etag in the request to\n`UpdateRestore` or `DeleteRestore` to ensure that their change will be\napplied to the same version of the resource.\n\n### Filter\n\n public Restore.Types.Filter Filter { get; set; }\n\nOptional. Immutable. Filters resources for `Restore`. If not specified, the\nscope of the restore will remain the same as defined in the `RestorePlan`.\nIf this is specified and no resources are matched by the\n`inclusion_filters` or everything is excluded by the `exclusion_filters`,\nnothing will be restored. This filter can only be specified if the value of\n\\[namespaced_resource_restore_mode\\]\\[google.cloud.gkebackup.v1.RestoreConfig.namespaced_resource_restore_mode\\]\nis set to `MERGE_SKIP_ON_CONFLICT`, `MERGE_REPLACE_VOLUME_ON_CONFLICT` or\n`MERGE_REPLACE_ON_CONFLICT`.\n\n### Labels\n\n public MapField\u003cstring, string\u003e Labels { get; }\n\nA set of custom labels supplied by user.\n\n### Name\n\n public string Name { get; set; }\n\nOutput only. The full name of the Restore resource.\nFormat: `projects/*/locations/*/restorePlans/*/restores/*`\n\n### ResourcesExcludedCount\n\n public int ResourcesExcludedCount { get; set; }\n\nOutput only. Number of resources excluded during the restore execution.\n\n### ResourcesFailedCount\n\n public int ResourcesFailedCount { get; set; }\n\nOutput only. Number of resources that failed to be restored during the\nrestore execution.\n\n### ResourcesRestoredCount\n\n public int ResourcesRestoredCount { get; set; }\n\nOutput only. Number of resources restored during the restore execution.\n\n### RestoreConfig\n\n public RestoreConfig RestoreConfig { get; set; }\n\nOutput only. Configuration of the Restore. Inherited from parent\nRestorePlan's\n\\[restore_config\\]\\[google.cloud.gkebackup.v1.RestorePlan.restore_config\\].\n\n### RestoreName\n\n public RestoreName RestoreName { get; set; }\n\n[RestoreName](/dotnet/docs/reference/Google.Cloud.GkeBackup.V1/latest/Google.Cloud.GkeBackup.V1.RestoreName)-typed view over the [Name](/dotnet/docs/reference/Google.Cloud.GkeBackup.V1/latest/Google.Cloud.GkeBackup.V1.Restore#Google_Cloud_GkeBackup_V1_Restore_Name) resource name property.\n\n### State\n\n public Restore.Types.State State { get; set; }\n\nOutput only. The current state of the Restore.\n\n### StateReason\n\n public string StateReason { get; set; }\n\nOutput only. Human-readable description of why the Restore is in its\ncurrent state. This field is only meant for human readability and should\nnot be used programmatically as this field is not guaranteed to be\nconsistent.\n\n### Uid\n\n public string Uid { get; set; }\n\nOutput only. Server generated global unique identifier of\n[UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier) format.\n\n### UpdateTime\n\n public Timestamp UpdateTime { get; set; }\n\nOutput only. The timestamp when this Restore resource was last\nupdated.\n\n### VolumeDataRestorePolicyOverrides\n\n public RepeatedField\u003cVolumeDataRestorePolicyOverride\u003e VolumeDataRestorePolicyOverrides { get; }\n\nOptional. Immutable. Overrides the volume data restore policies selected in\nthe Restore Config for override-scoped resources.\n\n### VolumesRestoredCount\n\n public int VolumesRestoredCount { get; set; }\n\nOutput only. Number of volumes restored during the restore execution."]]