public sealed class RestoreDatabaseRequest : IMessage<RestoreDatabaseRequest>, IEquatable<RestoreDatabaseRequest>, IDeepCloneable<RestoreDatabaseRequest>, IBufferMessage, IMessage
Reference documentation and code samples for the Firestore Admin v1 API class RestoreDatabaseRequest.
The request message for
[FirestoreAdmin.RestoreDatabase][google.firestore.admin.v1.FirestoreAdmin.RestoreDatabase].
Required. The ID to use for the database, which will become the final
component of the database's resource name. This database ID must not be
associated with an existing database.
This value should be 4-63 characters. Valid characters are /[a-z][0-9]-/
with first character a letter and the last a letter or a number. Must not
be UUID-like /[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}/.
public Database.Types.EncryptionConfig EncryptionConfig { get; set; }
Optional. Encryption configuration for the restored database.
If this field is not specified, the restored database will use
the same encryption configuration as the backup, namely
[use_source_encryption][google.firestore.admin.v1.Database.EncryptionConfig.use_source_encryption].
[[["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 document provides reference documentation for the \u003ccode\u003eRestoreDatabaseRequest\u003c/code\u003e class within the Firestore Admin v1 API for .NET.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eRestoreDatabaseRequest\u003c/code\u003e is used to initiate the restoration of a Firestore database from a backup and is part of the \u003ccode\u003eGoogle.Cloud.Firestore.Admin.V1\u003c/code\u003e namespace.\u003c/p\u003e\n"],["\u003cp\u003eThe class implements several interfaces, including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, providing functionality for message handling, comparison, deep cloning, and buffering.\u003c/p\u003e\n"],["\u003cp\u003eKey properties of \u003ccode\u003eRestoreDatabaseRequest\u003c/code\u003e include \u003ccode\u003eBackup\u003c/code\u003e, \u003ccode\u003eDatabaseId\u003c/code\u003e, \u003ccode\u003eEncryptionConfig\u003c/code\u003e, and \u003ccode\u003eParent\u003c/code\u003e, which specify the source backup, the ID for the new database, the encryption configuration, and the project for restoration, respectively.\u003c/p\u003e\n"],["\u003cp\u003eMultiple versions of this API are documented, ranging from version 2.2.0 to the latest version 3.12.0, providing a historical view of the API's development.\u003c/p\u003e\n"]]],[],null,["# Firestore Admin v1 API - Class RestoreDatabaseRequest (3.15.0)\n\nVersion latestkeyboard_arrow_down\n\n- [3.15.0 (latest)](/dotnet/docs/reference/Google.Cloud.Firestore.Admin.V1/latest/Google.Cloud.Firestore.Admin.V1.RestoreDatabaseRequest)\n- [3.14.0](/dotnet/docs/reference/Google.Cloud.Firestore.Admin.V1/3.14.0/Google.Cloud.Firestore.Admin.V1.RestoreDatabaseRequest)\n- [3.13.0](/dotnet/docs/reference/Google.Cloud.Firestore.Admin.V1/3.13.0/Google.Cloud.Firestore.Admin.V1.RestoreDatabaseRequest)\n- [3.12.0](/dotnet/docs/reference/Google.Cloud.Firestore.Admin.V1/3.12.0/Google.Cloud.Firestore.Admin.V1.RestoreDatabaseRequest)\n- [3.11.0](/dotnet/docs/reference/Google.Cloud.Firestore.Admin.V1/3.11.0/Google.Cloud.Firestore.Admin.V1.RestoreDatabaseRequest)\n- [3.10.0](/dotnet/docs/reference/Google.Cloud.Firestore.Admin.V1/3.10.0/Google.Cloud.Firestore.Admin.V1.RestoreDatabaseRequest)\n- [3.9.0](/dotnet/docs/reference/Google.Cloud.Firestore.Admin.V1/3.9.0/Google.Cloud.Firestore.Admin.V1.RestoreDatabaseRequest)\n- [3.8.0](/dotnet/docs/reference/Google.Cloud.Firestore.Admin.V1/3.8.0/Google.Cloud.Firestore.Admin.V1.RestoreDatabaseRequest)\n- [3.7.0](/dotnet/docs/reference/Google.Cloud.Firestore.Admin.V1/3.7.0/Google.Cloud.Firestore.Admin.V1.RestoreDatabaseRequest)\n- [3.6.0](/dotnet/docs/reference/Google.Cloud.Firestore.Admin.V1/3.6.0/Google.Cloud.Firestore.Admin.V1.RestoreDatabaseRequest)\n- [3.5.0](/dotnet/docs/reference/Google.Cloud.Firestore.Admin.V1/3.5.0/Google.Cloud.Firestore.Admin.V1.RestoreDatabaseRequest)\n- [3.4.0](/dotnet/docs/reference/Google.Cloud.Firestore.Admin.V1/3.4.0/Google.Cloud.Firestore.Admin.V1.RestoreDatabaseRequest)\n- [3.3.0](/dotnet/docs/reference/Google.Cloud.Firestore.Admin.V1/3.3.0/Google.Cloud.Firestore.Admin.V1.RestoreDatabaseRequest)\n- [3.2.0](/dotnet/docs/reference/Google.Cloud.Firestore.Admin.V1/3.2.0/Google.Cloud.Firestore.Admin.V1.RestoreDatabaseRequest)\n- [3.1.0](/dotnet/docs/reference/Google.Cloud.Firestore.Admin.V1/3.1.0/Google.Cloud.Firestore.Admin.V1.RestoreDatabaseRequest)\n- [3.0.0](/dotnet/docs/reference/Google.Cloud.Firestore.Admin.V1/3.0.0/Google.Cloud.Firestore.Admin.V1.RestoreDatabaseRequest)\n- [2.4.0](/dotnet/docs/reference/Google.Cloud.Firestore.Admin.V1/2.4.0/Google.Cloud.Firestore.Admin.V1.RestoreDatabaseRequest)\n- [2.3.0](/dotnet/docs/reference/Google.Cloud.Firestore.Admin.V1/2.3.0/Google.Cloud.Firestore.Admin.V1.RestoreDatabaseRequest)\n- [2.2.0](/dotnet/docs/reference/Google.Cloud.Firestore.Admin.V1/2.2.0/Google.Cloud.Firestore.Admin.V1.RestoreDatabaseRequest) \n\n public sealed class RestoreDatabaseRequest : IMessage\u003cRestoreDatabaseRequest\u003e, IEquatable\u003cRestoreDatabaseRequest\u003e, IDeepCloneable\u003cRestoreDatabaseRequest\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Firestore Admin v1 API class RestoreDatabaseRequest.\n\nThe request message for\n\\[FirestoreAdmin.RestoreDatabase\\]\\[google.firestore.admin.v1.FirestoreAdmin.RestoreDatabase\\]. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e RestoreDatabaseRequest \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[RestoreDatabaseRequest](/dotnet/docs/reference/Google.Cloud.Firestore.Admin.V1/latest/Google.Cloud.Firestore.Admin.V1.RestoreDatabaseRequest), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[RestoreDatabaseRequest](/dotnet/docs/reference/Google.Cloud.Firestore.Admin.V1/latest/Google.Cloud.Firestore.Admin.V1.RestoreDatabaseRequest), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[RestoreDatabaseRequest](/dotnet/docs/reference/Google.Cloud.Firestore.Admin.V1/latest/Google.Cloud.Firestore.Admin.V1.RestoreDatabaseRequest), [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.Firestore.Admin.V1](/dotnet/docs/reference/Google.Cloud.Firestore.Admin.V1/latest/Google.Cloud.Firestore.Admin.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.Firestore.Admin.V1.dll\n\nConstructors\n------------\n\n### RestoreDatabaseRequest()\n\n public RestoreDatabaseRequest()\n\n### RestoreDatabaseRequest(RestoreDatabaseRequest)\n\n public RestoreDatabaseRequest(RestoreDatabaseRequest other)\n\nProperties\n----------\n\n### Backup\n\n public string Backup { get; set; }\n\nRequired. Backup to restore from. Must be from the same project as the\nparent.\n\nThe restored database will be created in the same location as the source\nbackup.\n\nFormat is: `projects/{project_id}/locations/{location}/backups/{backup}`\n\n### BackupAsBackupName\n\n public BackupName BackupAsBackupName { get; set; }\n\n[BackupName](/dotnet/docs/reference/Google.Cloud.Firestore.Admin.V1/latest/Google.Cloud.Firestore.Admin.V1.BackupName)-typed view over the [Backup](/dotnet/docs/reference/Google.Cloud.Firestore.Admin.V1/latest/Google.Cloud.Firestore.Admin.V1.RestoreDatabaseRequest#Google_Cloud_Firestore_Admin_V1_RestoreDatabaseRequest_Backup) resource name property.\n\n### DatabaseId\n\n public string DatabaseId { get; set; }\n\nRequired. The ID to use for the database, which will become the final\ncomponent of the database's resource name. This database ID must not be\nassociated with an existing database.\n\nThis value should be 4-63 characters. Valid characters are /\\[a-z\\]\\[0-9\\]-/\nwith first character a letter and the last a letter or a number. Must not\nbe UUID-like /\\[0-9a-f\\]{8}(-\\[0-9a-f\\]{4}){3}-\\[0-9a-f\\]{12}/.\n\n\"(default)\" database ID is also valid.\n\n### EncryptionConfig\n\n public Database.Types.EncryptionConfig EncryptionConfig { get; set; }\n\nOptional. Encryption configuration for the restored database.\n\nIf this field is not specified, the restored database will use\nthe same encryption configuration as the backup, namely\n\\[use_source_encryption\\]\\[google.firestore.admin.v1.Database.EncryptionConfig.use_source_encryption\\].\n\n### Parent\n\n public string Parent { get; set; }\n\nRequired. The project to restore the database in. Format is\n`projects/{project_id}`.\n\n### ParentAsProjectName\n\n public ProjectName ParentAsProjectName { get; set; }\n\n[ProjectName](https://cloud.google.com/dotnet/docs/reference/Google.Api.Gax/latest/Google.Api.Gax.ResourceNames.ProjectName.html)-typed view over the [Parent](/dotnet/docs/reference/Google.Cloud.Firestore.Admin.V1/latest/Google.Cloud.Firestore.Admin.V1.RestoreDatabaseRequest#Google_Cloud_Firestore_Admin_V1_RestoreDatabaseRequest_Parent) resource name property.\n\n### Tags\n\n public MapField\u003cstring, string\u003e Tags { get; }\n\nOptional. Immutable. Tags to be bound to the restored database.\n\nThe tags should be provided in the format of\n`tagKeys/{tag_key_id} -\u003e tagValues/{tag_value_id}`."]]