Compute Cloud API, gRPC: SnapshotService.Create
Creates a snapshot of the specified disk.
gRPC request
rpc Create (CreateSnapshotRequest) returns (operation.Operation)
CreateSnapshotRequest
{
"folder_id": "string",
"disk_id": "string",
"name": "string",
"description": "string",
"labels": "map<string, string>",
"hardware_generation": {
// Includes only one of the fields `legacy_features`, `generation2_features`
"legacy_features": {
"pci_topology": "PCITopology"
},
"generation2_features": "Generation2HardwareFeatures"
// end of the list of possible fields
}
}
Field |
Description |
folder_id |
string Required field. ID of the folder to create a snapshot in. |
disk_id |
string Required field. ID of the disk to create the snapshot from. |
name |
string Name of the snapshot. |
description |
string Description of the snapshot. |
labels |
object (map<string, string>) Resource labels as |
hardware_generation |
Specify the overrides to hardware_generation of a source disk, image or snapshot, |
HardwareGeneration
A set of features, specific to a particular Compute hardware generation.
They are not necessary supported by every host OS or distro, thus they are fixed to an image
and are applied to all instances created with it as their boot disk image.
These features significantly determine how the instance is created, thus cannot be changed after the fact.
Field |
Description |
legacy_features |
Includes only one of the fields |
generation2_features |
Includes only one of the fields |
LegacyHardwareFeatures
A first hardware generation, by default compatible with all legacy images.
Allows switching to PCI_TOPOLOGY_V2 and back.
Field |
Description |
pci_topology |
enum PCITopology
|
Generation2HardwareFeatures
A second hardware generation, which by default assumes PCI_TOPOLOGY_V2
and UEFI boot (with UEFI related features).
Field |
Description |
Empty |
operation.Operation
{
"id": "string",
"description": "string",
"created_at": "google.protobuf.Timestamp",
"created_by": "string",
"modified_at": "google.protobuf.Timestamp",
"done": "bool",
"metadata": {
"snapshot_id": "string",
"disk_id": "string"
},
// Includes only one of the fields `error`, `response`
"error": "google.rpc.Status",
"response": {
"id": "string",
"folder_id": "string",
"created_at": "google.protobuf.Timestamp",
"name": "string",
"description": "string",
"labels": "map<string, string>",
"storage_size": "int64",
"disk_size": "int64",
"product_ids": [
"string"
],
"status": "Status",
"source_disk_id": "string",
"hardware_generation": {
// Includes only one of the fields `legacy_features`, `generation2_features`
"legacy_features": {
"pci_topology": "PCITopology"
},
"generation2_features": "Generation2HardwareFeatures"
// end of the list of possible fields
},
"kms_key": {
"key_id": "string",
"version_id": "string"
}
}
// end of the list of possible fields
}
An Operation resource. For more information, see Operation.
Field |
Description |
id |
string ID of the operation. |
description |
string Description of the operation. 0-256 characters long. |
created_at |
Creation timestamp. |
created_by |
string ID of the user or service account who initiated the operation. |
modified_at |
The time when the Operation resource was last modified. |
done |
bool If the value is |
metadata |
Service-specific metadata associated with the operation. |
error |
The error result of the operation in case of failure or cancellation. Includes only one of the fields The operation result. |
response |
The normal response of the operation in case of success. Includes only one of the fields The operation result. |
CreateSnapshotMetadata
Field |
Description |
snapshot_id |
string ID of the snapshot that is being created. |
disk_id |
string ID of the source disk used to create this snapshot. |
Snapshot
A Snapshot resource. For more information, see Snapshots.
Field |
Description |
id |
string ID of the snapshot. |
folder_id |
string ID of the folder that the snapshot belongs to. |
created_at |
|
name |
string Name of the snapshot. 1-63 characters long. |
description |
string Description of the snapshot. 0-256 characters long. |
labels |
object (map<string, string>) Resource labels as |
storage_size |
int64 Size of the snapshot, specified in bytes. |
disk_size |
int64 Size of the disk when the snapshot was created, specified in bytes. |
product_ids[] |
string License IDs that indicate which licenses are attached to this resource. The correct license ID is generated by the platform. IDs are inherited by new resources created from this resource. If you know the license IDs, specify them when you create the image. |
status |
enum Status Current status of the snapshot.
|
source_disk_id |
string ID of the source disk used to create this snapshot. |
hardware_generation |
If specified, forces the same HardwareGeneration features to be applied to the instance |
kms_key |
Key encryption key info. |
HardwareGeneration
A set of features, specific to a particular Compute hardware generation.
They are not necessary supported by every host OS or distro, thus they are fixed to an image
and are applied to all instances created with it as their boot disk image.
These features significantly determine how the instance is created, thus cannot be changed after the fact.
Field |
Description |
legacy_features |
Includes only one of the fields |
generation2_features |
Includes only one of the fields |
LegacyHardwareFeatures
A first hardware generation, by default compatible with all legacy images.
Allows switching to PCI_TOPOLOGY_V2 and back.
Field |
Description |
pci_topology |
enum PCITopology
|
Generation2HardwareFeatures
A second hardware generation, which by default assumes PCI_TOPOLOGY_V2
and UEFI boot (with UEFI related features).
Field |
Description |
Empty |
KMSKey
Field |
Description |
key_id |
string ID of KMS symmetric key |
version_id |
string Version of KMS symmetric key |