- [HTTP request](https://docs.cloud.google.com/compute/docs/reference/rest/beta/instanceGroupManagers/getAvailableAcceleratorTopologies#body.HTTP_TEMPLATE)
- [Path parameters](https://docs.cloud.google.com/compute/docs/reference/rest/beta/instanceGroupManagers/getAvailableAcceleratorTopologies#body.PATH_PARAMETERS)
- [Request body](https://docs.cloud.google.com/compute/docs/reference/rest/beta/instanceGroupManagers/getAvailableAcceleratorTopologies#body.request_body)
- [Response body](https://docs.cloud.google.com/compute/docs/reference/rest/beta/instanceGroupManagers/getAvailableAcceleratorTopologies#body.response_body)
  - [JSON representation](https://docs.cloud.google.com/compute/docs/reference/rest/beta/instanceGroupManagers/getAvailableAcceleratorTopologies#body.InstanceGroupManagersGetAvailableAcceleratorTopologiesResponse.SCHEMA_REPRESENTATION)
    - [JSON representation](https://docs.cloud.google.com/compute/docs/reference/rest/beta/instanceGroupManagers/getAvailableAcceleratorTopologies#body.InstanceGroupManagersGetAvailableAcceleratorTopologiesResponse.SCHEMA_REPRESENTATION.accelerator_topology_info.map_entry1.value.SCHEMA_REPRESENTATION)
      - [JSON representation](https://docs.cloud.google.com/compute/docs/reference/rest/beta/instanceGroupManagers/getAvailableAcceleratorTopologies#body.InstanceGroupManagersGetAvailableAcceleratorTopologiesResponse.SCHEMA_REPRESENTATION.accelerator_topology_info.map_entry1.value.SCHEMA_REPRESENTATION.error.SCHEMA_REPRESENTATION)
        - [JSON representation](https://docs.cloud.google.com/compute/docs/reference/rest/beta/instanceGroupManagers/getAvailableAcceleratorTopologies#body.InstanceGroupManagersGetAvailableAcceleratorTopologiesResponse.SCHEMA_REPRESENTATION.accelerator_topology_info.map_entry1.value.SCHEMA_REPRESENTATION.error.SCHEMA_REPRESENTATION.error_details.SCHEMA_REPRESENTATION)
        - [JSON representation](https://docs.cloud.google.com/compute/docs/reference/rest/beta/instanceGroupManagers/getAvailableAcceleratorTopologies#body.InstanceGroupManagersGetAvailableAcceleratorTopologiesResponse.SCHEMA_REPRESENTATION.accelerator_topology_info.map_entry1.value.SCHEMA_REPRESENTATION.error.SCHEMA_REPRESENTATION.error_details.SCHEMA_REPRESENTATION_1)
        - [JSON representation](https://docs.cloud.google.com/compute/docs/reference/rest/beta/instanceGroupManagers/getAvailableAcceleratorTopologies#body.InstanceGroupManagersGetAvailableAcceleratorTopologiesResponse.SCHEMA_REPRESENTATION.accelerator_topology_info.map_entry1.value.SCHEMA_REPRESENTATION.error.SCHEMA_REPRESENTATION.error_details.SCHEMA_REPRESENTATION_2)
        - [JSON representation](https://docs.cloud.google.com/compute/docs/reference/rest/beta/instanceGroupManagers/getAvailableAcceleratorTopologies#body.InstanceGroupManagersGetAvailableAcceleratorTopologiesResponse.SCHEMA_REPRESENTATION.accelerator_topology_info.map_entry1.value.SCHEMA_REPRESENTATION.error.SCHEMA_REPRESENTATION.error_details.SCHEMA_REPRESENTATION_3)
- [Authorization scopes](https://docs.cloud.google.com/compute/docs/reference/rest/beta/instanceGroupManagers/getAvailableAcceleratorTopologies#body.aspect)
- [IAM Permissions](https://docs.cloud.google.com/compute/docs/reference/rest/beta/instanceGroupManagers/getAvailableAcceleratorTopologies#body.aspect_1)
- [Try it!](https://docs.cloud.google.com/compute/docs/reference/rest/beta/instanceGroupManagers/getAvailableAcceleratorTopologies#try-it)

Returns information about available accelerator topologies for a given MIG.

### HTTP request

Choose an endpoint:
global africa-south1 asia-east1 asia-east2 asia-northeast1 asia-northeast2 asia-northeast3 asia-south1 asia-south2 asia-southeast1 asia-southeast2 asia-southeast3 australia-southeast1 australia-southeast2 europe-central2 europe-north1 europe-north2 europe-southwest1 europe-west1 europe-west10 europe-west12 europe-west2 europe-west3 europe-west4 europe-west6 europe-west8 europe-west9 me-central1 me-central2 me-west1 northamerica-northeast1 northamerica-northeast2 northamerica-south1 southamerica-east1 southamerica-west1 us-central1 us-east1 us-east4 us-east5 us-south1 us-west1 us-west2 us-west3 us-west4   
`GET https://compute.googleapis.com/compute/beta/projects/{project}/zones/{zone}/instanceGroupManagers/{resourceId}/getAvailableAcceleratorTopologies`

<br />

The URLs use [gRPC Transcoding](https://google.aip.dev/127) syntax.

### Path parameters

| Parameters ||
|---|---|
| `project` | `string` Required. Project ID for this request. |
| `zone` | `string` Required. The name of the [zone](https://docs.cloud.google.com/compute/docs/regions-zones#available) where the managed instance group is located. Name should conform to RFC1035. |
| `resourceId` | `string` Required. The name of the managed instance group. It should conform to RFC1035. |

### Request body

The request body must be empty.

### Response body

If successful, the response body contains data with the following structure:

| JSON representation |
|---|
| ``` { "acceleratorTopologiesInfo": { string: { "acceleratorTopology": string, "acceleratorTopologyHealth": enum, "instancesHealth": enum, "acceleratorTopologyState": { "currentState": enum, "externalId": string, "error": { "errors": [ { "code": string, "location": string, "message": string, "errorDetails": [ { "errorInfo": { "reason": string, "domain": string, "metadatas": { string: string, ... } }, "quotaInfo": { "metricName": string, "limitName": string, "dimensions": { string: string, ... }, "limit": number, "futureLimit": number, "rolloutStatus": enum }, "help": { "links": [ { "description": string, "url": string } ] }, "localizedMessage": { "locale": string, "message": string } } ] } ] }, "errorTimestamp": string }, "parent": string }, ... }, "multiMig": string } ``` |

| Fields ||
|---|---|
| `acceleratorTopologiesInfo[]` | `map (key: string, value: object)` The accelerator topology information returned per id of the topology location. |
| `acceleratorTopologiesInfo[].acceleratorTopology` | `string` Topology in the format of: "16x16", "4x4x4", etc. |
| `acceleratorTopologiesInfo[].acceleratorTopologyHealth` | `enum` |
| `acceleratorTopologiesInfo[].instancesHealth` | `enum` |
| `acceleratorTopologiesInfo[].acceleratorTopologyState` | `object` |
| `acceleratorTopologiesInfo[].acceleratorTopologyState.currentState` | `enum` |
| `acceleratorTopologiesInfo[].acceleratorTopologyState.externalId` | `string` Identifier of the accelerator topology assigned externally to differentiate who is the owner of the topology. This is set in instanceGroupManagers.configureAcceleratorTopologies. If it is provided on activating the sub-slice it will have to be provided on deactivating as well. This identifier is cleared on successful deform of a sub-slice. |
| `acceleratorTopologiesInfo[].acceleratorTopologyState.error` | `object` Reason why the topology state change failed |
| `acceleratorTopologiesInfo[].acceleratorTopologyState.error.errors[]` | `object` Output only. The array of errors encountered while processing this operation. |
| `acceleratorTopologiesInfo[].acceleratorTopologyState.error.errors[].code` | `string` Output only. The error type identifier for this error. |
| `acceleratorTopologiesInfo[].acceleratorTopologyState.error.errors[].location` | `string` Output only. Indicates the field in the request that caused the error. This property is optional. |
| `acceleratorTopologiesInfo[].acceleratorTopologyState.error.errors[].message` | `string` Output only. An optional, human-readable error message. |
| `acceleratorTopologiesInfo[].acceleratorTopologyState.error.errors[].errorDetails[]` | `object` Output only. An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED. |
| `acceleratorTopologiesInfo[].acceleratorTopologyState.error.errors[].errorDetails[].errorInfo` | `object` Error information containing structured domain, reason, and metadata. |
| `acceleratorTopologiesInfo[].acceleratorTopologyState.error.errors[].errorDetails[].errorInfo.reason` | `string` The reason of the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match a regular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`, which represents UPPER_SNAKE_CASE. |
| `acceleratorTopologiesInfo[].acceleratorTopologyState.error.errors[].errorDetails[].errorInfo.domain` | `string` The logical grouping to which the "reason" belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: "pubsub.googleapis.com". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is "googleapis.com". |
| `acceleratorTopologiesInfo[].acceleratorTopologyState.error.errors[].errorDetails[].errorInfo.metadatas` | `map (key: string, value: string)` Additional structured details about this error. Keys must match a regular expression of `[a-z][a-zA-Z0-9-_]+` but should ideally be lowerCamelCase. Also, they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than `{"instanceLimit": "100/request"}`, should be returned as, `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of instances that can be created in a single (batch) request. |
| `acceleratorTopologiesInfo[].acceleratorTopologyState.error.errors[].errorDetails[].quotaInfo` | `object` Details about quota limits and metrics when a quota is exceeded. |
| `acceleratorTopologiesInfo[].acceleratorTopologyState.error.errors[].errorDetails[].quotaInfo.metricName` | `string` The Compute Engine quota metric name. |
| `acceleratorTopologiesInfo[].acceleratorTopologyState.error.errors[].errorDetails[].quotaInfo.limitName` | `string` The name of the quota limit. |
| `acceleratorTopologiesInfo[].acceleratorTopologyState.error.errors[].errorDetails[].quotaInfo.dimensions` | `map (key: string, value: string)` The map holding related quota dimensions. |
| `acceleratorTopologiesInfo[].acceleratorTopologyState.error.errors[].errorDetails[].quotaInfo.limit` | `number` Current effective quota limit. The limit's unit depends on the quota type or metric. |
| `acceleratorTopologiesInfo[].acceleratorTopologyState.error.errors[].errorDetails[].quotaInfo.futureLimit` | `number` Future quota limit being rolled out. The limit's unit depends on the quota type or metric. |
| `acceleratorTopologiesInfo[].acceleratorTopologyState.error.errors[].errorDetails[].quotaInfo.rolloutStatus` | `enum` Rollout status of the future quota limit. |
| `acceleratorTopologiesInfo[].acceleratorTopologyState.error.errors[].errorDetails[].help` | `object` Links and information to help the user resolve the error. |
| `acceleratorTopologiesInfo[].acceleratorTopologyState.error.errors[].errorDetails[].help.links[]` | `object` URL(s) pointing to additional information on handling the current error. |
| `acceleratorTopologiesInfo[].acceleratorTopologyState.error.errors[].errorDetails[].help.links[].description` | `string` Describes what the link offers. |
| `acceleratorTopologiesInfo[].acceleratorTopologyState.error.errors[].errorDetails[].help.links[].url` | `string` The URL of the link. |
| `acceleratorTopologiesInfo[].acceleratorTopologyState.error.errors[].errorDetails[].localizedMessage` | `object` A localized human-readable error message intended for end users. |
| `acceleratorTopologiesInfo[].acceleratorTopologyState.error.errors[].errorDetails[].localizedMessage.locale` | `string` The locale used following the specification defined at <https://www.rfc-editor.org/rfc/bcp/bcp47.txt>. Examples are: "en-US", "fr-CH", "es-MX" |
| `acceleratorTopologiesInfo[].acceleratorTopologyState.error.errors[].errorDetails[].localizedMessage.message` | `string` The localized error message in the above locale. |
| `acceleratorTopologiesInfo[].acceleratorTopologyState.errorTimestamp` | ``string (`https://protobuf.dev/reference/protobuf/google.protobuf#timestamp` format)`` Timestamp when the last error happened Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: `"2014-10-02T15:01:23Z"`, `"2014-10-02T15:01:23.045123456Z"` or `"2014-10-02T15:01:23+05:30"`. |
| `acceleratorTopologiesInfo[].parent` | `string` Identified by the topology Id in the acceleratorTopologyInfo map. Empty for the top-level topology |
| `multiMig` | `string` URL to MMIG this MIG belongs to. |

### Authorization scopes

Requires one of the following OAuth scopes:

- `https://www.googleapis.com/auth/compute.readonly`
- `
  https://www.googleapis.com/auth/compute`
- `
  https://www.googleapis.com/auth/cloud-platform`

For more information, see the [Authentication Overview](https://docs.cloud.google.com/docs/authentication#authorization-gcp).

### IAM Permissions

In addition to any permissions specified on the fields above, authorization requires one or more of the following [IAM](https://cloud.google.com/iam/docs/) permissions:

- `compute.instanceGroupManagers.get`

To find predefined roles that contain those permissions, see [Compute Engine IAM Roles](https://docs.cloud.google.com/compute/docs/access/iam).