- HTTP request
- Path parameters
- Query parameters
- Request body
- Response body
- Authorization Scopes
- IAM Permissions
- Examples
- Try it!
Retrieves the list of managed instance groups and groups them by zone.
HTTP request
GET https://compute.googleapis.com/compute/beta/projects/{project}/aggregated/instanceGroupManagers
The URL uses gRPC Transcoding syntax.
Path parameters
Parameters | |
---|---|
project |
Project ID for this request. |
Query parameters
Parameters | |
---|---|
maxResults |
The maximum number of results per page that should be returned. If the number of available results is larger than |
pageToken |
Specifies a page token to use. Set |
filter |
A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either For example, if you are filtering Compute Engine instances, you can exclude instances named You can also filter nested fields. For example, you could specify To filter on multiple expressions, provide each separate expression within parentheses. For example:
By default, each expression is an
|
orderBy |
Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using Currently, only sorting by |
returnPartialSuccess |
Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. |
includeAllScopes |
Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. |
Request body
The request body must be empty.
Response body
If successful, the response body contains data with the following structure:
JSON representation | |
---|---|
{ "id": string, "items": [ { "scopeName": string, "instanceGroupManagers": [ { "id": string, "creationTimestamp": string, "name": string, "description": string, "zone": string, "region": string, "distributionPolicy": { "zones": [ { "zone": string } ], "targetShape": enum }, "instanceTemplate": string, "versions": [ { "name": string, "instanceTemplate": string, "targetSize": { "fixed": integer, "percent": integer, "calculated": integer } } ], "instanceGroup": string, "targetPools": [ string ], "baseInstanceName": string, "fingerprint": string, "currentActions": { "none": integer, "creating": integer, "creatingWithoutRetries": integer, "verifying": integer, "recreating": integer, "deleting": integer, "abandoning": integer, "restarting": integer, "refreshing": integer }, "status": { "isStable": boolean, "versionTarget": { "isReached": boolean }, "stateful": { "isStateful": boolean, "hasStatefulConfig": boolean, "perInstanceConfigs": { "allEffective": boolean } }, "autoscaler": string }, "targetSize": integer, "selfLink": string, "autoHealingPolicies": [ { "healthCheck": string, "initialDelaySec": integer } ], "updatePolicy": { "type": enum, "instanceRedistributionType": enum, "minimalAction": enum, "maxSurge": { "fixed": integer, "percent": integer, "calculated": integer }, "maxUnavailable": { "fixed": integer, "percent": integer, "calculated": integer }, "minReadySec": integer, "replacementMethod": enum }, "namedPorts": [ { "name": string, "port": integer } ], "serviceAccount": string, "failoverAction": enum, "statefulPolicy": { "preservedState": { "disks": { string: { "autoDelete": enum }, ... } } }, "kind": string } ], "warning": { "code": enum, "message": string, "data": [ { "key": string, "value": string } ] } } ], "nextPageToken": string, "selfLink": string, "warning": { "code": enum, "message": string, "data": [ { "key": string, "value": string } ] }, "unreachables": [ string ], "kind": string } |
Fields | |
---|---|
id |
[Output Only] Unique identifier for the resource; defined by the server. |
items[] |
A list of InstanceGroupManagersScopedList resources. |
items[].scopeName |
[Output Only] The name of the scope that contains this set of managed instance groups. |
items[].instanceGroupManagers[] |
[Output Only] The list of managed instance groups that are contained in the specified project and zone. |
items[].instanceGroupManagers[].id |
[Output Only] A unique identifier for this resource type. The server generates this identifier. |
items[].instanceGroupManagers[].creationTimestamp |
[Output Only] The creation timestamp for this managed instance group in RFC3339 text format. |
items[].instanceGroupManagers[].name |
The name of the managed instance group. The name must be 1-63 characters long, and comply with RFC1035. |
items[].instanceGroupManagers[].description |
An optional description of this resource. Provide this property when you create the resource. |
items[].instanceGroupManagers[].zone |
[Output Only] The URL of a zone where the managed instance group is located (for zonal resources). |
items[].instanceGroupManagers[].region |
[Output Only] The URL of the region where the managed instance group resides (for regional resources). |
items[].instanceGroupManagers[].distributionPolicy |
Policy specifying the intended distribution of managed instances across zones in a regional managed instance group. |
items[].instanceGroupManagers[].distributionPolicy.zones[] |
Zones where the regional managed instance group will create and manage its instances. |
items[].instanceGroupManagers[].distributionPolicy.zones[].zone |
The URL of the zone. The zone must exist in the region where the managed instance group is located. |
items[].instanceGroupManagers[].distributionPolicy.targetShape |
The distribution shape to which the group converges either proactively or on resize events (depending on the value set in |
items[].instanceGroupManagers[].instanceTemplate |
The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. The templates for existing instances in the group do not change unless you run |
items[].instanceGroupManagers[].versions[] |
Specifies the instance templates used by this managed instance group to create instances. Each version is defined by an |
items[].instanceGroupManagers[].versions[].name |
Name of the version. Unique among all versions in the scope of this managed instance group. |
items[].instanceGroupManagers[].versions[].instanceTemplate |
The URL of the instance template that is specified for this managed instance group. The group uses this template to create new instances in the managed instance group until the |
items[].instanceGroupManagers[].versions[].targetSize |
Specifies the intended number of instances to be created from the
version . Read Starting a canary update for more information.
|
items[].instanceGroupManagers[].versions[].targetSize.fixed |
Specifies a fixed number of VM instances. This must be a positive integer. |
items[].instanceGroupManagers[].versions[].targetSize.percent |
Specifies a percentage of instances between 0 to 100%, inclusive. For example, specify |
items[].instanceGroupManagers[].versions[].targetSize.calculated |
[Output Only] Absolute value of VM instances calculated based on the specific mode.
|
items[].instanceGroupManagers[].instanceGroup |
[Output Only] The URL of the Instance Group resource. |
items[].instanceGroupManagers[].targetPools[] |
The URLs for all TargetPool resources to which instances in the |
items[].instanceGroupManagers[].baseInstanceName |
The base instance name to use for instances in this group. The value must be 1-58 characters long. Instances are named by appending a hyphen and a random four-character string to the base instance name. The base instance name must comply with RFC1035. |
items[].instanceGroupManagers[].fingerprint |
Fingerprint of this resource. This field may be used in optimistic locking. It will be ignored when inserting an InstanceGroupManager. An up-to-date fingerprint must be provided in order to update the InstanceGroupManager, otherwise the request will fail with error To see the latest fingerprint, make a A base64-encoded string. |
items[].instanceGroupManagers[].currentActions |
[Output Only] The list of instance actions and the number of instances in this managed instance group that are scheduled for each of those actions. |
items[].instanceGroupManagers[].currentActions.none |
[Output Only] The number of instances in the managed instance group that are running and have no scheduled actions. |
items[].instanceGroupManagers[].currentActions.creating |
[Output Only] The number of instances in the managed instance group that are scheduled to be created or are currently being created. If the group fails to create any of these instances, it tries again until it creates the instance successfully. If you have disabled creation retries, this field will not be populated; instead, the |
items[].instanceGroupManagers[].currentActions.creatingWithoutRetries |
[Output Only] The number of instances that the managed instance group will attempt to create. The group attempts to create each instance only once. If the group fails to create any of these instances, it decreases the group's |
items[].instanceGroupManagers[].currentActions.verifying |
[Output Only] The number of instances in the managed instance group that are being verified. See the |
items[].instanceGroupManagers[].currentActions.recreating |
[Output Only] The number of instances in the managed instance group that are scheduled to be recreated or are currently being being recreated. Recreating an instance deletes the existing root persistent disk and creates a new disk from the image that is defined in the instance template. |
items[].instanceGroupManagers[].currentActions.deleting |
[Output Only] The number of instances in the managed instance group that are scheduled to be deleted or are currently being deleted. |
items[].instanceGroupManagers[].currentActions.abandoning |
[Output Only] The total number of instances in the managed instance group that are scheduled to be abandoned. Abandoning an instance removes it from the managed instance group without deleting it. |
items[].instanceGroupManagers[].currentActions.restarting |
[Output Only] The number of instances in the managed instance group that are scheduled to be restarted or are currently being restarted. |
items[].instanceGroupManagers[].currentActions.refreshing |
[Output Only] The number of instances in the managed instance group that are being reconfigured with properties that do not require a restart or a recreate action. For example, setting or removing target pools for the instance. |
items[].instanceGroupManagers[].status |
[Output Only] The status of this managed instance group. |
items[].instanceGroupManagers[].status.isStable |
[Output Only] A bit indicating whether the managed instance group is in a stable state. A stable state means that: none of the instances in the managed instance group is currently undergoing any type of change (for example, creation, restart, or deletion); no future changes are scheduled for instances in the managed instance group; and the managed instance group itself is not being modified. |
items[].instanceGroupManagers[].status.versionTarget |
[Output Only] A status of consistency of Instances' versions with their target version specified by |
items[].instanceGroupManagers[].status.versionTarget.isReached |
[Output Only] A bit indicating whether version target has been reached in this managed instance group, i.e. all instances are in their target version. Instances' target version are specified by |
items[].instanceGroupManagers[].status.stateful |
[Output Only] Stateful status of the given Instance Group Manager. |
items[].instanceGroupManagers[].status.stateful.isStateful |
[Output Only] A bit indicating whether the managed instance group has stateful configuration, that is, if you have configured any items in a stateful policy or in per-instance configs. The group might report that it has no stateful config even when there is still some preserved state on a managed instance, for example, if you have deleted all PICs but not yet applied those deletions. This field is deprecated in favor of hasStatefulConfig. |
items[].instanceGroupManagers[].status.stateful.hasStatefulConfig |
[Output Only] A bit indicating whether the managed instance group has stateful configuration, that is, if you have configured any items in a stateful policy or in per-instance configs. The group might report that it has no stateful config even when there is still some preserved state on a managed instance, for example, if you have deleted all PICs but not yet applied those deletions. |
items[].instanceGroupManagers[].status.stateful.perInstanceConfigs |
[Output Only] Status of per-instance configs on the instance. |
items[].instanceGroupManagers[].status.stateful.perInstanceConfigs.allEffective |
A bit indicating if all of the group's per-instance configs (listed in the output of a listPerInstanceConfigs API call) have status |
items[].instanceGroupManagers[].status.autoscaler |
[Output Only] The URL of the Autoscaler that targets this instance group manager. |
items[].instanceGroupManagers[].targetSize |
The target number of running instances for this managed instance group. You can reduce this number by using the instanceGroupManager deleteInstances or abandonInstances methods. Resizing the group also changes this number. |
items[].instanceGroupManagers[].selfLink |
[Output Only] The URL for this managed instance group. The server defines this URL. |
items[].instanceGroupManagers[].autoHealingPolicies[] |
The autohealing policy for this managed instance group. You can specify only one value. |
items[].instanceGroupManagers[].autoHealingPolicies[].healthCheck |
The URL for the health check that signals autohealing. |
items[].instanceGroupManagers[].autoHealingPolicies[].initialDelaySec |
The number of seconds that the managed instance group waits before it applies autohealing policies to new instances or recently recreated instances. This initial delay allows instances to initialize and run their startup scripts before the instance group determines that they are UNHEALTHY. This prevents the managed instance group from recreating its instances prematurely. This value must be from range [0, 3600]. |
items[].instanceGroupManagers[].updatePolicy |
The update policy for this managed instance group. |
items[].instanceGroupManagers[].updatePolicy.type |
The type of update process. You can specify either |
items[].instanceGroupManagers[].updatePolicy.instanceRedistributionType |
The instance redistribution policy for regional managed instance groups. Valid values are:
|
items[].instanceGroupManagers[].updatePolicy.minimalAction |
Minimal action to be taken on an instance. You can specify either |
items[].instanceGroupManagers[].updatePolicy.maxSurge |
The maximum number of instances that can be created above the specified At least one of either |
items[].instanceGroupManagers[].updatePolicy.maxSurge.fixed |
Specifies a fixed number of VM instances. This must be a positive integer. |
items[].instanceGroupManagers[].updatePolicy.maxSurge.percent |
Specifies a percentage of instances between 0 to 100%, inclusive. For example, specify |
items[].instanceGroupManagers[].updatePolicy.maxSurge.calculated |
[Output Only] Absolute value of VM instances calculated based on the specific mode.
|
items[].instanceGroupManagers[].updatePolicy.maxUnavailable |
The maximum number of instances that can be unavailable during the update process. An instance is considered available if all of the following conditions are satisfied:
This value can be either a fixed number or, if the group has 10 or more instances, a percentage. If you set a percentage, the number of instances is rounded up if necessary. The default value for At least one of either |
items[].instanceGroupManagers[].updatePolicy.maxUnavailable.fixed |
Specifies a fixed number of VM instances. This must be a positive integer. |
items[].instanceGroupManagers[].updatePolicy.maxUnavailable.percent |
Specifies a percentage of instances between 0 to 100%, inclusive. For example, specify |
items[].instanceGroupManagers[].updatePolicy.maxUnavailable.calculated |
[Output Only] Absolute value of VM instances calculated based on the specific mode.
|
items[].instanceGroupManagers[].updatePolicy.minReadySec |
Minimum number of seconds to wait for after a newly created instance becomes available. This value must be from range [0, 3600]. |
items[].instanceGroupManagers[].updatePolicy.replacementMethod |
What action should be used to replace instances. See minimalAction.REPLACE |
items[].instanceGroupManagers[].namedPorts[] |
Named ports configured for the Instance Groups complementary to this Instance Group Manager. |
items[].instanceGroupManagers[].namedPorts[].name |
The name for this named port. The name must be 1-63 characters long, and comply with RFC1035. |
items[].instanceGroupManagers[].namedPorts[].port |
The port number, which can be a value between 1 and 65535. |
items[].instanceGroupManagers[].serviceAccount |
The service account to be used as credentials for all operations performed by the managed instance group on instances. The service accounts needs all permissions required to create and delete instances. By default, the service account {projectNumber}@cloudservices.gserviceaccount.com is used. |
items[].instanceGroupManagers[].failoverAction |
The action to perform in case of zone failure. Only one value is supported, |
items[].instanceGroupManagers[].statefulPolicy |
Stateful configuration for this Instanced Group Manager |
items[].instanceGroupManagers[].statefulPolicy.preservedState |
|
items[].instanceGroupManagers[].statefulPolicy.preservedState.disks[] |
Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. An object containing a list of |
items[].instanceGroupManagers[].statefulPolicy.preservedState.disks[].autoDelete |
These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in |
items[].instanceGroupManagers[].kind |
[Output Only] The resource type, which is always |
items[].warning |
[Output Only] The warning that replaces the list of managed instance groups when the list is empty. |
items[].warning.code |
[Output Only] A warning code, if applicable. For example, Compute Engine returns |
items[].warning.message |
[Output Only] A human-readable description of the warning code. |
items[].warning.data[] |
[Output Only] Metadata about this warning in "data": [ { "key": "scope", "value": "zones/us-east1-d" } |
items[].warning.data[].key |
[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be |
items[].warning.data[].value |
[Output Only] A warning data value corresponding to the key. |
nextPageToken |
[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than |
selfLink |
[Output Only] Server-defined URL for this resource. |
warning |
[Output Only] Informational warning message. |
warning.code |
[Output Only] A warning code, if applicable. For example, Compute Engine returns |
warning.message |
[Output Only] A human-readable description of the warning code. |
warning.data[] |
[Output Only] Metadata about this warning in "data": [ { "key": "scope", "value": "zones/us-east1-d" } |
warning.data[].key |
[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be |
warning.data[].value |
[Output Only] A warning data value corresponding to the key. |
unreachables[] |
[Output Only] Unreachable resources. |
kind |
[Output Only] The resource type, which is always |
Authorization Scopes
Requires one of the following OAuth scopes:
https://www.googleapis.com/auth/compute
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview.
IAM Permissions
In addition to any permissions specified on the fields above, authorization requires one or more of the following IAM permissions:
compute.instanceGroupManagers.list
To find predefined roles that contain those permissions, see Compute Engine IAM Roles.