API Reference

This API reference is organized by resource type. Each resource type has one or more data representations and one or more methods.

Resource types

  1. AcceleratorTypes
  2. Addresses
  3. Autoscalers
  4. BackendBuckets
  5. BackendServices
  6. DiskTypes
  7. Disks
  8. Firewalls
  9. ForwardingRules
  10. GlobalAddresses
  11. GlobalForwardingRules
  12. GlobalOperations
  13. HealthChecks
  14. HttpHealthChecks
  15. HttpsHealthChecks
  16. Images
  17. InstanceGroupManagers
  18. InstanceGroups
  19. InstanceTemplates
  20. Instances
  21. InterconnectAttachments
  22. InterconnectLocations
  23. Interconnects
  24. Licenses
  25. MachineTypes
  26. Networks
  27. Projects
  28. RegionAutoscalers
  29. RegionBackendServices
  30. RegionCommitments
  31. RegionInstanceGroupManagers
  32. RegionInstanceGroups
  33. RegionOperations
  34. Regions
  35. Routers
  36. Routes
  37. Snapshots
  38. SslCertificates
  39. Subnetworks
  40. TargetHttpProxies
  41. TargetHttpsProxies
  42. TargetInstances
  43. TargetPools
  44. TargetSslProxies
  45. TargetTcpProxies
  46. TargetVpnGateways
  47. UrlMaps
  48. VpnTunnels
  49. ZoneOperations
  50. Zones

AcceleratorTypes

For AcceleratorTypes Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
aggregatedList GET  /project/aggregated/acceleratorTypes Retrieves an aggregated list of accelerator types.
get GET  /project/zones/zone/acceleratorTypes/acceleratorType Returns the specified accelerator type. Get a list of available accelerator types by making a list() request.
list GET  /project/zones/zone/acceleratorTypes Retrieves a list of accelerator types available to the specified project.

Addresses

For Addresses Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
aggregatedList GET  /project/aggregated/addresses Retrieves an aggregated list of addresses.
delete DELETE  /project/regions/region/addresses/address Deletes the specified address resource.
get GET  /project/regions/region/addresses/address Returns the specified address resource.
insert POST  /project/regions/region/addresses Creates an address resource in the specified project using the data included in the request.
list GET  /project/regions/region/addresses Retrieves a list of addresses contained within the specified region.
testIamPermissions POST  /project/regions/region/addresses/resource/testIamPermissions Returns permissions that a caller has on the specified resource.

Autoscalers

For Autoscalers Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
aggregatedList GET  /project/aggregated/autoscalers Retrieves an aggregated list of autoscalers.
delete DELETE  /project/zones/zone/autoscalers/autoscaler Deletes the specified autoscaler.
get GET  /project/zones/zone/autoscalers/autoscaler Returns the specified autoscaler resource. Get a list of available autoscalers by making a list() request.
insert POST  /project/zones/zone/autoscalers Creates an autoscaler in the specified project using the data included in the request.
list GET  /project/zones/zone/autoscalers Retrieves a list of autoscalers contained within the specified zone.
patch PATCH  /project/zones/zone/autoscalers Updates an autoscaler in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.
testIamPermissions POST  /project/zones/zone/autoscalers/resource/testIamPermissions Returns permissions that a caller has on the specified resource.
update PUT  /project/zones/zone/autoscalers Updates an autoscaler in the specified project using the data included in the request.

BackendBuckets

For BackendBuckets Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
delete DELETE  /project/global/backendBuckets/backendBucket Deletes the specified BackendBucket resource.
get GET  /project/global/backendBuckets/backendBucket Returns the specified BackendBucket resource. Get a list of available backend buckets by making a list() request.
insert POST  /project/global/backendBuckets Creates a BackendBucket resource in the specified project using the data included in the request.
list GET  /project/global/backendBuckets Retrieves the list of BackendBucket resources available to the specified project.
patch PATCH  /project/global/backendBuckets/backendBucket Updates the specified BackendBucket resource with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.
update PUT  /project/global/backendBuckets/backendBucket Updates the specified BackendBucket resource with the data included in the request.

BackendServices

For BackendServices Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
aggregatedList GET  /project/aggregated/backendServices Retrieves the list of all BackendService resources, regional and global, available to the specified project.
delete DELETE  /project/global/backendServices/backendService Deletes the specified BackendService resource.
get GET  /project/global/backendServices/backendService Returns the specified BackendService resource. Get a list of available backend services by making a list() request.
getHealth POST  /project/global/backendServices/backendService/getHealth Gets the most recent health check results for this BackendService.
insert POST  /project/global/backendServices Creates a BackendService resource in the specified project using the data included in the request. There are several restrictions and guidelines to keep in mind when creating a backend service. Read Restrictions and Guidelines for more information.
list GET  /project/global/backendServices Retrieves the list of BackendService resources available to the specified project.
patch PATCH  /project/global/backendServices/backendService Patches the specified BackendService resource with the data included in the request. There are several restrictions and guidelines to keep in mind when updating a backend service. Read Restrictions and Guidelines for more information. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.
testIamPermissions POST  /project/global/backendServices/resource/testIamPermissions Returns permissions that a caller has on the specified resource.
update PUT  /project/global/backendServices/backendService Updates the specified BackendService resource with the data included in the request. There are several restrictions and guidelines to keep in mind when updating a backend service. Read Restrictions and Guidelines for more information.

