Skip to main content

instance_groups

Creates, updates, deletes, gets or lists an instance_groups resource.

Overview

Nameinstance_groups
TypeResource
Idgoogle.compute.instance_groups

Fields

The following fields are returned by SELECT queries:

Successful response

NameDatatypeDescription
idstring (uint64)[Output Only] A unique identifier for this instance group, generated by the server.
namestringThe name of the instance group. The name must be 1-63 characters long, and comply with RFC1035. (pattern: a-z?)
creationTimestampstring[Output Only] The creation timestamp for this instance group in RFC3339 text format.
descriptionstringAn optional description of this resource. Provide this property when you create the resource.
fingerprintstring (byte)[Output Only] The fingerprint of the named ports. The system uses this fingerprint to detect conflicts when multiple users change the named ports concurrently.
kindstring[Output Only] The resource type, which is always compute#instanceGroup for instance groups. (default: compute#instanceGroup)
namedPortsarray Optional. 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: "app1", port: 8080}, {name: "app1", port: 8081}, {name: "app2", port: 8082}] Named ports apply to all instances in this instance group.
networkstring[Output Only] The URL of the network to which all instances in the instance group belong. If your instance has multiple network interfaces, then the network and subnetwork fields only refer to the network and subnet used by your primary interface (nic0).
regionstring[Output Only] The URL of the region where the instance group is located (for regional resources).
selfLinkstring[Output Only] The URL for this instance group. The server generates this URL.
sizeinteger (int32)[Output Only] The total number of instances in the instance group.
subnetworkstring[Output Only] The URL of the subnetwork to which all instances in the instance group belong. If your instance has multiple network interfaces, then the network and subnetwork fields only refer to the network and subnet used by your primary interface (nic0).
zonestring[Output Only] The URL of the zone where the instance group is located (for zonal resources).

Methods

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
getselectproject, region, instanceGroupReturns the specified instance group resource.
listselectproject, regionfilter, maxResults, orderBy, pageToken, returnPartialSuccessRetrieves the list of instance group resources contained within the specified region.
aggregated_listselectprojectfilter, includeAllScopes, maxResults, orderBy, pageToken, returnPartialSuccess, serviceProjectNumberRetrieves the list of instance groups and sorts them by zone. To prevent failure, Google recommends that you set the returnPartialSuccess parameter to true.
insertinsertproject, zonerequestIdCreates an instance group in the specified project using the parameters that are included in the request.
deletedeleteproject, zone, instanceGrouprequestIdDeletes 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.
set_named_portsexecproject, region, instanceGrouprequestIdSets the named ports for the specified regional instance group.

Parameters

Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.

NameDatatypeDescription
instanceGroupstring
projectstring
regionstring
zonestring
filterstring
includeAllScopesboolean
maxResultsinteger (uint32)
orderBystring
pageTokenstring
requestIdstring
returnPartialSuccessboolean
serviceProjectNumberstring (int64)

SELECT examples

Returns the specified instance group resource.

SELECT
id,
name,
creationTimestamp,
description,
fingerprint,
kind,
namedPorts,
network,
region,
selfLink,
size,
subnetwork,
zone
FROM google.compute.instance_groups
WHERE project = '{{ project }}' -- required
AND region = '{{ region }}' -- required
AND instanceGroup = '{{ instanceGroup }}' -- required;

INSERT examples

Creates an instance group in the specified project using the parameters that are included in the request.

INSERT INTO google.compute.instance_groups (
data__kind,
data__id,
data__creationTimestamp,
data__name,
data__description,
data__namedPorts,
data__network,
data__fingerprint,
data__zone,
data__selfLink,
data__size,
data__region,
data__subnetwork,
project,
zone,
requestId
)
SELECT
'{{ kind }}',
'{{ id }}',
'{{ creationTimestamp }}',
'{{ name }}',
'{{ description }}',
'{{ namedPorts }}',
'{{ network }}',
'{{ fingerprint }}',
'{{ zone }}',
'{{ selfLink }}',
{{ size }},
'{{ region }}',
'{{ subnetwork }}',
'{{ project }}',
'{{ zone }}',
'{{ requestId }}'
RETURNING
id,
name,
clientOperationId,
creationTimestamp,
description,
endTime,
error,
httpErrorMessage,
httpErrorStatusCode,
insertTime,
instancesBulkInsertOperationMetadata,
kind,
operationGroupId,
operationType,
progress,
region,
selfLink,
setCommonInstanceMetadataOperationMetadata,
startTime,
status,
statusMessage,
targetId,
targetLink,
user,
warnings,
zone
;

DELETE examples

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.

DELETE FROM google.compute.instance_groups
WHERE project = '{{ project }}' --required
AND zone = '{{ zone }}' --required
AND instanceGroup = '{{ instanceGroup }}' --required
AND requestId = '{{ requestId }}';

Lifecycle Methods

Sets the named ports for the specified regional instance group.

EXEC google.compute.instance_groups.set_named_ports 
@project='{{ project }}' --required,
@region='{{ region }}' --required,
@instanceGroup='{{ instanceGroup }}' --required,
@requestId='{{ requestId }}'
@@json=
'{
"namedPorts": "{{ namedPorts }}",
"fingerprint": "{{ fingerprint }}"
}';