Compute

Compute

new Compute(optionsopt)

Parameters:
Name Type Attributes Description
options ClientConfig <optional>

Configuration options.

See:
Examples

Create a client that uses Application Default Credentials (ADC)

const Compute = require('@google-cloud/compute');
const compute = new Compute();

Create a client with explicit credentials

const Compute = require('@google-cloud/compute');
const compute = new Compute({
  projectId: 'your-project-id',
  keyFilename: '/path/to/keyfile.json'
});

Members

(static) Firewall :constructor

Firewall class.

See:

(static) HealthCheck :constructor

HealthCheck class.

See:

(static) Image :constructor

Image class.

See:

(static) Network :constructor

Network class.

See:

(static) Operation :constructor

Operation class.

See:

(static) Project :constructor

Project class.

See:

(static) Region :constructor

Region class.

See:

(static) Rule :constructor

Rule class.

See:

(static) Service :constructor

Service class.

See:

(static) Snapshot :constructor

Snapshot class.

See:

(static) Zone :constructor

Zone class.

See:

getAddressesStream

Get a list of Address objects as a readable object stream.

Example
gce.getAddressesStream()
  .on('error', console.error)
  .on('data', function(address) {
    // `address` is an `Address` object.
  })
  .on('end', function() {
    // All addresses retrieved.
  });

//-
// If you anticipate many results, you can end a stream early to prevent
// unnecessary processing and API requests.
//-
gce.getAddressesStream()
  .on('data', function(address) {
    this.end();
  });

getAutoscalersStream

Get a list of Autoscaler objects as a readable object stream.

Example
gce.getAutoscalersStream()
  .on('error', console.error)
  .on('data', function(autoscaler) {
    // `autoscaler` is an `Autoscaler` object.
  })
  .on('end', function() {
    // All addresses retrieved.
  });

//-
// If you anticipate many results, you can end a stream early to prevent
// unnecessary processing and API requests.
//-
gce.getAutoscalersStream()
  .on('data', function(address) {
    this.end();
  });

Methods

createFirewall(name, config, callback)

Create a firewall.

Parameters:
Name Type Description
name string

Name of the firewall.

config object

See a Firewall resource.

Properties
Name Type Description
protocols object

A map of protocol to port range. The keys of the object refer to a protocol (e.g. tcp, udp) and the value for the key are the ports/port-ranges that are allowed to make a connection. If a true value, that means all ports on that protocol will be opened. If false, all traffic on that protocol will be blocked.

ranges Array.<string>

The IP address blocks that this rule applies to, expressed in CIDR format.

tags Array.<string>

Instance tags which this rule applies to.

callback function

The callback function.

Properties
Name Type Attributes Description
err error <nullable>

An error returned while making this request.

firewall Firewall

The created Firewall object.

operation Operation

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

apiResponse object

The full API response.

See:
Throws:
  • if a name is not provided.

    Type
    Error
  • if a config object is not provided.

    Type
    Error
Example
var config = {
  protocols: {
    tcp: [3000],
    udp: [] // An empty array means all ports are allowed.
  },

  ranges: ['0.0.0.0/0']
};