DiskTypes

For DiskTypes Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
aggregatedList GET  /project/aggregated/diskTypes Retrieves an aggregated list of disk types.
get GET  /project/zones/zone/diskTypes/diskType Returns the specified disk type. Get a list of available disk types by making a list() request.
list GET  /project/zones/zone/diskTypes Retrieves a list of disk types available to the specified project.

Disks

For Disks Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
aggregatedList GET  /project/aggregated/disks Retrieves an aggregated list of persistent disks.
createSnapshot POST  /project/zones/zone/disks/disk/createSnapshot Creates a snapshot of a specified persistent disk.
delete DELETE  /project/zones/zone/disks/disk Deletes the specified persistent disk. Deleting a disk removes its data permanently and is irreversible. However, deleting a disk does not delete any snapshots previously made from the disk. You must separately delete snapshots.
get GET  /project/zones/zone/disks/disk Returns a specified persistent disk. Get a list of available persistent disks by making a list() request.
insert POST  /project/zones/zone/disks Creates a persistent disk in the specified project using the data in the request. You can create a disk with a sourceImage, a sourceSnapshot, or create an empty 500 GB data disk by omitting all properties. You can also create a disk that is larger than the default size by specifying the sizeGb property.
list GET  /project/zones/zone/disks Retrieves a list of persistent disks contained within the specified zone.
resize POST  /project/zones/zone/disks/disk/resize Resizes the specified persistent disk.
setLabels POST  /project/zones/zone/disks/resource/setLabels Sets the labels on a disk. To learn more about labels, read the Labeling Resources documentation.
testIamPermissions POST  /project/zones/zone/disks/resource/testIamPermissions Returns permissions that a caller has on the specified resource.

Firewalls

For Firewalls Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
delete DELETE  /project/global/firewalls/firewall Deletes the specified firewall.
get GET  /project/global/firewalls/firewall Returns the specified firewall.
insert POST  /project/global/firewalls Creates a firewall rule in the specified project using the data included in the request.
list GET  /project/global/firewalls Retrieves the list of firewall rules available to the specified project.
patch PATCH  /project/global/firewalls/firewall Updates the specified firewall rule with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.
testIamPermissions POST  /project/global/firewalls/resource/testIamPermissions Returns permissions that a caller has on the specified resource.
update PUT  /project/global/firewalls/firewall Updates the specified firewall rule with the data included in the request. Using PUT method, can only update following fields of firewall rule: allowed, description, sourceRanges, sourceTags, targetTags.

ForwardingRules

For ForwardingRules Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
aggregatedList GET  /project/aggregated/forwardingRules Retrieves an aggregated list of forwarding rules.
delete DELETE  /project/regions/region/forwardingRules/forwardingRule Deletes the specified ForwardingRule resource.
get GET  /project/regions/region/forwardingRules/forwardingRule Returns the specified ForwardingRule resource.
insert POST  /project/regions/region/forwardingRules Creates a ForwardingRule resource in the specified project and region using the data included in the request.
list GET  /project/regions/region/forwardingRules Retrieves a list of ForwardingRule resources available to the specified project and region.
setTarget POST  /project/regions/region/forwardingRules/forwardingRule/setTarget Changes target URL for forwarding rule. The new target should be of the same type as the old target.
testIamPermissions POST  /project/regions/region/forwardingRules/resource/testIamPermissions Returns permissions that a caller has on the specified resource.

GlobalAddresses

For GlobalAddresses Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
delete DELETE  /project/global/addresses/address Deletes the specified address resource.
get GET  /project/global/addresses/address Returns the specified address resource. Get a list of available addresses by making a list() request.
insert POST  /project/global/addresses Creates an address resource in the specified project using the data included in the request.
list GET  /project/global/addresses Retrieves a list of global addresses.
testIamPermissions POST  /project/global/addresses/resource/testIamPermissions Returns permissions that a caller has on the specified resource.

GlobalForwardingRules

For GlobalForwardingRules Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
delete DELETE  /project/global/forwardingRules/forwardingRule Deletes the specified GlobalForwardingRule resource.
get GET  /project/global/forwardingRules/forwardingRule Returns the specified GlobalForwardingRule resource. Get a list of available forwarding rules by making a list() request.
insert POST  /project/global/forwardingRules Creates a GlobalForwardingRule resource in the specified project using the data included in the request.
list GET  /project/global/forwardingRules Retrieves a list of GlobalForwardingRule resources available to the specified project.
setTarget POST  /project/global/forwardingRules/forwardingRule/setTarget Changes target URL for the GlobalForwardingRule resource. The new target should be of the same type as the old target.
testIamPermissions POST  /project/global/forwardingRules/resource/testIamPermissions Returns permissions that a caller has on the specified resource.

GlobalOperations

