Represents an Instance Group resource. Instance groups are self-managed and can contain identical or different instances. Instance groups do not use an instance template. Unlike managed instance groups, you must create and add instances to an instance group manually.

For a list of methods for this resource, see the end of this page.

Resource representations

  "kind": "compute#instanceGroup",
  "id": unsigned long,
  "creationTimestamp": string,
  "name": string,
  "description": string,
  "namedPorts": [
      "name": string,
      "port": integer
  "network": string,
  "fingerprint": bytes,
  "zone": string,
  "selfLink": string,
  "size": integer,
  "region": string,
  "subnetwork": string
Property name Value Description Notes
creationTimestamp string [Output Only] The creation timestamp for this instance group in RFC3339 text format.
description string An optional description of this resource. Provide this property when you create the resource.
fingerprint bytes [Output Only] The fingerprint of the named ports. The system uses this fingerprint to detect conflicts when multiple users change the named ports concurrently.
id unsigned long [Output Only] A unique identifier for this instance group, generated by the server.
kind string [Output Only] The resource type, which is always compute#instanceGroup for instance groups.
name string The name of the instance group. The name must be 1-63 characters long, and comply with RFC1035.
namedPorts[] list

Assigns a name to a port number. For example: {name: "http", port: 80}

This allows the system to reference ports by the assigned name instead of a port number. Named ports can also contain multiple ports. For example: [{name: "http", port: 80},{name: "http", port: 8080}]

Named ports apply to all instances in this instance group.

namedPorts[].name string The name for this named port. The name must be 1-63 characters long, and comply with RFC1035.
namedPorts[].port integer The port number, which can be a value between 1 and 65535.
network string The URL of the network to which all instances in the instance group belong.
region string The URL of the region where the instance group is located (for regional resources).
size integer [Output Only] The total number of instances in the instance group.
subnetwork string The URL of the subnetwork to which all instances in the instance group belong.
zone string [Output Only] The URL of the zone where the instance group is located (for zonal resources).


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.
Retrieves the list of instance groups and sorts them by zone.
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.
Returns the specified instance group. Get a list of available instance groups by making a list() request.
Creates an instance group in the specified project using the parameters that are included in the request.
Retrieves the list of instance groups that are located in the specified project and zone.
Lists the instances in the specified instance group.
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 has elapsed before the VM instance is removed or deleted.
Sets the named ports for the specified instance group.
Returns permissions that a caller has on the specified resource.