Region

Region

A Region object allows you to interact with a Google Compute Engine region.

Constructor

new Region(compute, name)

Parameters:
Name Type Description
compute Compute
name string
See:
Example
const Compute = require('@google-cloud/compute');
const compute = new Compute();
const region = compute.region('us-central1');

Members

getAddressesStream

Get a list of Address objects in this region as a readable object stream.

Example
const Compute = require('@google-cloud/compute');
const compute = new Compute();
const region = compute.region('us-central1');

region.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.
//-
region.getAddressesStream()
  .on('data', function(address) {
    this.end();
  });

getOperationsStream

Get a list of Operation objects for this region as a readable object stream.

Example
const Compute = require('@google-cloud/compute');
const compute = new Compute();
const region = compute.region('us-central1');

region.getOperationsStream()
  .on('error', console.error)
  .on('data', function(operation) {
    // `operation` is an `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.
//-
region.getOperationsStream()
  .on('data', function(operation) {
    this.end();
  });

getRulesStream

Get a list of Rule objects in this region as a readable object stream.

Example
const Compute = require('@google-cloud/compute');
const compute = new Compute();
const region = compute.region('us-central1');

region.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.
//-
region.getRulesStream()
  .on('data', function(rule) {
    this.end();
  });

getSubnetworksStream

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

Example
const Compute = require('@google-cloud/compute');
const compute = new Compute();
const region = compute.region('us-central1');

region.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.
//-
region.getSubnetworksStream()
  .on('data', function(subnetwork) {
    this.end();
  });

id

name

Methods

address(name) → {Address}

Get a reference to a Google Compute Engine address in this region.

Parameters:
Name Type Description
name string

Name of the address.

Returns:
Type Description
Address
See:
Example
const Compute = require('@google-cloud/compute');
const compute = new Compute();
const region = compute.region('us-central1');

const address = region.address('address-name');

createAddress(name, optionsopt, callback)

Create an address in this region.

Parameters:
Name Type Attributes Description
name string

Name of the address.

options object <optional>

See an Address resource.

callback function

The callback function.

Properties
Name Type Attributes Description
err error <nullable>

An error returned while making this request.

address Address

The created Address 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
const Compute = require('@google-cloud/compute');
const compute = new Compute();
const region = compute.region('us-central1');

function callback(err, address, operation, apiResponse) {
  // `address` is an Address object.

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

region.createAddress('new-address', callback);

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

createRule(name, config, callback)

Create a forwarding rule in this region.

Parameters:
Name Type Description
name string

Name of the rule.

config object

See a ForwardingRule 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.

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
const Compute = require('@google-cloud/compute');
const compute = new Compute();
const region = compute.region('us-central1');

const name = 'new-rule-name';

const cfg = {
  target: 'zones/us-central1-a/targetInstances/my-target-instance',
  range: '8080-8089'
};

region.createRule(name, cfg, 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.
//-
region.createRule(name, cfg).then(function(data) {
  const rule = data[0];
  const operation = data[1];
  const apiResponse = data[2];
});

createSubnetwork(name, config, callback)

Create a subnetwork in this region.

Parameters:
Name Type Description
name string

Name of the subnetwork.

config object

See a Subnetwork resource.

Properties
Name Type Description
network Network | string

The network to which this subnetwork belongs. Only networks that are in the distributed mode can have subnetworks.

range string

The range of internal addresses that are owned by this subnetwork. CIDR range of addresses that are legal on this network. (Alias for config.ipCidrRange)

callback function

The callback function.

Properties
Name Type Attributes Description
err error <nullable>

An error returned while making this request.

subnetwork Subnetwork

The created Subnetwork 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
const Compute = require('@google-cloud/compute');
const compute = new Compute();
const region = compute.region('us-central1');

const config = {
  network: 'network1',
  range: '10.0.1.0/24'
};

function callback(err, subnetwork, operation, apiResponse) {
  // `subnetwork` is a Subnetwork object.

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

region.createSubnetwork('new-subnetwork-name', config, callback);

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

exists(callback)

Check if the region 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 region exists or not.

Example
const Compute = require('@google-cloud/compute');
const compute = new Compute();
const region = compute.region('us-central1');

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

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

get()

Get a region.

Example
const Compute = require('@google-cloud/compute');
const compute = new Compute();
const region = compute.region('us-central1');

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

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

getAddresses(optionsopt, callback)

Get a list of addresses in this region.

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 this region.

apiResponse object

The full API response.

See:
Example
const Compute = require('@google-cloud/compute');
const compute = new Compute();
const region = compute.region('us-central1');

region.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.
    region.getAddresses(nextQuery, callback);
  }
}

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

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

getMetadata(callbackopt)

Get the region'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 region's metadata.

apiResponse object

The full API response.

See:
Example
const Compute = require('@google-cloud/compute');
const compute = new Compute();
const region = compute.region('us-central1');

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

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

getOperations(optionsopt, callback)

Get a list of operations for this region.

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 this region.

apiResponse object

The full API response.

See:
Example
const Compute = require('@google-cloud/compute');
const compute = new Compute();
const region = compute.region('us-central1');

region.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.
    region.getOperations(nextQuery, callback);
  }
}

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

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

getRules(optionsopt, callback)

Get a list of forwading rules in this region.

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 this region.

apiResponse object

The full API response.

See:
Example
const Compute = require('@google-cloud/compute');
const compute = new Compute();
const region = compute.region('us-central1');

region.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.
    region.getRules(nextQuery, callback);
  }
}

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

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

getSubnetworks(optionsopt, callback)

Get a list of subnetworks in this region.

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 this region.

apiResponse object

The full API response.

See:
Example
const Compute = require('@google-cloud/compute');
const compute = new Compute();
const region = compute.region('us-central1');

region.getSubnetworks(function(err, subnetworks) {
  // `subnetworks` is an array of `Subnetwork` 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.
    region.getSubnetworks(nextQuery, callback);
  }
}

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

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

operation(name) → {Operation}

Get a reference to a Google Compute Engine region operation.

Parameters:
Name Type Description
name string

Name of the existing operation.

Returns:
Type Description
Operation
See:
Example
const Compute = require('@google-cloud/compute');
const compute = new Compute();
const region = compute.region('us-central1');

const operation = region.operation('operation-name');

rule(name) → {Rule}

Get a reference to a Google Compute Engine forwarding rule in this region.

Parameters:
Name Type Description
name string

Name of the rule.

Returns:
Type Description
Rule
Example
const Compute = require('@google-cloud/compute');
const compute = new Compute();
const region = compute.region('us-central1');

const rule = region.rule('rule-name');

subnetwork(name) → {Subnetwork}

Get a reference to a Google Compute Engine subnetwork in this region.

Parameters:
Name Type Description
name string

Name of the subnetwork.

Returns:
Type Description
Subnetwork
See:
Example
const Compute = require('@google-cloud/compute');
const compute = new Compute();
const region = compute.region('us-central1');

const subnetwork = region.subnetwork('subnetwork-name');