For GlobalOperations Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
aggregatedList GET  /project/aggregated/operations Retrieves an aggregated list of all operations.
delete DELETE  /project/global/operations/operation Deletes the specified Operations resource.
get GET  /project/global/operations/operation Retrieves the specified Operations resource. Get a list of operations by making a list() request.
list GET  /project/global/operations Retrieves a list of Operation resources contained within the specified project.

HealthChecks

For HealthChecks Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
delete DELETE  /project/global/healthChecks/healthCheck Deletes the specified HealthCheck resource.
get GET  /project/global/healthChecks/healthCheck Returns the specified HealthCheck resource. Get a list of available health checks by making a list() request.
insert POST  /project/global/healthChecks Creates a HealthCheck resource in the specified project using the data included in the request.
list GET  /project/global/healthChecks Retrieves the list of HealthCheck resources available to the specified project.
patch PATCH  /project/global/healthChecks/healthCheck Updates a HealthCheck resource in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.
testIamPermissions POST  /project/global/healthChecks/resource/testIamPermissions Returns permissions that a caller has on the specified resource.
update PUT  /project/global/healthChecks/healthCheck Updates a HealthCheck resource in the specified project using the data included in the request.

HttpHealthChecks

For HttpHealthChecks Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
delete DELETE  /project/global/httpHealthChecks/httpHealthCheck Deletes the specified HttpHealthCheck resource.
get GET  /project/global/httpHealthChecks/httpHealthCheck Returns the specified HttpHealthCheck resource. Get a list of available HTTP health checks by making a list() request.
insert POST  /project/global/httpHealthChecks Creates a HttpHealthCheck resource in the specified project using the data included in the request.
list GET  /project/global/httpHealthChecks Retrieves the list of HttpHealthCheck resources available to the specified project.
patch PATCH  /project/global/httpHealthChecks/httpHealthCheck Updates a HttpHealthCheck resource in the specified project using the data included in the request. This method supports patch semantics.
testIamPermissions POST  /project/global/httpHealthChecks/resource/testIamPermissions Returns permissions that a caller has on the specified resource.
update PUT  /project/global/httpHealthChecks/httpHealthCheck Updates a HttpHealthCheck resource in the specified project using the data included in the request.

HttpsHealthChecks

For HttpsHealthChecks Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
delete DELETE  /project/global/httpsHealthChecks/httpsHealthCheck Deletes the specified HttpsHealthCheck resource.
get GET  /project/global/httpsHealthChecks/httpsHealthCheck Returns the specified HttpsHealthCheck resource. Get a list of available HTTPS health checks by making a list() request.
insert POST  /project/global/httpsHealthChecks Creates a HttpsHealthCheck resource in the specified project using the data included in the request.
list GET  /project/global/httpsHealthChecks Retrieves the list of HttpsHealthCheck resources available to the specified project.
patch PATCH  /project/global/httpsHealthChecks/httpsHealthCheck Updates a HttpsHealthCheck resource in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.
testIamPermissions POST  /project/global/httpsHealthChecks/resource/testIamPermissions Returns permissions that a caller has on the specified resource.
update PUT  /project/global/httpsHealthChecks/httpsHealthCheck Updates a HttpsHealthCheck resource in the specified project using the data included in the request.

Images

For Images Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
delete DELETE  /project/global/images/image Deletes the specified image.
deprecate POST  /project/global/images/image/deprecate Sets the deprecation status of an image.

If an empty request body is given, clears the deprecation status instead.
get GET  /project/global/images/image Returns the specified image. Get a list of available images by making a list() request.
getFromFamily GET  /project/global/images/family/family Returns the latest image that is part of an image family and is not deprecated.
insert POST  /project/global/images Creates an image in the specified project using the data included in the request.
list GET  /project/global/images Retrieves the list of private images available to the specified project. Private images are images you create that belong to your project. This method does not get any images that belong to other projects, including publicly-available images, like Debian 8. If you want to get a list of publicly-available images, use this method to make a request to the respective image project, such as debian-cloud or windows-cloud.
setLabels POST  /project/global/images/resource/setLabels Sets the labels on an image. To learn more about labels, read the Labeling Resources documentation.
testIamPermissions POST  /project/global/images/resource/testIamPermissions Returns permissions that a caller has on the specified resource.

InstanceGroupManagers

For InstanceGroupManagers Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
abandonInstances POST  /project/zones/zone/instanceGroupManagers/instanceGroupManager/abandonInstances Schedules a group action to remove the specified instances from the managed instance group. Abandoning an instance does not delete the instance, but it does remove the instance from any target pools that are applied by the managed instance group. This method reduces the targetSize of the managed instance group by the number of instances that you abandon. This operation is marked as DONE when the action is scheduled even if the instances have not yet been removed from the group. You must separately verify the status of the abandoning action with the listmanagedinstances method.

If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.

You can specify a maximum of 1000 instances with this method per request.
aggregatedList GET  /project/aggregated/instanceGroupManagers Retrieves the list of managed instance groups and groups them by zone.
delete DELETE  /project/zones/zone/instanceGroupManagers/instanceGroupManager Deletes the specified managed instance group and all of the instances in that group. Note that the instance group must not belong to a backend service. Read Deleting an instance group for more information.
deleteInstances POST  /project/zones/zone/instanceGroupManagers/instanceGroupManager/deleteInstances Schedules a group action to delete the specified instances in the managed instance group. The instances are also removed from any target pools of which they were a member. This method reduces the targetSize of the managed instance group by the number of instances that you delete. This operation is marked as DONE when the action is scheduled even if the instances are still being deleted. You must separately verify the status of the deleting action with the listmanagedinstances method.

