- HTTP request
- Path parameters
- Request body
- Response body
- Authorization scopes
- IAM Permissions
- ComputeInstanceTargetEnvironment
- DiskTargetEnvironment
- RegionDiskTargetEnvironment
- ComputeInstanceRestoreProperties
- AdvancedMachineFeatures
- ConfidentialInstanceConfig
- DisplayDevice
- NetworkPerformanceConfig
- Tier
- InstanceParams
- InstancePrivateIpv6GoogleAccess
- AllocationAffinity
- Type
- DiskRestoreProperties
- AccessMode
- Architecture
- Try it!
Restore from a Backup
HTTP request
POST https://backupdr.googleapis.com/v1/{name=projects/*/locations/*/backupVaults/*/dataSources/*/backups/*}:restore
The URL uses gRPC Transcoding syntax.
Path parameters
Parameters | |
---|---|
name |
Required. The resource name of the Backup instance, in the format 'projects/*/locations/*/backupVaults/*/dataSources/*/backups/'. |
Request body
The request body contains data with the following structure:
JSON representation |
---|
{ "requestId": string, // Union field |
Fields | |
---|---|
requestId |
Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). |
Union field target_environment . The target environment for the restore operation. target_environment can be only one of the following: |
|
computeInstanceTargetEnvironment |
Compute Engine target environment to be used during restore. |
diskTargetEnvironment |
Disk target environment to be used during restore. |
regionDiskTargetEnvironment |
Region disk target environment to be used during restore. |
Union field instance_properties . The property overrides for the instance being restored. instance_properties can be only one of the following: |
|
computeInstanceRestoreProperties |
Compute Engine instance properties to be overridden during restore. |
diskRestoreProperties |
Disk properties to be overridden during restore. |
Response body
If successful, the response body contains an instance of Operation
.
Authorization scopes
Requires the following OAuth scope:
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview.
IAM Permissions
Requires the following IAM permission on the name
resource:
backupdr.bvbackups.restore
For more information, see the IAM documentation.
ComputeInstanceTargetEnvironment
ComputeInstanceTargetEnvironment represents Compute Engine target environment to be used during restore.
JSON representation |
---|
{ "project": string, "zone": string } |
Fields | |
---|---|
project |
Required. Target project for the Compute Engine instance. |
zone |
Required. The zone of the Compute Engine instance. |
DiskTargetEnvironment
DiskTargetEnvironment represents the target environment for the disk.
JSON representation |
---|
{ "project": string, "zone": string } |
Fields | |
---|---|
project |
Required. Target project for the disk. |
zone |
Required. Target zone for the disk. |
RegionDiskTargetEnvironment
RegionDiskTargetEnvironment represents the target environment for the disk.
JSON representation |
---|
{ "project": string, "region": string, "replicaZones": [ string ] } |
Fields | |
---|---|
project |
Required. Target project for the disk. |
region |
Required. Target region for the disk. |
replicaZones[] |
Required. Target URLs of the replica zones for the disk. |
ComputeInstanceRestoreProperties
ComputeInstanceRestoreProperties represents Compute Engine instance properties to be overridden during restore.
JSON representation |
---|
{ "disks": [ { object ( |
Fields | |
---|---|
disks[] |
Optional. Array of disks associated with this instance. Persistent disks must be created before you can assign them. |
guestAccelerators[] |
Optional. A list of the type and count of accelerator cards attached to the instance. |
labels |
Optional. Labels to apply to this instance. An object containing a list of |
networkInterfaces[] |
Optional. An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance. |
resourcePolicies[] |
Optional. Resource policies applied to this instance. |
serviceAccounts[] |
Optional. A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. |
name |
Required. Name of the compute instance. |
advancedMachineFeatures |
Optional. Controls for advanced machine-related behavior features. |
canIpForward |
Optional. Allows this instance to send and receive packets with non-matching destination or source IPs. |
confidentialInstanceConfig |
Optional. Controls Confidential compute options on the instance |
deletionProtection |
Optional. Whether the resource should be protected against deletion. |
description |
Optional. An optional description of this resource. Provide this property when you create the resource. |
displayDevice |
Optional. Enables display device for the instance. |
hostname |
Optional. Specifies the hostname of the instance. The specified hostname must be RFC1035 compliant. If hostname is not specified, the default hostname is [INSTANCE_NAME].c.[PROJECT_ID].internal when using the global DNS, and [INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal DNS. |
instanceEncryptionKey |
Optional. Encrypts suspended data for an instance with a customer-managed encryption key. |
keyRevocationActionType |
Optional. KeyRevocationActionType of the instance. |
machineType |
Optional. Full or partial URL of the machine type resource to use for this instance. |
metadata |
Optional. This includes custom metadata and predefined keys. |
minCpuPlatform |
Optional. Minimum CPU platform to use for this instance. |
networkPerformanceConfig |
Optional. Configure network performance such as egress bandwidth tier. |
params |
Input only. Additional params passed with the request, but not persisted as part of resource payload. |
privateIpv6GoogleAccess |
Optional. The private IPv6 google access type for the VM. If not specified, use INHERIT_FROM_SUBNETWORK as default. |
reservationAffinity |
Optional. Specifies the reservations that this instance can consume from. |
scheduling |
Optional. Sets the scheduling options for this instance. |
tags |
Optional. Tags to apply to this instance. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during instance creation. |
AdvancedMachineFeatures
Specifies options for controlling advanced machine features.
JSON representation |
---|
{ "enableNestedVirtualization": boolean, "threadsPerCore": integer, "visibleCoreCount": integer, "enableUefiNetworking": boolean } |
Fields | |
---|---|
enableNestedVirtualization |
Optional. Whether to enable nested virtualization or not (default is false). |
threadsPerCore |
Optional. The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed. |
visibleCoreCount |
Optional. The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance's nominal CPU count and the underlying platform's SMT width. |
enableUefiNetworking |
Optional. Whether to enable UEFI networking for instance creation. |
ConfidentialInstanceConfig
A set of Confidential Instance options.
JSON representation |
---|
{ "enableConfidentialCompute": boolean } |
Fields | |
---|---|
enableConfidentialCompute |
Optional. Defines whether the instance should have confidential compute enabled. |
DisplayDevice
A set of Display Device options
JSON representation |
---|
{ "enableDisplay": boolean } |
Fields | |
---|---|
enableDisplay |
Optional. Enables display for the Compute Engine VM |
NetworkPerformanceConfig
Network performance configuration.
JSON representation |
---|
{
"totalEgressBandwidthTier": enum ( |
Fields | |
---|---|
totalEgressBandwidthTier |
Optional. The tier of the total egress bandwidth. |
Tier
Network performance tier.
Enums | |
---|---|
TIER_UNSPECIFIED |
This value is unused. |
DEFAULT |
Default network performance config. |
TIER_1 |
Tier 1 network performance config. |
InstanceParams
Additional instance params.
JSON representation |
---|
{ "resourceManagerTags": { string: string, ... } } |
Fields | |
---|---|
resourceManagerTags |
Optional. Resource manager tags to be bound to the instance. An object containing a list of |
InstancePrivateIpv6GoogleAccess
The private IPv6 google access type for the VMs.
Enums | |
---|---|
INSTANCE_PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED |
Default value. This value is unused. |
INHERIT_FROM_SUBNETWORK |
Each network interface inherits PrivateIpv6GoogleAccess from its subnetwork. |
ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE |
Outbound private IPv6 access from VMs in this subnet to Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before. |
ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE |
Bidirectional private IPv6 access to/from Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before. |
AllocationAffinity
Specifies the reservations that this instance can consume from.
JSON representation |
---|
{
"values": [
string
],
"consumeReservationType": enum ( |
Fields | |
---|---|
values[] |
Optional. Corresponds to the label values of a reservation resource. |
consumeReservationType |
Optional. Specifies the type of reservation from which this instance can consume |
key |
Optional. Corresponds to the label key of a reservation resource. |
Type
Indicates whether to consume from a reservation or not.
Enums | |
---|---|
TYPE_UNSPECIFIED |
Default value. This value is unused. |
NO_RESERVATION |
Do not consume from any allocated capacity. |
ANY_RESERVATION |
Consume any allocation available. |
SPECIFIC_RESERVATION |
Must consume from a specific reservation. Must specify key value fields for specifying the reservations. |
DiskRestoreProperties
DiskRestoreProperties represents the properties of a Disk restore.
JSON representation |
---|
{ "licenses": [ string ], "guestOsFeature": [ { object ( |
Fields | |
---|---|
licenses[] |
Optional. A list of publicly available licenses that are applicable to this backup. This is applicable if the original image had licenses attached, e.g. Windows image |
guestOsFeature[] |
Optional. A list of features to enable in the guest operating system. This is applicable only for bootable images. |
resourcePolicy[] |
Optional. Resource policies applied to this disk. |
labels |
Optional. Labels to apply to this disk. These can be modified later using
method. Label values can be empty. An object containing a list of |
resourceManagerTags |
Optional. Resource manager tags to be bound to the disk. An object containing a list of |
name |
Required. Name of the disk.. |
description |
Optional. An optional description of this resource. Provide this property when you create the resource. |
sizeGb |
Required. The size of the disk in GB. |
diskEncryptionKey |
Optional. Encrypts the disk using a customer-supplied encryption key or a customer-managed encryption key. |
physicalBlockSizeBytes |
Optional. Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. Currently, the supported size is 4096. |
provisionedIops |
Optional. Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. |
provisionedThroughput |
Optional. Indicates how much throughput to provision for the disk. This sets the number of throughput MB per second that the disk can handle. |
enableConfidentialCompute |
Optional. Indicates whether this disk is using confidential compute mode. Encryption with a Cloud KMS key is required to enable this option. |
storagePool |
Optional. The storage pool in which the new disk is created. You can provide this as a partial or full URL to the resource. |
accessMode |
Optional. The access mode of the disk. |
architecture |
Optional. The architecture of the source disk. Valid values are ARM64 or X86_64. |
type |
Required. URL of the disk type resource describing which disk type to use to create the disk. |
AccessMode
The supported access modes of the disk.
Enums | |
---|---|
READ_WRITE_SINGLE |
The default AccessMode, means the disk can be attached to single instance in RW mode. |
READ_WRITE_MANY |
The AccessMode means the disk can be attached to multiple instances in RW mode. |
READ_ONLY_MANY |
The AccessMode means the disk can be attached to multiple instances in RO mode. |
Architecture
Architecture of the source disk.
Enums | |
---|---|
ARCHITECTURE_UNSPECIFIED |
Default value. This value is unused. |
X86_64 |
Disks with architecture X86_64 |
ARM64 |
Disks with architecture ARM64 |