Skip to main content

instant_snapshots

Creates, updates, deletes, gets or lists an instant_snapshots resource.

Overview

Nameinstant_snapshots
TypeResource
Idgoogle.compute.instant_snapshots

Fields

The following fields are returned by SELECT queries:

Successful response

NameDatatypeDescription
idstring (uint64)[Output Only] The unique identifier for the resource. This identifier is defined by the server.
namestringName of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. (pattern: a-z?)
architecturestring[Output Only] The architecture of the instant snapshot. Valid values are ARM64 or X86_64.
creationTimestampstring[Output Only] Creation timestamp in RFC3339 text format.
descriptionstringAn optional description of this resource. Provide this property when you create the resource.
diskSizeGbstring (int64)[Output Only] Size of the source disk, specified in GB.
kindstring[Output Only] Type of the resource. Always compute#instantSnapshot for InstantSnapshot resources. (default: compute#instantSnapshot)
labelFingerprintstring (byte)A fingerprint for the labels being applied to this InstantSnapshot, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a InstantSnapshot.
labelsobjectLabels to apply to this InstantSnapshot. These can be later modified by the setLabels method. Label values may be empty.
regionstring[Output Only] URL of the region where the instant snapshot resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
resourceStatusobject[Output Only] Status information for the instant snapshot resource. (id: InstantSnapshotResourceStatus)
satisfiesPzibooleanOutput only. Reserved for future use.
satisfiesPzsboolean[Output Only] Reserved for future use.
selfLinkstring[Output Only] Server-defined URL for the resource.
selfLinkWithIdstring[Output Only] Server-defined URL for this resource's resource id.
sourceDiskstringURL of the source disk used to create this instant snapshot. Note that the source disk must be in the same zone/region as the instant snapshot to be created. This can be a full or valid partial URL. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk
sourceDiskIdstring[Output Only] The ID value of the disk used to create this InstantSnapshot. This value may be used to determine whether the InstantSnapshot was taken from the current or a previous instance of a given disk name.
statusstring[Output Only] The status of the instantSnapshot. This can be CREATING, DELETING, FAILED, or READY.
zonestring[Output Only] URL of the zone where the instant snapshot resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.

Methods

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
getselectproject, region, instantSnapshotReturns the specified InstantSnapshot resource in the specified region.
listselectproject, regionfilter, maxResults, orderBy, pageToken, returnPartialSuccessRetrieves the list of InstantSnapshot resources contained within the specified region.
aggregated_listselectprojectfilter, includeAllScopes, maxResults, orderBy, pageToken, returnPartialSuccess, serviceProjectNumberRetrieves an aggregated list of instantSnapshots. To prevent failure, Google recommends that you set the returnPartialSuccess parameter to true.
insertinsertproject, regionrequestIdCreates an instant snapshot in the specified region.
deletedeleteproject, region, instantSnapshotrequestIdDeletes the specified InstantSnapshot resource. Keep in mind that deleting a single instantSnapshot might not necessarily delete all the data on that instantSnapshot. If any data on the instantSnapshot that is marked for deletion is needed for subsequent instantSnapshots, the data will be moved to the next corresponding instantSnapshot. For more information, see Deleting instantSnapshots.
set_labelsexecproject, region, resourcerequestIdSets the labels on a instantSnapshot in the given region. To learn more about labels, read the Labeling Resources documentation.

Parameters

Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.

NameDatatypeDescription
instantSnapshotstring
projectstring
regionstring
resourcestring
filterstring
includeAllScopesboolean
maxResultsinteger (uint32)
orderBystring
pageTokenstring
requestIdstring
returnPartialSuccessboolean
serviceProjectNumberstring (int64)

SELECT examples

Returns the specified InstantSnapshot resource in the specified region.

SELECT
id,
name,
architecture,
creationTimestamp,
description,
diskSizeGb,
kind,
labelFingerprint,
labels,
region,
resourceStatus,
satisfiesPzi,
satisfiesPzs,
selfLink,
selfLinkWithId,
sourceDisk,
sourceDiskId,
status,
zone
FROM google.compute.instant_snapshots
WHERE project = '{{ project }}' -- required
AND region = '{{ region }}' -- required
AND instantSnapshot = '{{ instantSnapshot }}' -- required;

INSERT examples

Creates an instant snapshot in the specified region.

INSERT INTO google.compute.instant_snapshots (
data__kind,
data__id,
data__creationTimestamp,
data__name,
data__description,
data__status,
data__sourceDisk,
data__sourceDiskId,
data__diskSizeGb,
data__selfLink,
data__selfLinkWithId,
data__labels,
data__labelFingerprint,
data__zone,
data__region,
data__satisfiesPzs,
data__architecture,
data__resourceStatus,
project,
region,
requestId
)
SELECT
'{{ kind }}',
'{{ id }}',
'{{ creationTimestamp }}',
'{{ name }}',
'{{ description }}',
'{{ status }}',
'{{ sourceDisk }}',
'{{ sourceDiskId }}',
'{{ diskSizeGb }}',
'{{ selfLink }}',
'{{ selfLinkWithId }}',
'{{ labels }}',
'{{ labelFingerprint }}',
'{{ zone }}',
'{{ region }}',
{{ satisfiesPzs }},
'{{ architecture }}',
'{{ resourceStatus }}',
'{{ project }}',
'{{ region }}',
'{{ requestId }}'
RETURNING
id,
name,
clientOperationId,
creationTimestamp,
description,
endTime,
error,
httpErrorMessage,
httpErrorStatusCode,
insertTime,
instancesBulkInsertOperationMetadata,
kind,
operationGroupId,
operationType,
progress,
region,
selfLink,
setCommonInstanceMetadataOperationMetadata,
startTime,
status,
statusMessage,
targetId,
targetLink,
user,
warnings,
zone
;

DELETE examples

Deletes the specified InstantSnapshot resource. Keep in mind that deleting a single instantSnapshot might not necessarily delete all the data on that instantSnapshot. If any data on the instantSnapshot that is marked for deletion is needed for subsequent instantSnapshots, the data will be moved to the next corresponding instantSnapshot. For more information, see Deleting instantSnapshots.

DELETE FROM google.compute.instant_snapshots
WHERE project = '{{ project }}' --required
AND region = '{{ region }}' --required
AND instantSnapshot = '{{ instantSnapshot }}' --required
AND requestId = '{{ requestId }}';

Lifecycle Methods

Sets the labels on a instantSnapshot in the given region. To learn more about labels, read the Labeling Resources documentation.

EXEC google.compute.instant_snapshots.set_labels 
@project='{{ project }}' --required,
@region='{{ region }}' --required,
@resource='{{ resource }}' --required,
@requestId='{{ requestId }}'
@@json=
'{
"labels": "{{ labels }}",
"labelFingerprint": "{{ labelFingerprint }}"
}';