If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.

You can specify a maximum of 1000 instances with this method per request.
get GET  /project/zones/zone/instanceGroupManagers/instanceGroupManager Returns all of the details about the specified managed instance group. Get a list of available managed instance groups by making a list() request.
insert POST  /project/zones/zone/instanceGroupManagers Creates a managed instance group using the information that you specify in the request. After the group is created, it schedules an action to create instances in the group using the specified instance template. This operation is marked as DONE when the group is created even if the instances in the group have not yet been created. You must separately verify the status of the individual instances with the listmanagedinstances method.

A managed instance group can have up to 1000 VM instances per group. Please contact Cloud Support if you need an increase in this limit.
list GET  /project/zones/zone/instanceGroupManagers Retrieves a list of managed instance groups that are contained within the specified project and zone.
listManagedInstances POST  /project/zones/zone/instanceGroupManagers/instanceGroupManager/listManagedInstances Lists all of the instances in the managed instance group. Each instance in the list has a currentAction, which indicates the action that the managed instance group is performing on the instance. For example, if the group is still creating an instance, the currentAction is CREATING. If a previous action failed, the list displays the errors for that failed action.
patch PATCH  /project/zones/zone/instanceGroupManagers/instanceGroupManager Updates a managed instance group using the information that you specify in the request. This operation is marked as DONE when the group is patched even if the instances in the group are still in the process of being patched. You must separately verify the status of the individual instances with the listManagedInstances method. This method supports patch semantics.
recreateInstances POST  /project/zones/zone/instanceGroupManagers/instanceGroupManager/recreateInstances Schedules a group action to recreate the specified instances in the managed instance group. The instances are deleted and recreated using the current instance template for the managed instance group. This operation is marked as DONE when the action is scheduled even if the instances have not yet been recreated. You must separately verify the status of the recreating action with the listmanagedinstances method.

If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.

You can specify a maximum of 1000 instances with this method per request.
resize POST  /project/zones/zone/instanceGroupManagers/instanceGroupManager/resize Resizes the managed instance group. If you increase the size, the group creates new instances using the current instance template. If you decrease the size, the group deletes instances. The resize operation is marked DONE when the resize actions are scheduled even if the group has not yet added or deleted any instances. You must separately verify the status of the creating or deleting actions with the listmanagedinstances method.

If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.

Required query parameters: size

resizeAdvanced POST  /project/zones/zone/instanceGroupManagers/instanceGroupManager/resizeAdvanced Resizes the managed instance group with advanced configuration options like disabling creation retries. This is an extended version of the resize method.

If you increase the size of the instance group, the group creates new instances using the current instance template. If you decrease the size, the group deletes instances. The resize operation is marked DONE when the resize actions are scheduled even if the group has not yet added or deleted any instances. You must separately verify the status of the creating, creatingWithoutRetries, or deleting actions with the get or listmanagedinstances method.

If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.
setAutoHealingPolicies POST  /project/zones/zone/instanceGroupManagers/instanceGroupManager/setAutoHealingPolicies Modifies the autohealing policies.
setInstanceTemplate POST  /project/zones/zone/instanceGroupManagers/instanceGroupManager/setInstanceTemplate Specifies the instance template to use when creating new instances in this group. The templates for existing instances in the group do not change unless you recreate them.
setTargetPools POST  /project/zones/zone/instanceGroupManagers/instanceGroupManager/setTargetPools Modifies the target pools to which all instances in this managed instance group are assigned. The target pools automatically apply to all of the instances in the managed instance group. This operation is marked DONE when you make the request even if the instances have not yet been added to their target pools. The change might take some time to apply to all of the instances in the group depending on the size of the group.
testIamPermissions POST  /project/zones/zone/instanceGroupManagers/resource/testIamPermissions Returns permissions that a caller has on the specified resource.
update PUT  /project/zones/zone/instanceGroupManagers/instanceGroupManager Updates a managed instance group using the information that you specify in the request. This operation is marked as DONE when the group is updated even if the instances in the group have not yet been updated. You must separately verify the status of the individual instances with the listManagedInstances method.

InstanceGroups

For InstanceGroups Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
addInstances POST  /project/zones/zone/instanceGroups/instanceGroup/addInstances Adds a list of instances to the specified instance group. All of the instances in the instance group must be in the same network/subnetwork. Read Adding instances for more information.
aggregatedList GET  /project/aggregated/instanceGroups Retrieves the list of instance groups and sorts them by zone.
delete DELETE  /project/zones/zone/instanceGroups/instanceGroup Deletes the specified instance group. The instances in the group are not deleted. Note that instance group must not belong to a backend service. Read Deleting an instance group for more information.
get GET  /project/zones/zone/instanceGroups/instanceGroup Returns the specified instance group. Get a list of available instance groups by making a list() request.
insert POST  /project/zones/zone/instanceGroups Creates an instance group in the specified project using the parameters that are included in the request.
list GET  /project/zones/zone/instanceGroups Retrieves the list of instance groups that are located in the specified project and zone.
listInstances POST  /project/zones/zone/instanceGroups/instanceGroup/listInstances Lists the instances in the specified instance group.
removeInstances POST  /project/zones/zone/instanceGroups/instanceGroup/removeInstances Removes one or more instances from the specified instance group, but does not delete those instances.

