Google Compute Engine: Node.js Client

release level npm version

Google Compute Engine Client Library for Node.js

A comprehensive list of changes in each version may be found in the CHANGELOG.

Read more about the client libraries for Cloud APIs, including the older Google APIs Client Libraries, in Client Libraries Explained.

Table of contents:

Quickstart

Before you begin

  1. Select or create a Cloud Platform project.
  2. Enable billing for your project.
  3. Enable the Google Compute Engine API.
  4. Set up authentication with a service account so you can access the API from your local workstation.

Installing the client library

npm install @google-cloud/compute

Using the client library

/**
 * TODO(developer): Uncomment and replace these variables before running the sample.
 */
// const projectId = 'YOUR_PROJECT_ID';

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

// List all instances in the specified project.
async function listAllInstances() {
  const instancesClient = new compute.InstancesClient();

  //Use the `maxResults` parameter to limit the number of results that the API returns per response page.
  const aggListRequest = instancesClient.aggregatedListAsync({
    project: projectId,
    maxResults: 5,
  });

  console.log('Instances found:');

  // Despite using the `maxResults` parameter, you don't need to handle the pagination
  // yourself. The returned object handles pagination automatically,
  // requesting next pages as you iterate over the results.
  for await (const [zone, instancesObject] of aggListRequest) {
    const instances = instancesObject.instances;

    if (instances && instances.length > 0) {
      console.log(` ${zone}`);
      for (const instance of instances) {
        console.log(` - ${instance.name} (${instance.machineType})`);
      }
    }
  }
}

listAllInstances();

Samples

Samples are in the samples/ directory. Each sample's README.md has instructions for running its sample.