function callback(err, firewall, operation, apiResponse) {
  // `firewall` is a Firewall object.

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

gce.createFirewall('new-firewall-name', config, callback);

//-
// If the callback is omitted, we'll return a Promise.
//-
gce.createFirewall('new-firewall-name', config).then(function(data) {
  var firewall = data[0];
  var operation = data[1];
  var apiResponse = data[2];
});

createHealthCheck(name, optionsopt, callbackopt)

Create an HTTP or HTTPS health check.

Parameters:
Name Type Attributes Description
name string

Name of the HTTP or HTTPS health check to create.

options object <optional>

See a HttpHealthCheck resource and HttpsHealthCheck resource.

Properties
Name Type Description
https boolean

Create an HTTPs health check. Default: false.

interval number

How often (in seconds) to send a health check. The default value is 5 seconds. (Alias for options.checkIntervalSec)

timeout number

How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for this value to be greater than checkIntervalSec. (Alias for options.timeoutSec)

callback function <optional>

The callback function.

Properties
Name Type Attributes Description
err error <nullable>

An error returned while making this request.

healthCheck HealthCheck

The created HealthCheck object.

operation Operation

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

apiResponse object

The full API response.

See:
Example
function callback(err, healthCheck, operation, apiResponse) {
  // `healthCheck` is a HealthCheck object.

  // `operation` is an Operation object that can be used to check the status
  // of network creation.
}

gce.createHealthCheck('new-health-check-name', callback);

//-
// If the callback is omitted, we'll return a Promise.
//-
gce.createHealthCheck('new-health-check-name').then(function(data) {
  var healthCheck = data[0];
  var operation = data[1];
  var apiResponse = data[2];
});

createImage(name, disk, optionsopt, callback)

Create an image from a disk.

Parameters:
Name Type Attributes Description
name string

The name of the target image.

disk Disk

The source disk to create the image from.

options object <optional>

See the Images: insert API documentation.

callback function

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 zone = compute.zone('us-central1-a');
const disk = zone.disk('disk1');

compute.createImage('new-image', disk, function(err, operation, apiResponse) {
  // `operation` is an Operation object that can be used to check the status
  // of network creation.
});

//-
// If the callback is omitted, we'll return a Promise.
//-
compute.createImage('new-image', disk).then(function(data) {
  var operation = data[0];
  var apiResponse = data[1];
});

createNetwork(name, config, callbackopt)

Create a network.

Parameters:
Name Type Attributes Description
name string

Name of the network.

config object

See a Network resource.

Properties
Name Type Description
gateway string

A gateway address for default routing to other networks. (Alias for config.gatewayIPv4)

range string

CIDR range of addresses that are legal on this network. (Alias for config.IPv4Range)

callback function <optional>

The callback function.

Properties
Name Type Attributes Description
err error <nullable>

An error returned while making this request.

network Network

The created Network object.

operation Operation

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

apiResponse object

The full API response.

See:
Example
var config = {
  range: '10.240.0.0/16'
};

function callback(err, network, operation, apiResponse) {
  // `network` is a Network object.

  // `operation` is an Operation object that can be used to check the status
  // of network creation.
}

gce.createNetwork('new-network', config, callback);

//-
// If the callback is omitted, we'll return a Promise.
//-
gce.createNetwork('new-network', config).then(function(data) {
  var network = data[0];
  var operation = data[1];
  var apiResponse = data[2];
});

createRule(name, config, callback)

Create a global forwarding rule.

Parameters:
Name Type Description
name string

Name of the rule.

config object

See a GlobalForwardingRule resource.

Properties
Name Type Attributes Description
ip string <optional>

The single IP address this forwarding rule will match against. All traffic that matches the IP address, protocol, and ports of this forwarding rule will be handled by this rule. If specified, the IP address must be a static external IP address. To create a new ephemeral external IP address for the forwarding rule, leave this field empty. (Alias for config.IPAddress)

protocol string <optional>

The type of protocol that this forwarding rule matches. Valid values are AH, ESP, SCTP, TCP, UDP. Default: TCP. (Alias for config.IPProtocol)

range string <optional>

A single port or single contiguous port range, ranging from low to high for which this forwarding rule matches. Packets of the specified protocol sent to these ports will be forwarded on to the appropriate target pool or target instance. If this field is left empty, then the forwarding matches traffic for all ports for the specified protocol. (Alias for config.portRange)

target string

The full or valid partial URL of the target resource to receive the matched traffic. This target must be a global TargetHttpProxy or TargetHttpsProxy resource.

callback function

The callback function.

Properties
Name Type Attributes Description
err error <nullable>

An error returned while making this request.

rule Rule

The created Rule object.

operation Operation

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

apiResponse object

The full API response.

See:
Example
var name = 'new-rule-name';

var config = {
  target: 'global/targetHttpProxies/my-proxy',
  range: '8080-8089'
};

gce.createRule(name, config, function (err, rule, operation, apiResponse) {
  // `rule` is a Rule 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.
//-
gce.createRule(name, config).then(function(data) {
  var rule = data[0];
  var operation = data[1];
  var apiResponse = data[2];
});

createService(name, config, callbackopt)

Create a backend service.

Parameters:
Name Type Attributes Description
name string

Name of the backend service.

config object

See a BackendService resource.

callback function <optional>

The callback function.

Properties
Name Type Attributes Description
err error <nullable>

An error returned while making this request.

service Service

The created Service object.

operation Operation

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

apiResponse object

The full API response.

See:
Example
var config = {
  backends: [
    {
      group: 'URL of an Instance Group resource'
    }
  ],
  healthChecks: [
    'URL of an HTTP/HTTPS health check resource'
  ]
};

function callback(err, service, operation, apiResponse) {
  // `service` is a Service object.

  // `operation` is an Operation object that can be used to check the status
  // of network creation.
}

gce.createService('new-service', config, callback);

//-
// If the callback is omitted, we'll return a Promise.
//-
gce.createService('new-service', config).then(function(data) {
  var service = data[0];
  var operation = data[1];
  var apiResponse = data[2];
});

execAfterOperation_() → (nullable) {function|error|object}

Register a single callback that will wait for an operation to finish before being executed.

firewall(name) → {Firewall}

Get a reference to a Google Compute Engine firewall.

See Network#firewall to get a Firewall object for a specific network.

Parameters:
Name Type Description
name string

Name of the firewall.

See:
Example
var firewall = gce.firewall('firewall-name');

getAddresses(optionsopt, callback)

Get a list of addresses. For a detailed description of method's options see API reference.

Parameters:
Name Type Attributes Description
options object <optional>

Address search options.

Properties
Name Type Description
autoPaginate boolean

Have pagination handled automatically. Default: true.

filter string

Search filter in the format of {name} {comparison} {filterString}. - name: the name of the field to compare - comparison: the comparison operator, eq (equal) or ne (not equal) - filterString: the string to filter to. For string fields, this can be a regular expression.

maxApiCalls number

Maximum number of API calls to make.

maxResults number

Maximum number of addresses to return.

pageToken string

A previously-returned page token representing part of the larger set of results to view.

callback function

The callback function.

Properties
Name Type Attributes Description
err error <nullable>

An error returned while making this request.

addresses Array.<Address>

Address objects from your project.

apiResponse object

The full API response.

See:
Example
gce.getAddresses(function(err, addresses) {
  // addresses is an array of `Address` objects.
});

//-
// To control how many API requests are made and page through the results
// manually, set `autoPaginate` to `false`.
//-
function callback(err, addresses, nextQuery, apiResponse) {
  if (nextQuery) {
    // More results exist.
    gce.getAddresses(nextQuery, callback);
  }
}

gce.getAddresses({
  autoPaginate: false
}, callback);

//-
// If the callback is omitted, we'll return a Promise.
//-
gce.getAddresses().then(function(data) {
  var addresses = data[0];
});

getAutoscalers(optionsopt, callback)

Get a list of autoscalers. For a detailed description of this method's options, see the API reference.

Parameters:
Name Type Attributes Description
options object <optional>

Address search options.

Properties
Name Type Description
autoPaginate boolean

Have pagination handled automatically. Default: true.

filter string

Search filter in the format of {name} {comparison} {filterString}. - name: the name of the field to compare - comparison: the comparison operator, eq (equal) or ne (not equal) - filterString: the string to filter to. For string fields, this can be a regular expression.

maxApiCalls number

Maximum number of API calls to make.

maxResults number

Maximum number of addresses to return.

pageToken string

A previously-returned page token representing part of the larger set of results to view.

callback function

The callback function.

Properties
Name Type Attributes Description
err error <nullable>

An error returned while making this request.

autoscalers Array.<Autoscaler>

Autoscaler objects from your project.

apiResponse object

The full API response.

See:
Example
gce.getAutoscalers(function(err, autoscalers) {
  // autoscalers is an array of `Autoscaler` objects.
});

//-
// To control how many API requests are made and page through the results
// manually, set `autoPaginate` to `false`.
//-
function callback(err, autoscalers, nextQuery, apiResponse) {
  if (nextQuery) {
    // More results exist.
    gce.getAutoscalers(nextQuery, callback);
  }
}

gce.getAutoscalers({
  autoPaginate: false
}, callback);

//-
// If the callback is omitted, we'll return a Promise.
//-
gce.getAutoscalers().then(function(data) {
  var autoscalers = data[0];
});

getDisks(optionsopt, callback)

Get a list of disks.

Parameters:
Name Type Attributes Description
options object <optional>

Disk search options.

Properties
Name Type Description
autoPaginate boolean

Have pagination handled automatically. Default: true.

filter string

Search filter in the format of {name} {comparison} {filterString}. - name: the name of the field to compare - comparison: the comparison operator, eq (equal) or ne (not equal) - filterString: the string to filter to. For string fields, this can be a regular expression.

maxApiCalls number

Maximum number of API calls to make.

maxResults number

Maximum number of disks to return.

pageToken string

A previously-returned page token representing part of the larger set of results to view.

callback function

The callback function.

Properties
Name Type Attributes Description
err error <nullable>

An error returned while making this request.

disks Array.<Disk>

Disk objects from your project.

apiResponse object

The full API response.

See:
Example
gce.getDisks(function(err, disks) {
  // `disks` is an array of `Disk` objects.
});

//-
// To control how many API requests are made and page through the results
// manually, set `autoPaginate` to `false`.
//-
function callback(err, disks, nextQuery, apiResponse) {
  if (nextQuery) {
    // More results exist.
    gce.getDisks(nextQuery, callback);
  }
}

gce.getDisks({
  autoPaginate: false
}, callback);

//-
// If the callback is omitted, we'll return a Promise.
//-
gce.getDisks().then(function(data) {
  var disks = data[0];
});

getDisksStream(optionsopt) → {stream}

Get a list of Disk objects as a readable object stream.

Parameters:
Name Type Attributes Description
options object <optional>

Configuration object. See Compute#getDisks for a complete list of options.

Example
gce.getDisksStream()
  .on('error', console.error)
  .on('data', function(disk) {
    // `disk` is a `Disk` object.
  })
  .on('end', function() {
    // All disks retrieved.
  });

//-
// If you anticipate many results, you can end a stream early to prevent
// unnecessary processing and API requests.
//-
gce.getDisksStream()
  .on('data', function(disk) {
    this.end();
  });

getFirewalls(optionsopt, callback)

Get a list of firewalls.

Parameters:
Name Type Attributes Description
options object <optional>

Firewall search options.

Properties
Name Type Description
autoPaginate boolean

Have pagination handled automatically. Default: true.

filter string

Search filter in the format of {name} {comparison} {filterString}. - name: the name of the field to compare - comparison: the comparison operator, eq (equal) or ne (not equal) - filterString: the string to filter to. For string fields, this can be a regular expression.

maxApiCalls number

Maximum number of API calls to make.

maxResults number

Maximum number of firewalls to return.

pageToken string

A previously-returned page token representing part of the larger set of results to view.

callback function

The callback function.

Properties
Name Type Attributes Description
err error <nullable>

An error returned while making this request.

firewalls Array.<Firewall>

Firewall objects from your project.

apiResponse object

The full API response.

See:
Example
gce.getFirewalls(function(err, firewalls) {
  // `firewalls` is an array of `Firewall` objects.
});

//-
// To control how many API requests are made and page through the results
// manually, set `autoPaginate` to `false`.
//-
function callback(err, firewalls, nextQuery, apiResponse) {
  if (nextQuery) {
    // More results exist.
    gce.getFirewalls(nextQuery, callback);
  }
}

gce.getFirewalls({
  autoPaginate: false
}, callback);

gce.getFirewalls().then(function(data) {
  var firewalls = data[0];
});

getFirewallsStream(queryopt) → {stream}

Get a list of Firewall objects as a readable object stream.

Parameters:
Name Type Attributes Description
query object <optional>

Configuration object. See Compute#getFirewalls for a complete list of options.

Example
gce.getFirewallsStream()
  .on('error', console.error)
  .on('data', function(firewall) {
    // `firewall` is a `Firewall` object.
  })
  .on('end', function() {
    // All firewalls retrieved.
  });

//-
// If you anticipate many results, you can end a stream early to prevent
// unnecessary processing and API requests.
//-
gce.getFirewallsStream()
  .on('data', function(firewall) {
    this.end();
  });

getHealthChecks(optionsopt, callback)

Get a list of health checks.

Parameters:
Name Type Attributes Description
options object <optional>

Health check search options.

Properties
Name Type Description
autoPaginate boolean

Have pagination handled automatically. Default: true.

filter string

Search filter in the format of {name} {comparison} {filterString}. - name: the name of the field to compare - comparison: the comparison operator, eq (equal) or ne (not equal) - filterString: the string to filter to. For string fields, this can be a regular expression.

https boolean

List only HTTPs health checks. Default: false.

maxApiCalls number

Maximum number of API calls to make.

maxResults number

Maximum number of networks to return.

pageToken string

A previously-returned page token representing part of the larger set of results to view.

callback function

The callback function.

Properties
Name Type Attributes Description
err error <nullable>

An error returned while making this request.

healthChecks Array.<HealthCheck>

HealthCheck objects from your project.

apiResponse object

The full API response.

See:
Example
gce.getHealthChecks(function(err, healthChecks) {
  // `healthChecks` is an array of `HealthCheck` objects.
});

//-
// To control how many API requests are made and page through the results
// manually, set `autoPaginate` to `false`.
//-
function callback(err, healthChecks, nextQuery, apiResponse) {
  if (nextQuery) {
    // More results exist.
    gce.getHealthChecks(nextQuery, callback);
  }
}

gce.getHealthChecks({
  autoPaginate: false
}, callback);

gce.getHealthChecks().then(function(data) {
  var healthChecks = data[0];
});

getHealthChecksStream(optionsopt) → {stream}

Get a list of HealthCheck objects as a readable object stream.

Parameters:
Name Type Attributes Description
options object <optional>

Configuration object. See Compute#getHealthChecks for a complete list of options.

Example
gce.getHealthChecksStream()
  .on('error', console.error)
  .on('data', function(healthCheck) {
    // `healthCheck` is a `HealthCheck` object.
  })
  .on('end', function() {
    // All health checks retrieved.
  });

//-
// If you anticipate many results, you can end a stream early to prevent
// unnecessary processing and API requests.
//-
gce.getHealthChecksStream()
  .on('data', function(healthCheck) {
    this.end();
  });

getImages(optionsopt, callback)

Get a list of images.

Parameters:
Name Type Attributes Description
options object <optional>

Image search options.

Properties
Name Type Description
autoPaginate boolean

Have pagination handled automatically. Default: true.

filter string

Search filter in the format of {name} {comparison} {filterString}. - name: the name of the field to compare - comparison: the comparison operator, eq (equal) or ne (not equal) - filterString: the string to filter to. For string fields, this can be a regular expression.

maxApiCalls number

Maximum number of API calls to make.

maxResults number

Maximum number of images to return.

pageToken string

A previously-returned page token representing part of the larger set of results to view.

callback function

The callback function.

Properties
Name Type Attributes Description
err error <nullable>

An error returned while making this request.

images Array.<Image>

Image objects from your project.

apiResponse object

The full API response.

See:
Example
gce.getImages(function(err, images) {
  // `images` is an array of `Image` objects.
});

//-
// To control how many API requests are made and page through the results
// manually, set `autoPaginate` to `false`.
//-
function callback(err, images, nextQuery, apiResponse) {
  if (nextQuery) {
    // More results exist.
    gce.getImages(nextQuery, callback);
  }
}

gce.getImages({
  autoPaginate: false
}, callback);

gce.getImages().then(function(data) {
  var images = data[0];
});

getImagesStream(queryopt) → {stream}

Get a list of Image objects as a readable object stream.

Parameters:
Name Type Attributes Description
query object <optional>

Configuration object. See Compute#getImages for a complete list of options.

Example
gce.getImagesStream()
  .on('error', console.error)
  .on('data', function(image) {
    // `image` is an `Image` object.
  })
  .on('end', function() {
    // All images retrieved.
  });

//-
// If you anticipate many results, you can end a stream early to prevent
// unnecessary processing and API requests.
//-
gce.getImagesStream()
  .on('data', function(image) {
    this.end();
  });

getInstanceGroups(optionsopt, callback)

Get a list of instance groups.

Parameters:
Name Type Attributes Description
options object <optional>

Instance group search options.

Properties
Name Type Description
autoPaginate boolean

Have pagination handled automatically. Default: true.

filter string

Search filter in the format of {name} {comparison} {filterString}. - name: the name of the field to compare - comparison: the comparison operator, eq (equal) or ne (not equal) - filterString: the string to filter to. For string fields, this can be a regular expression.

maxApiCalls number

Maximum number of API calls to make.

maxResults number

Maximum number of instance groups to return.

pageToken string

A previously-returned page token representing part of the larger set of results to view.

callback function

The callback function.

Properties
Name Type Attributes Description
err error <nullable>

An error returned while making this request.

instanceGroups Array.<InstanceGroup>

InstanceGroup objects from your project.

apiResponse object

The full API response.

See:
Example
gce.getInstanceGroups(function(err, instanceGroups) {
  // `instanceGroups` is an array of `InstanceGroup` objects.
});

//-
// To control how many API requests are made and page through the results
// manually, set `autoPaginate` to `false`.
//-
function callback(err, instanceGroups, nextQuery, apiResponse) {
  if (nextQuery) {
    // More results exist.
    gce.getInstanceGroups(nextQuery, callback);
  }
}

gce.getInstanceGroups({
  autoPaginate: false
}, callback);

//-
// If the callback is omitted, we'll return a Promise.
//-
gce.getInstanceGroups().then(function(data) {
  var instanceGroups = data[0];
});

getInstanceGroupsStream(optionsopt) → {stream}

Get a list of InstanceGroup objects as a readable object stream.

Parameters:
Name Type Attributes Description
options object <optional>

Configuration object. See Compute#getInstanceGroups for a complete list of options.

Example
gce.getInstanceGroupsStream()
  .on('error', console.error)
  .on('data', function(instanceGroup) {
    // `instanceGroup` is an `InstanceGroup` object.
  })
  .on('end', function() {
    // All instance groups retrieved.
  });

//-
// If you anticipate many results, you can end a stream early to prevent
// unnecessary processing and API requests.
//-
gce.getInstanceGroupsStream()
  .on('data', function(instanceGroup) {
    this.end();
  });

getMachineTypes(optionsopt, callback)

Get a list of machine types in this project.

Parameters:
Name Type Attributes Description
options object <optional>

Machine type search options.

Properties
Name Type Description
autoPaginate boolean

Have pagination handled automatically. Default: true.

filter string

Search filter in the format of {name} {comparison} {filterString}. - name: the name of the field to compare - comparison: the comparison operator, eq (equal) or ne (not equal) - filterString: the string to filter to. For string fields, this can be a regular expression.

maxApiCalls number

Maximum number of API calls to make.

maxResults number

Maximum number of machineTypes to return.

pageToken string

A previously-returned page token representing part of the larger set of results to view.

callback function

The callback function.

Properties
Name Type Attributes Description
err error <nullable>

An error returned while making this request.

machineTypes Array.<MachineType>

MachineType objects from your project.

apiResponse object

The full API response.

See:
Example
gce.getMachineTypes(function(err, machineTypes) {
  // `machineTypes` is an array of `MachineType` objects.
});

//-
// To control how many API requests are made and page through the results
// manually, set `autoPaginate` to `false`.
//-
function callback(err, machineTypes, nextQuery, apiResponse) {
  if (nextQuery) {
    // More results exist.
    gce.getMachineTypes(nextQuery, callback);
  }
}

gce.getMachineTypes({
  autoPaginate: false
}, callback);

//-
// If the callback is omitted, we'll return a Promise.
//-
gce.getMachineTypes().then(function(data) {
  var machineTypes = data[0];
});

getMachineTypesStream(optionsopt) → {stream}

Get a list of MachineType objects in this project as a readable object stream.

Parameters:
Name Type Attributes Description
options object <optional>

Configuration object. See Compute#getMachineTypes for a complete list of options.

Example
gce.getMachineTypesStream()
  .on('error', console.error)
  .on('data', function(machineType) {
    // `machineType` is a `MachineType` object.
  })
  .on('end', function() {
    // All machine types retrieved.
  });

//-
// If you anticipate many results, you can end a stream early to prevent
// unnecessary processing and API requests.
//-
gce.getMachineTypesStream()
  .on('data', function(machineType) {
    this.end();
  });

getNetworks(optionsopt, callback)

Get a list of networks.

Parameters:
Name Type Attributes Description
options object <optional>

Network search options.

Properties
Name Type Description
autoPaginate boolean

Have pagination handled automatically. Default: true.

filter string

Search filter in the format of {name} {comparison} {filterString}. - name: the name of the field to compare - comparison: the comparison operator, eq (equal) or ne (not equal) - filterString: the string to filter to. For string fields, this can be a regular expression.

maxApiCalls number

Maximum number of API calls to make.

maxResults number

Maximum number of networks to return.

pageToken string

A previously-returned page token representing part of the larger set of results to view.

callback function

The callback function.

Properties
Name Type Attributes Description
err error <nullable>

An error returned while making this request.

networks Array.<Network>

Network objects from your project.

apiResponse object

The full API response.

See:
Example
gce.getNetworks(function(err, networks) {
  // `networks` is an array of `Network` objects.
});

//-
// To control how many API requests are made and page through the results
// manually, set `autoPaginate` to `false`.
//-
function callback(err, networks, nextQuery, apiResponse) {
  if (nextQuery) {
    // More results exist.
    gce.getNetworks(nextQuery, callback);
  }
}

gce.getNetworks({
  autoPaginate: false
}, callback);

//-
// If the callback is omitted, we'll return a Promise.
//-
gce.getNetworks().then(function(data) {
  var networks = data[0];
});

getNetworksStream(optionsopt) → {stream}

Get a list of Network objects as a readable object stream.

Parameters:
Name Type Attributes Description
options object <optional>

Configuration object. See Compute#getNetworks for a complete list of options.

Example
gce.getNetworksStream()
  .on('error', console.error)
  .on('data', function(network) {
    // `network` is a `Network` object.
  })
  .on('end', function() {
    // All networks retrieved.
  });

//-
// If you anticipate many results, you can end a stream early to prevent
// unnecessary processing and API requests.
//-
gce.getNetworksStream()
  .on('data', function(network) {
    this.end();
  });

getOperations(optionsopt, callback)

Get a list of global operations.

Parameters:
Name Type Attributes Description
options object <optional>

Operation search options.

Properties
Name Type Description
autoPaginate boolean

Have pagination handled automatically. Default: true.

filter string

Search filter in the format of {name} {comparison} {filterString}. - name: the name of the field to compare - comparison: the comparison operator, eq (equal) or ne (not equal) - filterString: the string to filter to. For string fields, this can be a regular expression.

maxApiCalls number

Maximum number of API calls to make.

maxResults number

Maximum number of operations to return.

pageToken string

A previously-returned page token representing part of the larger set of results to view.

callback function

The callback function.

Properties
Name Type Attributes Description
err error <nullable>

An error returned while making this request.

operations Array.<Operation>

Operation objects from your project.

apiResponse object

The full API response.

See:
Example
gce.getOperations(function(err, operations) {
  // `operations` is an array of `Operation` objects.
});

//-
// To control how many API requests are made and page through the results
// manually, set `autoPaginate` to `false`.
//-
function callback(err, operations, nextQuery, apiResponse) {
  if (nextQuery) {
    // More results exist.
    gce.getOperations(nextQuery, callback);
  }
}

gce.getOperations({
  autoPaginate: false
}, callback);

//-
// If the callback is omitted, we'll return a Promise.
//-
gce.getOperations().then(function(data) {
  var operations = data[0];
});

getOperationsStream(optionsopt) → {stream}

Get a list of global Operation objects as a readable object stream.

Parameters:
Name Type Attributes Description
options object <optional>

Configuration object. See Compute#getOperations for a complete list of options.

Example
gce.getOperationsStream()
  .on('error', console.error)
  .on('data', function(operation) {
    // `operation` is a `Operation` object.
  })
  .on('end', function() {
    // All operations retrieved.
  });

//-
// If you anticipate many results, you can end a stream early to prevent
// unnecessary processing and API requests.
//-
gce.getOperationsStream()
  .on('data', function(operation) {
    this.end();
  });

getRegions(optionsopt, callback)

Return the regions available to your project.

Parameters:
Name Type Attributes Description
options object <optional>

Instance search options.

Properties
Name Type Description
autoPaginate boolean

Have pagination handled automatically. Default: true.

filter string

Search filter in the format of {name} {comparison} {filterString}. - name: the name of the field to compare - comparison: the comparison operator, eq (equal) or ne (not equal) - filterString: the string to filter to. For string fields, this can be a regular expression.

maxApiCalls number

Maximum number of API calls to make.

maxResults number

Maximum number of instances to return.

pageToken string

A previously-returned page token representing part of the larger set of results to view.

callback function

The callback function.

Properties
Name Type Attributes Description
err error <nullable>

An error returned while making this request.

regions Array.<Region>

Region objects that are available to your project.

apiResponse object

The full API response.

See:
Example
gce.getRegions(function(err, regions) {
  // `regions` is an array of `Region` objects.
});

//-
// To control how many API requests are made and page through the results
// manually, set `autoPaginate` to `false`.
//-
function callback(err, regions, nextQuery, apiResponse) {
  if (nextQuery) {
    // More results exist.
    gce.getRegions(nextQuery, callback);
  }
}

gce.getRegions({
  autoPaginate: false
}, callback);

//-
// If the callback is omitted, we'll return a Promise.
//-
gce.getRegions().then(function(data) {
  var regions = data[0];
});

getRegionsStream(optionsopt) → {stream}

Return the Region objects available to your project as a readable object stream.

Parameters:
Name Type Attributes Description
options object <optional>

Configuration object. See Compute#getRegions for a complete list of options.

Example
gce.getRegionsStream()
  .on('error', console.error)
  .on('data', function(region) {
    // `region` is a `Region` object.
  })
  .on('end', function() {
    // All regions retrieved.
  });

//-
// If you anticipate many results, you can end a stream early to prevent
// unnecessary processing and API requests.
//-
gce.getRegionsStream()
  .on('data', function(region) {
    this.end();
  });

getRules(optionsopt, callback)

Get a list of forwarding rules.

Parameters:
Name Type Attributes Description
options object <optional>

Rules search options.

Properties
Name Type Description
autoPaginate boolean

Have pagination handled automatically. Default: true.

filter string

Search filter in the format of {name} {comparison} {filterString}. - name: the name of the field to compare - comparison: the comparison operator, eq (equal) or ne (not equal) - filterString: the string to filter to. For string fields, this can be a regular expression.

maxApiCalls number

Maximum number of API calls to make.

maxResults number

Maximum number of rules to return.

pageToken string

A previously-returned page token representing part of the larger set of results to view.

callback function

The callback function.

Properties
Name Type Attributes Description
err error <nullable>

An error returned while making this request.

rules Array.<Rule>

Rule objects from your project.

apiResponse object

The full API response.

See:
Example
gce.getRules(function(err, rules) {
  // `rules` is an array of `Rule` objects.
});

//-
// To control how many API requests are made and page through the results
// manually, set `autoPaginate` to `false`.
//-
function callback(err, rules, nextQuery, apiResponse) {
  if (nextQuery) {
    // More results exist.
    gce.getRules(nextQuery, callback);
  }
}

gce.getRules({
  autoPaginate: false
}, callback);

//-
// If the callback is omitted, we'll return a Promise.
//-
gce.getRules().then(function(data) {
  var rules = data[0];
});

getRulesStream(optionsopt) → {stream}

Get a list of Rule objects as a readable object stream.

Parameters:
Name Type Attributes Description
options object <optional>

Configuration object. See Compute#getRules for a complete list of options.

Example
gce.getRulesStream()
  .on('error', console.error)
  .on('data', function(rule) {
    // `rule` is a `Rule` object.
  })
  .on('end', function() {
    // All rules retrieved.
  });

//-
// If you anticipate many results, you can end a stream early to prevent
// unnecessary processing and API requests.
//-
gce.getRulesStream()
  .on('data', function(rule) {
    this.end();
  });

getServices(optionsopt, callback)

Get a list of backend services.

Parameters:
Name Type Attributes Description
options object <optional>

BackendService search options.

Properties
Name Type Description
autoPaginate boolean

Have pagination handled automatically. Default: true.

filter string

Search filter in the format of {name} {comparison} {filterString}. - name: the name of the field to compare - comparison: the comparison operator, eq (equal) or ne (not equal) - filterString: the string to filter to. For string fields, this can be a regular expression.

maxApiCalls number

Maximum number of API calls to make.

maxResults number

Maximum number of snapshots to return.

pageToken string

A previously-returned page token representing part of the larger set of results to view.

callback function

The callback function.

Properties
Name Type Attributes Description
err error <nullable>

An error returned while making this request.

services Array.<Service>

Service objects from your project.

apiResponse object

The full API response.

See:
Example
gce.getServices(function(err, services) {
  // `services` is an array of `Service` objects.
});

//-
// To control how many API requests are made and page through the results
// manually, set `autoPaginate` to `false`.
//-
function callback(err, services, nextQuery, apiResponse) {
  if (nextQuery) {
    // More results exist.
    gce.getServices(nextQuery, callback);
  }
}

gce.getServices({
  autoPaginate: false
}, callback);

//-
// If the callback is omitted, we'll return a Promise.
//-
gce.getServices().then(function(data) {
  var services = data[0];
});

getServicesStream(optionsopt) → {stream}

Get a list of Service objects as a readable object stream.

Parameters:
Name Type Attributes Description
options object <optional>

Configuration object. See Compute#getServices for a complete list of options.

Example
gce.getServicesStream()
  .on('error', console.error)
  .on('data', function(service) {
    // `service` is a `Service` object.
  })
  .on('end', function() {
    // All services retrieved.
  });

//-
// If you anticipate many results, you can end a stream early to prevent
// unnecessary processing and API requests.
//-
gce.getServicesStream()
  .on('data', function(service) {
    this.end();
  });

getSnapshots(optionsopt, callback)

Get a list of snapshots.

Parameters:
Name Type Attributes Description
options object <optional>

Snapshot search options.

Properties
Name Type Description
autoPaginate boolean

Have pagination handled automatically. Default: true.

filter string

Search filter in the format of {name} {comparison} {filterString}. - name: the name of the field to compare - comparison: the comparison operator, eq (equal) or ne (not equal) - filterString: the string to filter to. For string fields, this can be a regular expression.

maxApiCalls number

Maximum number of API calls to make.

maxResults number

Maximum number of snapshots to return.

pageToken string

A previously-returned page token representing part of the larger set of results to view.

callback function

The callback function.

Properties
Name Type Attributes Description
err error <nullable>

An error returned while making this request.

snapshots Array.<Snapshot>

Snapshot objects from your project.

apiResponse object

The full API response.

See:
Example
gce.getSnapshots(function(err, snapshots) {
  // `snapshots` is an array of `Snapshot` objects.
});

//-
// To control how many API requests are made and page through the results
// manually, set `autoPaginate` to `false`.
//-
function callback(err, snapshots, nextQuery, apiResponse) {
  if (nextQuery) {
    // More results exist.
    gce.getSnapshots(nextQuery, callback);
  }
}

gce.getSnapshots({
  autoPaginate: false
}, callback);

//-
// If the callback is omitted, we'll return a Promise.
//-
gce.getSnapshots().then(function(data) {
  var snapshots = data[0];
});

getSnapshotsStream(optionsopt) → {stream}

Get a list of Snapshot objects as a readable object stream.

Parameters:
Name Type Attributes Description
options object <optional>

Configuration object. See Compute#getSnapshots for a complete list of options.

Example
gce.getSnapshotsStream()
  .on('error', console.error)
  .on('data', function(snapshot) {
    // `snapshot` is a `Snapshot` object.
  })
  .on('end', function() {
    // All snapshots retrieved.
  });

//-
// If you anticipate many results, you can end a stream early to prevent
// unnecessary processing and API requests.
//-
gce.getSnapshotsStream()
  .on('data', function(snapshot) {
    this.end();
  });

getSubnetworks(optionsopt, callback)

Get a list of subnetworks in this project.

Parameters:
Name Type Attributes Description
options object <optional>

Subnetwork search options.

Properties
Name Type Description
autoPaginate boolean

Have pagination handled automatically. Default: true.

filter string

Search filter in the format of {name} {comparison} {filterString}. - name: the name of the field to compare - comparison: the comparison operator, eq (equal) or ne (not equal) - filterString: the string to filter to. For string fields, this can be a regular expression.

maxApiCalls number

Maximum number of API calls to make.

maxResults number

Maximum number of subnetworks to return.

pageToken string

A previously-returned page token representing part of the larger set of results to view.

callback function

The callback function.

Properties
Name Type Attributes Description
err error <nullable>

An error returned while making this request.

subnetworks Array.<Subnetwork>

Subnetwork objects from your project.

apiResponse object

The full API response.

See:
Example
gce.getSubnetworks(function(err, subnetworks) {
  // `subnetworks` is an array of `Subnetworks` objects.
});

//-
// To control how many API requests are made and page through the results
// manually, set `autoPaginate` to `false`.
//-
function callback(err, subnetworks, nextQuery, apiResponse) {
  if (nextQuery) {
    // More results exist.
    gce.getSubnetworks(nextQuery, callback);
  }
}

gce.getSubnetworks({
  autoPaginate: false
}, callback);

//-
// If the callback is omitted, we'll return a Promise.
//-
gce.getSubnetworks().then(function(data) {
  var subnetworks = data[0];
});

getSubnetworksStream(optionsopt) → {stream}

Get a list of Subnetwork objects in this project as a readable object stream.

Parameters:
Name Type Attributes Description
options object <optional>

Configuration object. See Compute#getSubnetworks for a complete list of options.

Example
gce.getSubnetworksStream()
  .on('error', console.error)
  .on('data', function(subnetwork) {
    // `subnetwork` is a `Subnetwork` object.
  })
  .on('end', function() {
    // All subnetworks retrieved.
  });

//-
// If you anticipate many results, you can end a stream early to prevent
// unnecessary processing and API requests.
//-
gce.getSubnetworksStream()
  .on('data', function(subnetwork) {
    this.end();
  });

getVMs(optionsopt, callback)

Get a list of virtual machine instances.

Parameters:
Name Type Attributes Description
options object <optional>

Instance search options.

Properties
Name Type Description
autoPaginate boolean

Have pagination handled automatically. Default: true.

filter string

Search filter in the format of {name} {comparison} {filterString}. - name: the name of the field to compare - comparison: the comparison operator, eq (equal) or ne (not equal) - filterString: the string to filter to. For string fields, this can be a regular expression.

maxApiCalls number

Maximum number of API calls to make.

maxResults number

Maximum number of instances to return.

pageToken string

A previously-returned page token representing part of the larger set of results to view.

callback function

The callback function.

Properties
Name Type Attributes Description
err error <nullable>

An error returned while making this request.

vms Array.<VM>

VM objects from your project.

apiResponse object

The full API response.

See:
Example
gce.getVMs(function(err, vms) {
  // `vms` is an array of `VM` objects.
});

//-
// To control how many API requests are made and page through the results
// manually, set `autoPaginate` to `false`.
//-
function callback(err, vms, nextQuery, apiResponse) {
  if (nextQuery) {
    // More results exist.
    gce.getVMs(nextQuery, callback);
  }
}

gce.getVMs({
  autoPaginate: false
}, callback);

//-
// If the callback is omitted, we'll return a Promise.
//-
gce.getVMs().then(function(data) {
  var vms = data[0];
});

getVMsStream(optionsopt) → {stream}

Get a list of VM instances as a readable object stream.

Parameters:
Name Type Attributes Description
options object <optional>

Configuration object. See Compute#getVMs for a complete list of options.

Example
gce.getVMsStream()
  .on('error', console.error)
  .on('data', function(vm) {
    // `vm` is a `VM` object.
  })
  .on('end', function() {
    // All vms retrieved.
  });

//-
// If you anticipate many results, you can end a stream early to prevent
// unnecessary processing and API requests.
//-
gce.getVMsStream()
  .on('data', function(vm) {
    this.end();
  });

getZones(optionsopt, callback)

Return the zones available to your project.

Parameters:
Name Type Attributes Description
options object <optional>

Instance search options.

Properties
Name Type Description
autoPaginate boolean

Have pagination handled automatically. Default: true.

filter string

Search filter in the format of {name} {comparison} {filterString}. - name: the name of the field to compare - comparison: the comparison operator, eq (equal) or ne (not equal) - filterString: the string to filter to. For string fields, this can be a regular expression.

maxApiCalls number

Maximum number of API calls to make.

maxResults number

Maximum number of instances to return.

pageToken string

A previously-returned page token representing part of the larger set of results to view.

callback function

The callback function.

Properties
Name Type Attributes Description
err error <nullable>

An error returned while making this request.

zones Array.<Zone>

Zone objects that are available to your project.

apiResponse object

The full API response.

See:
Example
gce.getZones(function(err, zones) {
  // `zones` is an array of `Zone` objects.
});

//-
// To control how many API requests are made and page through the results
// manually, set `autoPaginate` to `false`.
//-
function callback(err, zones, nextQuery, apiResponse) {
  if (nextQuery) {
    // More results exist.
    gce.getZones(nextQuery, callback);
  }
}

gce.getZones({
  autoPaginate: false
}, callback);

//-
// If the callback is omitted, we'll return a Promise.
//-
gce.getZones().then(function(data) {
  var zones = data[0];
});

getZonesStream(optionsopt) → {stream}

Return the Zone objects available to your project as a readable object stream.

Parameters:
Name Type Attributes Description
options object <optional>

Configuration object. See Compute#getZones for a complete list of options.

Example
gce.getZonesStream()
  .on('error', console.error)
  .on('data', function(zone) {
    // `zone` is a `Zone` object.
  })
  .on('end', function() {
    // All zones retrieved.
  });

//-
// If you anticipate many results, you can end a stream early to prevent
// unnecessary processing and API requests.
//-
gce.getZonesStream()
  .on('data', function(zone) {
    this.end();
  });

healthCheck(name, optionsopt) → {HealthCheck}

Get a reference to a Google Compute Engine health check.

Parameters:
Name Type Attributes Description
name string

Name of the health check.

options object <optional>

Configuration object.

Properties
Name Type Description
https boolean

Specify if this is an HTTPS health check resource. Default: false

See:
Example
var healthCheck = gce.healthCheck('http-health-check-name');

//-
// Access an HTTPS health check.
//-
var httpsHealthCheck = gce.healthCheck('https-health-check-name', {
  https: true
});

image(name) → {Image}

Get a reference to a Google Compute Engine image.

Parameters:
Name Type Description
name string

Name of the image.

See:
Example
var image = gce.image('image-name');

network(name) → {Network}

Get a reference to a Google Compute Engine network.

Parameters:
Name Type Description
name string

Name of the network.

See:
Example
var network = gce.network('network-name');

operation(name) → {Operation}

Get a reference to a global Google Compute Engine operation.

Parameters:
Name Type Description
name string

Name of the existing operation.

See:
Example
var operation = gce.operation('operation-name');

project() → {Project}

Get a reference to your Google Compute Engine project.

See:
Example
var project = gce.project();

region(name) → {Region}

Get a reference to a Google Compute Engine region.

Parameters:
Name Type Description
name string

Name of the region.

See:
Example
var region = gce.region('region-name');

rule(name) → {Rule}

Get a reference to a Google Compute Engine forwading rule.

Parameters:
Name Type Description
name string

Name of the rule.

Example
var rule = gce.rule('rule-name');

service(name) → {Service}

Get a reference to a Google Compute Engine backend service.

Parameters:
Name Type Description
name string

Name of the existing service.

See:
Example
var service = gce.service('service-name');

snapshot(name) → {Snapshot}

Get a reference to a Google Compute Engine snapshot.

Parameters:
Name Type Description
name string

Name of the existing snapshot.

See:
Example
var snapshot = gce.snapshot('snapshot-name');

zone(name) → {Zone}

Get a reference to a Google Compute Engine zone.

Parameters:
Name Type Description
name string

Name of the zone.

See:
Example
var zone = gce.zone('zone-name');