If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration before the VM instance is removed or deleted.
setNamedPorts POST  /project/zones/zone/instanceGroups/instanceGroup/setNamedPorts Sets the named ports for the specified instance group.
testIamPermissions POST  /project/zones/zone/instanceGroups/resource/testIamPermissions Returns permissions that a caller has on the specified resource.

InstanceTemplates

For InstanceTemplates Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
delete DELETE  /project/global/instanceTemplates/instanceTemplate Deletes the specified instance template. If you delete an instance template that is being referenced from another instance group, the instance group will not be able to create or recreate virtual machine instances. Deleting an instance template is permanent and cannot be undone.
get GET  /project/global/instanceTemplates/instanceTemplate Returns the specified instance template. Get a list of available instance templates by making a list() request.
insert POST  /project/global/instanceTemplates Creates an instance template in the specified project using the data that is included in the request. If you are creating a new template to update an existing instance group, your new instance template must use the same network or, if applicable, the same subnetwork as the original template.
list GET  /project/global/instanceTemplates Retrieves a list of instance templates that are contained within the specified project and zone.
testIamPermissions POST  /project/global/instanceTemplates/resource/testIamPermissions Returns permissions that a caller has on the specified resource.

Instances

For Instances Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
addAccessConfig POST  /project/zones/zone/instances/instance/addAccessConfig Adds an access config to an instance's network interface.

Required query parameters: networkInterface

aggregatedList GET  /project/aggregated/instances Retrieves aggregated list of instances.
attachDisk POST  /project/zones/zone/instances/instance/attachDisk Attaches an existing Disk resource to an instance. You must first create the disk before you can attach it. It is not possible to create and attach a disk at the same time. For more information, read Adding a persistent disk to your instance.
delete DELETE  /project/zones/zone/instances/instance Deletes the specified Instance resource. For more information, see Stopping or Deleting an Instance.
deleteAccessConfig POST  /project/zones/zone/instances/instance/deleteAccessConfig Deletes an access config from an instance's network interface.

Required query parameters: accessConfig, networkInterface

detachDisk POST  /project/zones/zone/instances/instance/detachDisk Detaches a disk from an instance.

Required query parameters: deviceName

get GET  /project/zones/zone/instances/instance Returns the specified Instance resource. Get a list of available instances by making a list() request.
getSerialPortOutput GET  /project/zones/zone/instances/instance/serialPort Returns the specified instance's serial port output.
insert POST  /project/zones/zone/instances Creates an instance resource in the specified project using the data included in the request.
list GET  /project/zones/zone/instances Retrieves the list of instances contained within the specified zone.
listReferrers GET  /project/zones/zone/instances/instance/referrers Retrieves the list of referrers to instances contained within the specified zone.
reset POST  /project/zones/zone/instances/instance/reset Performs a reset on the instance. For more information, see Resetting an instance.
setDiskAutoDelete POST  /project/zones/zone/instances/instance/setDiskAutoDelete Sets the auto-delete flag for a disk attached to an instance.

Required query parameters: autoDelete, deviceName

setLabels POST  /project/zones/zone/instances/instance/setLabels Sets labels on an instance. To learn more about labels, read the Labeling Resources documentation.
setMachineResources POST  /project/zones/zone/instances/instance/setMachineResources Changes the number and/or type of accelerator for a stopped instance to the values specified in the request.
setMachineType POST  /project/zones/zone/instances/instance/setMachineType Changes the machine type for a stopped instance to the machine type specified in the request.
setMetadata POST  /project/zones/zone/instances/instance/setMetadata Sets metadata for the specified instance to the data included in the request.
setMinCpuPlatform POST  /project/zones/zone/instances/instance/setMinCpuPlatform Changes the minimum CPU platform that this instance should use. This method can only be called on a stopped instance. For more information, read Specifying a Minimum CPU Platform.
setScheduling POST  /project/zones/zone/instances/instance/setScheduling Sets an instance's scheduling options.
setServiceAccount POST  /project/zones/zone/instances/instance/setServiceAccount Sets the service account on the instance. For more information, read Changing the service account and access scopes for an instance.
setTags POST  /project/zones/zone/instances/instance/setTags Sets tags for the specified instance to the data included in the request.
start POST  /project/zones/zone/instances/instance/start Starts an instance that was stopped using the using the instances().stop method. For more information, see Restart an instance.
startWithEncryptionKey POST  /project/zones/zone/instances/instance/startWithEncryptionKey Starts an instance that was stopped using the using the instances().stop method. For more information, see Restart an instance.
stop POST  /project/zones/zone/instances/instance/stop Stops a running instance, shutting it down cleanly, and allows you to restart the instance at a later time. Stopped instances do not incur per-second VM usage charges while they are stopped, but any resources that the VM is using, such as persistent disks and static IP addresses, will continue to be charged until they are deleted. For more information, see Stopping an instance.
testIamPermissions POST  /project/zones/zone/instances/resource/testIamPermissions Returns permissions that a caller has on the specified resource.