Sample Source Code Try it
Accelerator_types.aggregated_list source code Open in Cloud Shell
Accelerator_types.get source code Open in Cloud Shell
Accelerator_types.list source code Open in Cloud Shell
Addresses.aggregated_list source code Open in Cloud Shell
Addresses.delete source code Open in Cloud Shell
Addresses.get source code Open in Cloud Shell
Addresses.insert source code Open in Cloud Shell
Addresses.list source code Open in Cloud Shell
Addresses.set_labels source code Open in Cloud Shell
Autoscalers.aggregated_list source code Open in Cloud Shell
Autoscalers.delete source code Open in Cloud Shell
Autoscalers.get source code Open in Cloud Shell
Autoscalers.insert source code Open in Cloud Shell
Autoscalers.list source code Open in Cloud Shell
Autoscalers.patch source code Open in Cloud Shell
Autoscalers.update source code Open in Cloud Shell
Backend_buckets.add_signed_url_key source code Open in Cloud Shell
Backend_buckets.delete source code Open in Cloud Shell
Backend_buckets.delete_signed_url_key source code Open in Cloud Shell
Backend_buckets.get source code Open in Cloud Shell
Backend_buckets.insert source code Open in Cloud Shell
Backend_buckets.list source code Open in Cloud Shell
Backend_buckets.patch source code Open in Cloud Shell
Backend_buckets.set_edge_security_policy source code Open in Cloud Shell
Backend_buckets.update source code Open in Cloud Shell
Backend_services.add_signed_url_key source code Open in Cloud Shell
Backend_services.aggregated_list source code Open in Cloud Shell
Backend_services.delete source code Open in Cloud Shell
Backend_services.delete_signed_url_key source code Open in Cloud Shell
Backend_services.get source code Open in Cloud Shell
Backend_services.get_health source code Open in Cloud Shell
Backend_services.get_iam_policy source code Open in Cloud Shell
Backend_services.insert source code Open in Cloud Shell
Backend_services.list source code Open in Cloud Shell
Backend_services.patch source code Open in Cloud Shell
Backend_services.set_edge_security_policy source code Open in Cloud Shell
Backend_services.set_iam_policy source code Open in Cloud Shell
Backend_services.set_security_policy source code Open in Cloud Shell
Backend_services.update source code Open in Cloud Shell
Disk_types.aggregated_list source code Open in Cloud Shell
Disk_types.get source code Open in Cloud Shell
Disk_types.list source code Open in Cloud Shell
Disks.add_resource_policies source code Open in Cloud Shell
Disks.aggregated_list source code Open in Cloud Shell
Disks.create_snapshot source code Open in Cloud Shell
Disks.delete source code Open in Cloud Shell
Disks.get source code Open in Cloud Shell
Disks.get_iam_policy source code Open in Cloud Shell
Disks.insert source code Open in Cloud Shell
Disks.list source code Open in Cloud Shell
Disks.remove_resource_policies source code Open in Cloud Shell
Disks.resize source code Open in Cloud Shell
Disks.set_iam_policy source code Open in Cloud Shell
Disks.set_labels source code Open in Cloud Shell
Disks.test_iam_permissions source code Open in Cloud Shell
Disks.update source code Open in Cloud Shell
External_vpn_gateways.delete source code Open in Cloud Shell
External_vpn_gateways.get source code Open in Cloud Shell
External_vpn_gateways.insert source code Open in Cloud Shell
External_vpn_gateways.list source code Open in Cloud Shell
External_vpn_gateways.set_labels source code Open in Cloud Shell
External_vpn_gateways.test_iam_permissions source code Open in Cloud Shell
Firewall_policies.add_association source code Open in Cloud Shell
Firewall_policies.add_rule source code Open in Cloud Shell
Firewall_policies.clone_rules source code Open in Cloud Shell
Firewall_policies.delete source code Open in Cloud Shell
Firewall_policies.get source code Open in Cloud Shell
Firewall_policies.get_association source code Open in Cloud Shell
Firewall_policies.get_iam_policy source code Open in Cloud Shell
Firewall_policies.get_rule source code Open in Cloud Shell
Firewall_policies.insert source code Open in Cloud Shell
Firewall_policies.list source code Open in Cloud Shell
Firewall_policies.list_associations source code Open in Cloud Shell
Firewall_policies.move source code Open in Cloud Shell
Firewall_policies.patch source code Open in Cloud Shell
Firewall_policies.patch_rule source code Open in Cloud Shell
Firewall_policies.remove_association source code Open in Cloud Shell
Firewall_policies.remove_rule source code Open in Cloud Shell
Firewall_policies.set_iam_policy source code Open in Cloud Shell
Firewall_policies.test_iam_permissions source code Open in Cloud Shell
Firewalls.delete source code Open in Cloud Shell
Firewalls.get source code Open in Cloud Shell
Firewalls.insert source code Open in Cloud Shell
Firewalls.list source code Open in Cloud Shell
Firewalls.patch source code Open in Cloud Shell
Firewalls.update source code Open in Cloud Shell
Forwarding_rules.aggregated_list source code Open in Cloud Shell
Forwarding_rules.delete source code Open in Cloud Shell
Forwarding_rules.get source code Open in Cloud Shell
Forwarding_rules.insert source code Open in Cloud Shell
Forwarding_rules.list source code Open in Cloud Shell
Forwarding_rules.patch source code Open in Cloud Shell
Forwarding_rules.set_labels source code Open in Cloud Shell
Forwarding_rules.set_target source code Open in Cloud Shell
Global_addresses.delete source code Open in Cloud Shell
Global_addresses.get source code Open in Cloud Shell
Global_addresses.insert source code Open in Cloud Shell
Global_addresses.list source code Open in Cloud Shell
Global_addresses.set_labels source code Open in Cloud Shell
Global_forwarding_rules.delete source code Open in Cloud Shell
Global_forwarding_rules.get source code Open in Cloud Shell
Global_forwarding_rules.insert source code Open in Cloud Shell
Global_forwarding_rules.list source code Open in Cloud Shell
Global_forwarding_rules.patch source code Open in Cloud Shell
Global_forwarding_rules.set_labels source code Open in Cloud Shell
Global_forwarding_rules.set_target source code Open in Cloud Shell
Global_network_endpoint_groups.attach_network_endpoints source code Open in Cloud Shell
Global_network_endpoint_groups.delete source code Open in Cloud Shell
Global_network_endpoint_groups.detach_network_endpoints source code Open in Cloud Shell
Global_network_endpoint_groups.get source code Open in Cloud Shell
Global_network_endpoint_groups.insert source code Open in Cloud Shell
Global_network_endpoint_groups.list source code Open in Cloud Shell
Global_network_endpoint_groups.list_network_endpoints source code Open in Cloud Shell
Global_operations.aggregated_list source code Open in Cloud Shell
Global_operations.delete source code Open in Cloud Shell
Global_operations.get source code Open in Cloud Shell
Global_operations.list source code Open in Cloud Shell
Global_operations.wait source code Open in Cloud Shell
Global_organization_operations.delete source code Open in Cloud Shell
Global_organization_operations.get source code Open in Cloud Shell
Global_organization_operations.list source code Open in Cloud Shell
Global_public_delegated_prefixes.delete source code Open in Cloud Shell
Global_public_delegated_prefixes.get source code Open in Cloud Shell
Global_public_delegated_prefixes.insert source code Open in Cloud Shell
Global_public_delegated_prefixes.list source code Open in Cloud Shell
Global_public_delegated_prefixes.patch source code Open in Cloud Shell
Health_checks.aggregated_list source code Open in Cloud Shell
Health_checks.delete source code Open in Cloud Shell
Health_checks.get source code Open in Cloud Shell
Health_checks.insert source code Open in Cloud Shell
Health_checks.list source code Open in Cloud Shell
Health_checks.patch source code Open in Cloud Shell
Health_checks.update source code Open in Cloud Shell
Image_family_views.get source code Open in Cloud Shell
Images.delete source code Open in Cloud Shell
Images.deprecate source code Open in Cloud Shell
Images.get source code Open in Cloud Shell
Images.get_from_family source code Open in Cloud Shell
Images.get_iam_policy source code Open in Cloud Shell
Images.insert source code Open in Cloud Shell
Images.list source code Open in Cloud Shell
Images.patch source code Open in Cloud Shell
Images.set_iam_policy source code Open in Cloud Shell
Images.set_labels source code Open in Cloud Shell
Images.test_iam_permissions source code Open in Cloud Shell
Instance_group_managers.abandon_instances source code Open in Cloud Shell
Instance_group_managers.aggregated_list source code Open in Cloud Shell
Instance_group_managers.apply_updates_to_instances source code Open in Cloud Shell
Instance_group_managers.create_instances source code Open in Cloud Shell
Instance_group_managers.delete source code Open in Cloud Shell
Instance_group_managers.delete_instances source code Open in Cloud Shell
Instance_group_managers.delete_per_instance_configs source code Open in Cloud Shell
Instance_group_managers.get source code Open in Cloud Shell
Instance_group_managers.insert source code Open in Cloud Shell
Instance_group_managers.list source code Open in Cloud Shell
Instance_group_managers.list_errors source code Open in Cloud Shell
Instance_group_managers.list_managed_instances source code Open in Cloud Shell
Instance_group_managers.list_per_instance_configs source code Open in Cloud Shell
Instance_group_managers.patch source code Open in Cloud Shell
Instance_group_managers.patch_per_instance_configs source code Open in Cloud Shell
Instance_group_managers.recreate_instances source code Open in Cloud Shell
Instance_group_managers.resize source code Open in Cloud Shell
Instance_group_managers.set_instance_template source code Open in Cloud Shell
Instance_group_managers.set_target_pools source code Open in Cloud Shell
Instance_group_managers.update_per_instance_configs source code Open in Cloud Shell
Instance_groups.add_instances source code Open in Cloud Shell
Instance_groups.aggregated_list source code Open in Cloud Shell
Instance_groups.delete source code Open in Cloud Shell
Instance_groups.get source code Open in Cloud Shell
Instance_groups.insert source code Open in Cloud Shell
Instance_groups.list source code Open in Cloud Shell
Instance_groups.list_instances source code Open in Cloud Shell
Instance_groups.remove_instances source code Open in Cloud Shell
Instance_groups.set_named_ports source code Open in Cloud Shell
Instance_templates.aggregated_list source code Open in Cloud Shell
Instance_templates.delete source code Open in Cloud Shell
Instance_templates.get source code Open in Cloud Shell
Instance_templates.get_iam_policy source code Open in Cloud Shell
Instance_templates.insert source code Open in Cloud Shell
Instance_templates.list source code Open in Cloud Shell
Instance_templates.set_iam_policy source code Open in Cloud Shell
Instance_templates.test_iam_permissions source code Open in Cloud Shell
Instances.add_access_config source code Open in Cloud Shell
Instances.add_resource_policies source code Open in Cloud Shell
Instances.aggregated_list source code Open in Cloud Shell
Instances.attach_disk source code Open in Cloud Shell
Instances.bulk_insert source code Open in Cloud Shell
Instances.delete source code Open in Cloud Shell
Instances.delete_access_config source code Open in Cloud Shell
Instances.detach_disk source code Open in Cloud Shell
Instances.get source code Open in Cloud Shell
Instances.get_effective_firewalls source code Open in Cloud Shell
Instances.get_guest_attributes source code Open in Cloud Shell
Instances.get_iam_policy source code Open in Cloud Shell
Instances.get_screenshot source code Open in Cloud Shell
Instances.get_serial_port_output source code Open in Cloud Shell
Instances.get_shielded_instance_identity source code Open in Cloud Shell
Instances.insert source code Open in Cloud Shell
Instances.list source code Open in Cloud Shell
Instances.list_referrers source code Open in Cloud Shell
Instances.remove_resource_policies source code Open in Cloud Shell
Instances.reset source code Open in Cloud Shell
Instances.resume source code Open in Cloud Shell
Instances.send_diagnostic_interrupt source code Open in Cloud Shell
Instances.set_deletion_protection source code Open in Cloud Shell
Instances.set_disk_auto_delete source code Open in Cloud Shell
Instances.set_iam_policy source code Open in Cloud Shell
Instances.set_labels source code Open in Cloud Shell
Instances.set_machine_resources source code Open in Cloud Shell
Instances.set_machine_type source code Open in Cloud Shell
Instances.set_metadata source code Open in Cloud Shell
Instances.set_min_cpu_platform source code Open in Cloud Shell
Instances.set_name source code Open in Cloud Shell
Instances.set_scheduling source code Open in Cloud Shell
Instances.set_service_account source code Open in Cloud Shell
Instances.set_shielded_instance_integrity_policy source code Open in Cloud Shell
Instances.set_tags source code Open in Cloud Shell
Instances.simulate_maintenance_event source code Open in Cloud Shell
Instances.start source code Open in Cloud Shell
Instances.start_with_encryption_key source code Open in Cloud Shell
Instances.stop source code Open in Cloud Shell
Instances.suspend source code Open in Cloud Shell
Instances.test_iam_permissions source code Open in Cloud Shell
Instances.update source code Open in Cloud Shell
Instances.update_access_config source code Open in Cloud Shell
Instances.update_display_device source code Open in Cloud Shell
Instances.update_network_interface source code Open in Cloud Shell
Instances.update_shielded_instance_config source code Open in Cloud Shell
Interconnect_attachments.aggregated_list source code Open in Cloud Shell
Interconnect_attachments.delete source code Open in Cloud Shell
Interconnect_attachments.get source code Open in Cloud Shell
Interconnect_attachments.insert source code Open in Cloud Shell
Interconnect_attachments.list source code Open in Cloud Shell
Interconnect_attachments.patch source code Open in Cloud Shell
Interconnect_attachments.set_labels source code Open in Cloud Shell
Interconnect_locations.get source code Open in Cloud Shell
Interconnect_locations.list source code Open in Cloud Shell
Interconnects.delete source code Open in Cloud Shell
Interconnects.get source code Open in Cloud Shell
Interconnects.get_diagnostics source code Open in Cloud Shell
Interconnects.insert source code Open in Cloud Shell
Interconnects.list source code Open in Cloud Shell
Interconnects.patch source code Open in Cloud Shell
Interconnects.set_labels source code Open in Cloud Shell
License_codes.get source code Open in Cloud Shell
License_codes.test_iam_permissions source code Open in Cloud Shell
Licenses.delete source code Open in Cloud Shell
Licenses.get source code Open in Cloud Shell
Licenses.get_iam_policy source code Open in Cloud Shell
Licenses.insert source code Open in Cloud Shell
Licenses.list source code Open in Cloud Shell
Licenses.set_iam_policy source code Open in Cloud Shell
Licenses.test_iam_permissions source code Open in Cloud Shell
Machine_images.delete source code Open in Cloud Shell
Machine_images.get source code Open in Cloud Shell
Machine_images.get_iam_policy source code Open in Cloud Shell
Machine_images.insert source code Open in Cloud Shell
Machine_images.list source code Open in Cloud Shell
Machine_images.set_iam_policy source code Open in Cloud Shell
Machine_images.test_iam_permissions source code Open in Cloud Shell
Machine_types.aggregated_list source code Open in Cloud Shell
Machine_types.get source code Open in Cloud Shell
Machine_types.list source code Open in Cloud Shell
Network_attachments.aggregated_list source code Open in Cloud Shell
Network_attachments.delete source code Open in Cloud Shell
Network_attachments.get source code Open in Cloud Shell
Network_attachments.get_iam_policy source code Open in Cloud Shell
Network_attachments.insert source code Open in Cloud Shell
Network_attachments.list source code Open in Cloud Shell
Network_attachments.set_iam_policy source code Open in Cloud Shell
Network_attachments.test_iam_permissions source code Open in Cloud Shell
Network_edge_security_services.aggregated_list source code Open in Cloud Shell
Network_edge_security_services.delete source code Open in Cloud Shell
Network_edge_security_services.get source code Open in Cloud Shell
Network_edge_security_services.insert source code Open in Cloud Shell
Network_edge_security_services.patch source code Open in Cloud Shell
Network_endpoint_groups.aggregated_list source code Open in Cloud Shell
Network_endpoint_groups.attach_network_endpoints source code Open in Cloud Shell
Network_endpoint_groups.delete source code Open in Cloud Shell
Network_endpoint_groups.detach_network_endpoints source code Open in Cloud Shell
Network_endpoint_groups.get source code Open in Cloud Shell
Network_endpoint_groups.insert source code Open in Cloud Shell
Network_endpoint_groups.list source code Open in Cloud Shell
Network_endpoint_groups.list_network_endpoints source code Open in Cloud Shell
Network_endpoint_groups.test_iam_permissions source code Open in Cloud Shell
Network_firewall_policies.add_association source code Open in Cloud Shell
Network_firewall_policies.add_rule source code Open in Cloud Shell
Network_firewall_policies.clone_rules source code Open in Cloud Shell
Network_firewall_policies.delete source code Open in Cloud Shell
Network_firewall_policies.get source code Open in Cloud Shell
Network_firewall_policies.get_association source code Open in Cloud Shell
Network_firewall_policies.get_iam_policy source code Open in Cloud Shell
Network_firewall_policies.get_rule source code Open in Cloud Shell
Network_firewall_policies.insert source code Open in Cloud Shell
Network_firewall_policies.list