Snapshot

Snapshot

A Snapshot object allows you to interact with a Google Compute Engine snapshot.

Constructor

new Snapshot(scope, name)

Parameters:
Name Type Description
scope Compute | Disk

The parent scope this snapshot belongs to. If it's a Disk, we expose the create methods.

name string

Snapshot name.

See:
Example
const Compute = require('@google-cloud/compute');
const compute = new Compute();
const snapshot = compute.snapshot('snapshot-name');

//-
// Or, access through a disk.
//-
const disk = compute.zone('us-central1-a').disk('disk-name');
const snapshot = disk.snapshot('disk-snapshot-name');

Members

compute :Compute

id :string

name :string

Methods

create(config)

Create a snapshot.

This is only available if you accessed this object through Disk#snapshot.

Parameters:
Name Type Description
config object

See Disk#createSnapshot.

Example
const Compute = require('@google-cloud/compute');
const compute = new Compute();
const snapshot = compute.snapshot('snapshot-name');

snapshot.create(function(err, snapshot, operation, apiResponse) {
  // `snapshot` is a Snapshot object.

  // `operation` is an Operation object that can be used to check the
  // status of the request.
});

//-
// If the callback is omitted, we'll return a Promise.
//-
snapshot.create().then(function(data) {
  const snapshot = data[0];
  const operation = data[1];
  const apiResponse = data[2];
});

delete(callbackopt)

Delete the snapshot.

Parameters:
Name Type Attributes Description
callback function <optional>

The callback function.

Properties
Name Type Attributes Description
err error <nullable>

An error returned while making this request.

operation Operation

An operation object that can be used to check the status of the request.

apiResponse object

The full API response.

See:
Example
const Compute = require('@google-cloud/compute');
const compute = new Compute();
const snapshot = compute.snapshot('snapshot-name');

snapshot.delete(function(err, operation, apiResponse) {
  // `operation` is an Operation object that can be used to check the status
  // of the request.
});

//-
// If the callback is omitted, we'll return a Promise.
//-
snapshot.delete().then(function(data) {
  const operation = data[0];
  const apiResponse = data[1];
});

exists(callback)

Check if the snapshot exists.

Parameters:
Name Type Description
callback function

The callback function.

Properties
Name Type Attributes Description
err error <nullable>

An error returned while making this request.

exists boolean

Whether the snapshot exists or not.

Example
const Compute = require('@google-cloud/compute');
const compute = new Compute();
const snapshot = compute.snapshot('snapshot-name');

snapshot.exists(function(err, exists) {});

get(optionsopt)

Get a snapshot if it exists.

If you access this snapshot through a Disk object, this can be used as a "get or create" method. Pass an object with autoCreate set to true. Any extra configuration that is normally required for the create method must be contained within this object as well.

Parameters:
Name Type Attributes Description
options options <optional>

Configuration object.

Properties
Name Type Description
autoCreate boolean

Automatically create the object if it does not exist. Default: false

Example
const Compute = require('@google-cloud/compute');
const compute = new Compute();
const snapshot = compute.snapshot('snapshot-name');

snapshot.get(function(err, snapshot, apiResponse) {
  // `snapshot` is a Snapshot object.
});

//-
// If the callback is omitted, we'll return a Promise.
//-
snapshot.get().then(function(data) {
  const snapshot = data[0];
  const apiResponse = data[1];
});

getMetadata(callbackopt)

Get the snapshot's metadata.

Parameters:
Name Type Attributes Description
callback function <optional>

The callback function.

Properties
Name Type Attributes Description
err error <nullable>

An error returned while making this request.

metadata object

The snapshot's metadata.

apiResponse object

The full API response.

See:
Example
const Compute = require('@google-cloud/compute');
const compute = new Compute();
const snapshot = compute.snapshot('snapshot-name');

snapshot.getMetadata(function(err, metadata, apiResponse) {});

//-
// If the callback is omitted, we'll return a Promise.
//-
snapshot.getMetadata().then(function(data) {
  const metadata = data[0];
  const apiResponse = data[1];
});