InterconnectAttachments

For InterconnectAttachments Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
aggregatedList GET  /project/aggregated/interconnectAttachments Retrieves an aggregated list of interconnect attachments.
delete DELETE  /project/regions/region/interconnectAttachments/interconnectAttachment Deletes the specified interconnect attachment.
get GET  /project/regions/region/interconnectAttachments/interconnectAttachment Returns the specified interconnect attachment.
insert POST  /project/regions/region/interconnectAttachments Creates an InterconnectAttachment in the specified project using the data included in the request.
list GET  /project/regions/region/interconnectAttachments Retrieves the list of interconnect attachments contained within the specified region.
testIamPermissions POST  /project/regions/region/interconnectAttachments/resource/testIamPermissions Returns permissions that a caller has on the specified resource.

InterconnectLocations

For InterconnectLocations Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
get GET  /project/global/interconnectLocations/interconnectLocation Returns the details for the specified interconnect location. Get a list of available interconnect locations by making a list() request.
list GET  /project/global/interconnectLocations Retrieves the list of interconnect locations available to the specified project.

Interconnects

For Interconnects Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
delete DELETE  /project/global/interconnects/interconnect Deletes the specified interconnect.
get GET  /project/global/interconnects/interconnect Returns the specified interconnect. Get a list of available interconnects by making a list() request.
insert POST  /project/global/interconnects Creates a Interconnect in the specified project using the data included in the request.
list GET  /project/global/interconnects Retrieves the list of interconnect available to the specified project.
patch PATCH  /project/global/interconnects/interconnect Updates the specified interconnect with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.
testIamPermissions POST  /project/global/interconnects/resource/testIamPermissions Returns permissions that a caller has on the specified resource.

Licenses

For Licenses Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
get GET  /project/global/licenses/license Returns the specified License resource.

MachineTypes

For MachineTypes Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
aggregatedList GET  /project/aggregated/machineTypes Retrieves an aggregated list of machine types.
get GET  /project/zones/zone/machineTypes/machineType Returns the specified machine type. Get a list of available machine types by making a list() request.
list GET  /project/zones/zone/machineTypes Retrieves a list of machine types available to the specified project.

Networks

For Networks Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
addPeering POST  /project/global/networks/network/addPeering Adds a peering to the specified network.
delete DELETE  /project/global/networks/network Deletes the specified network.
get GET  /project/global/networks/network Returns the specified network. Get a list of available networks by making a list() request.
insert POST  /project/global/networks Creates a network in the specified project using the data included in the request.
list GET  /project/global/networks Retrieves the list of networks available to the specified project.
patch PATCH  /project/global/networks/network Patches the specified network with the data included in the request. Currently, you can only patch the `routingConfig` field of a network.
removePeering POST  /project/global/networks/network/removePeering Removes a peering from the specified network.
switchToCustomMode POST  /project/global/networks/network/switchToCustomMode Switches the network mode from auto subnet mode to custom subnet mode.
testIamPermissions POST  /project/global/networks/resource/testIamPermissions Returns permissions that a caller has on the specified resource.

Projects

For Projects Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
disableXpnHost POST  /project/disableXpnHost Disable this project as a shared VPC host project.
disableXpnResource POST  /project/disableXpnResource Disable a serivce resource (a.k.a service project) associated with this host project.
enableXpnHost POST  /project/enableXpnHost Enable this project as a shared VPC host project.
enableXpnResource POST  /project/enableXpnResource Enable service resource (a.k.a service project) for a host project, so that subnets in the host project can be used by instances in the service project.
get GET  /project Returns the specified Project resource.
getXpnHost GET  /project/getXpnHost Get the shared VPC host project that this project links to. May be empty if no link exists.
getXpnResources GET  /project/getXpnResources Get service resources (a.k.a service project) associated with this host project.
listXpnHosts POST  /project/listXpnHosts List all shared VPC host projects visible to the user in an organization.
moveDisk POST  /project/moveDisk Moves a persistent disk from one zone to another.
moveInstance POST  /project/moveInstance Moves an instance and its attached persistent disks from one zone to another.
setCommonInstanceMetadata POST  /project/setCommonInstanceMetadata Sets metadata common to all instances within the specified project using the data included in the request.
setUsageExportBucket POST  /project/setUsageExportBucket Enables the usage export feature and sets the usage export bucket where reports are stored. If you provide an empty request body using this method, the usage export feature will be disabled.

RegionAutoscalers

For RegionAutoscalers Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
delete DELETE  /project/regions/region/autoscalers/autoscaler Deletes the specified autoscaler.
get GET  /project/regions/region/autoscalers/autoscaler Returns the specified autoscaler.
insert POST  /project/regions/region/autoscalers Creates an autoscaler in the specified project using the data included in the request.
list GET  /project/regions/region/autoscalers Retrieves a list of autoscalers contained within the specified region.
patch PATCH  /project/regions/region/autoscalers Updates an autoscaler in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.
testIamPermissions POST  /project/regions/region/autoscalers/resource/testIamPermissions Returns permissions that a caller has on the specified resource.
update PUT  /project/regions/region/autoscalers Updates an autoscaler in the specified project using the data included in the request.

RegionBackendServices

For RegionBackendServices Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
delete DELETE  /project/regions/region/backendServices/backendService Deletes the specified regional BackendService resource.
get GET  /project/regions/region/backendServices/backendService Returns the specified regional BackendService resource.
getHealth POST  /project/regions/region/backendServices/backendService/getHealth Gets the most recent health check results for this regional BackendService.
insert POST  /project/regions/region/backendServices Creates a regional BackendService resource in the specified project using the data included in the request. There are several restrictions and guidelines to keep in mind when creating a regional backend service. Read Restrictions and Guidelines for more information.

list GET  /project/regions/region/backendServices Retrieves the list of regional BackendService resources available to the specified project in the given region.
patch PATCH  /project/regions/region/backendServices/backendService Updates the specified regional BackendService resource with the data included in the request. There are several restrictions and guidelines to keep in mind when updating a backend service. Read Restrictions and Guidelines for more information. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.
testIamPermissions POST  /project/regions/region/backendServices/resource/testIamPermissions Returns permissions that a caller has on the specified resource.
update PUT  /project/regions/region/backendServices/backendService Updates the specified regional BackendService resource with the data included in the request. There are several restrictions and guidelines to keep in mind when updating a backend service. Read Restrictions and Guidelines for more information.

RegionCommitments

For RegionCommitments Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
aggregatedList GET  /project/aggregated/commitments Retrieves an aggregated list of commitments.
get GET  /project/regions/region/commitments/commitment Returns the specified commitment resource. Get a list of available commitments by making a list() request.
insert POST  /project/regions/region/commitments Creates a commitment in the specified project using the data included in the request.
list GET  /project/regions/region/commitments Retrieves a list of commitments contained within the specified region.

RegionInstanceGroupManagers

For RegionInstanceGroupManagers Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
abandonInstances POST  /project/regions/region/instanceGroupManagers/instanceGroupManager/abandonInstances Schedules a group action to remove the specified instances from the managed instance group. Abandoning an instance does not delete the instance, but it does remove the instance from any target pools that are applied by the managed instance group. This method reduces the targetSize of the managed instance group by the number of instances that you abandon. This operation is marked as DONE when the action is scheduled even if the instances have not yet been removed from the group. You must separately verify the status of the abandoning action with the listmanagedinstances method.

If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.

You can specify a maximum of 1000 instances with this method per request.
delete DELETE  /project/regions/region/instanceGroupManagers/instanceGroupManager Deletes the specified managed instance group and all of the instances in that group.
deleteInstances POST  /project/regions/region/instanceGroupManagers/instanceGroupManager/deleteInstances Schedules a group action to delete the specified instances in the managed instance group. The instances are also removed from any target pools of which they were a member. This method reduces the targetSize of the managed instance group by the number of instances that you delete. This operation is marked as DONE when the action is scheduled even if the instances are still being deleted. You must separately verify the status of the deleting action with the listmanagedinstances method.

If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.

You can specify a maximum of 1000 instances with this method per request.
get GET  /project/regions/region/instanceGroupManagers/instanceGroupManager Returns all of the details about the specified managed instance group.
insert POST  /project/regions/region/instanceGroupManagers Creates a managed instance group using the information that you specify in the request. After the group is created, it schedules an action to create instances in the group using the specified instance template. This operation is marked as DONE when the group is created even if the instances in the group have not yet been created. You must separately verify the status of the individual instances with the listmanagedinstances method.

A regional managed instance group can contain up to 2000 instances.
list GET  /project/regions/region/instanceGroupManagers Retrieves the list of managed instance groups that are contained within the specified region.
listManagedInstances POST  /project/regions/region/instanceGroupManagers/instanceGroupManager/listManagedInstances Lists the instances in the managed instance group and instances that are scheduled to be created. The list includes any current actions that the group has scheduled for its instances.
patch PATCH  /project/regions/region/instanceGroupManagers/instanceGroupManager Updates a managed instance group using the information that you specify in the request. This operation is marked as DONE when the group is patched even if the instances in the group are still in the process of being patched. You must separately verify the status of the individual instances with the listmanagedinstances method. This method supports patch semantics.
recreateInstances POST  /project/regions/region/instanceGroupManagers/instanceGroupManager/recreateInstances Schedules a group action to recreate the specified instances in the managed instance group. The instances are deleted and recreated using the current instance template for the managed instance group. This operation is marked as DONE when the action is scheduled even if the instances have not yet been recreated. You must separately verify the status of the recreating action with the listmanagedinstances method.

If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.

You can specify a maximum of 1000 instances with this method per request.
resize POST  /project/regions/region/instanceGroupManagers/instanceGroupManager/resize Changes the intended size for the managed instance group. If you increase the size, the group schedules actions to create new instances using the current instance template. If you decrease the size, the group schedules delete actions on one or more instances. The resize operation is marked DONE when the resize actions are scheduled even if the group has not yet added or deleted any instances. You must separately verify the status of the creating or deleting actions with the listmanagedinstances method.

If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.

Required query parameters: size

setAutoHealingPolicies POST  /project/regions/region/instanceGroupManagers/instanceGroupManager/setAutoHealingPolicies Modifies the autohealing policy for the instances in this managed instance group.
setInstanceTemplate POST  /project/regions/region/instanceGroupManagers/instanceGroupManager/setInstanceTemplate Sets the instance template to use when creating new instances or recreating instances in this group. Existing instances are not affected.
setTargetPools POST  /project/regions/region/instanceGroupManagers/instanceGroupManager/setTargetPools Modifies the target pools to which all new instances in this group are assigned. Existing instances in the group are not affected.
testIamPermissions POST  /project/regions/region/instanceGroupManagers/resource/testIamPermissions Returns permissions that a caller has on the specified resource.
update PUT  /project/regions/region/instanceGroupManagers/instanceGroupManager Updates a managed instance group using the information that you specify in the request. This operation is marked as DONE when the group is updated even if the instances in the group have not yet been updated. You must separately verify the status of the individual instances with the listmanagedinstances method.

RegionInstanceGroups

For RegionInstanceGroups Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
get GET  /project/regions/region/instanceGroups/instanceGroup Returns the specified instance group resource.
list GET  /project/regions/region/instanceGroups Retrieves the list of instance group resources contained within the specified region.
listInstances POST  /project/regions/region/instanceGroups/instanceGroup/listInstances Lists the instances in the specified instance group and displays information about the named ports. Depending on the specified options, this method can list all instances or only the instances that are running.
setNamedPorts POST  /project/regions/region/instanceGroups/instanceGroup/setNamedPorts Sets the named ports for the specified regional instance group.
testIamPermissions POST  /project/regions/region/instanceGroups/resource/testIamPermissions Returns permissions that a caller has on the specified resource.

RegionOperations

For RegionOperations Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
delete DELETE  /project/regions/region/operations/operation Deletes the specified region-specific Operations resource.
get GET  /project/regions/region/operations/operation Retrieves the specified region-specific Operations resource.
list GET  /project/regions/region/operations Retrieves a list of Operation resources contained within the specified region.

Regions

For Regions Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
get GET  /project/regions/region Returns the specified Region resource. Get a list of available regions by making a list() request.
list GET  /project/regions Retrieves the list of region resources available to the specified project.

Routers

For Routers Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
aggregatedList GET  /project/aggregated/routers Retrieves an aggregated list of routers.
delete DELETE  /project/regions/region/routers/router Deletes the specified Router resource.
get GET  /project/regions/region/routers/router Returns the specified Router resource. Get a list of available routers by making a list() request.
getRouterStatus GET  /project/regions/region/routers/router/getRouterStatus Retrieves runtime information of the specified router.
insert POST  /project/regions/region/routers Creates a Router resource in the specified project and region using the data included in the request.
list GET  /project/regions/region/routers Retrieves a list of Router resources available to the specified project.
patch PATCH  /project/regions/region/routers/router Patches the specified Router resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.
preview POST  /project/regions/region/routers/router/preview Preview fields auto-generated during router create and update operations. Calling this method does NOT create or update the router.
testIamPermissions POST  /project/regions/region/routers/resource/testIamPermissions Returns permissions that a caller has on the specified resource.
update PUT  /project/regions/region/routers/router Updates the specified Router resource with the data included in the request.

Routes

For Routes Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
delete DELETE  /project/global/routes/route Deletes the specified Route resource.
get GET  /project/global/routes/route Returns the specified Route resource. Get a list of available routes by making a list() request.
insert POST  /project/global/routes Creates a Route resource in the specified project using the data included in the request.
list GET  /project/global/routes Retrieves the list of Route resources available to the specified project.
testIamPermissions POST  /project/global/routes/resource/testIamPermissions Returns permissions that a caller has on the specified resource.

Snapshots

For Snapshots Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
delete DELETE  /project/global/snapshots/snapshot Deletes the specified Snapshot resource. Keep in mind that deleting a single snapshot might not necessarily delete all the data on that snapshot. If any data on the snapshot that is marked for deletion is needed for subsequent snapshots, the data will be moved to the next corresponding snapshot.

For more information, see Deleting snaphots.
get GET  /project/global/snapshots/snapshot Returns the specified Snapshot resource. Get a list of available snapshots by making a list() request.
list GET  /project/global/snapshots Retrieves the list of Snapshot resources contained within the specified project.
setLabels POST  /project/global/snapshots/resource/setLabels Sets the labels on a snapshot. To learn more about labels, read the Labeling Resources documentation.
testIamPermissions POST  /project/global/snapshots/resource/testIamPermissions Returns permissions that a caller has on the specified resource.

SslCertificates

For SslCertificates Resource details, see the resource representation page.

Method HTTP request Description
URIs relative to https://www.googleapis.com/compute/beta/projects, unless otherwise noted
delete DELETE  /project/global/sslCertificates/sslCertificate Deletes the specified SslCertificate resource.