Method: interconnects.getDiagnostics

Returns theinterconnectDiagnostics for the specified Interconnect.

In the event of a global outage, do not use this API to make decisions about where to redirect your network traffic.

Unlike a VLAN attachment, which is regional, a Cloud Interconnect connection is a global resource. A global outage can prevent this API from functioning properly.

HTTP request

GET https://compute.googleapis.com/compute/beta/projects/{project}/global/interconnects/{interconnect}/getDiagnostics

The URL usesgRPC Transcoding syntax. To know more about valid error responses that can be thrown by this HTTP request, please refer to theservice error catalog

Path parameters

Parameters
project

string

Project ID for this request.

interconnect

string

Name of the interconnect resource to query.

Request body

The request body must be empty.

Response body

Response for the InterconnectsGetDiagnosticsRequest.

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

JSON representation
{"result":{"macAddress":string,"arpCaches":[{"macAddress":string,"ipAddress":string}],"links":[{"circuitId":string,"googleDemarc":string,"receivingOpticalPower":{"value":number,"state":enum},"transmittingOpticalPower":{"value":number,"state":enum},"lacpStatus":{"state":enum,"googleSystemId":string,"neighborSystemId":string},"operationalStatus":enum,"arpCaches":[{"macAddress":string,"ipAddress":string}],"macsec":{"operational":boolean,"ckn":string}}],"bundleOperationalStatus":enum,"bundleAggregationType":enum}}
Fields
result

object

result.macAddress

string

The MAC address of the Interconnect's bundle interface.

result.arpCaches[]

object

A list ofInterconnectDiagnostics.ARPEntry objects, describing individual neighbors currently seen by the Google router in the ARP cache for the Interconnect. This will be empty when the Interconnect is not bundled.

result.arpCaches[].macAddress

string

The MAC address of this ARP neighbor.

result.arpCaches[].ipAddress

string

The IP address of this ARP neighbor.

result.links[]

object

A list ofInterconnectDiagnostics.LinkStatus objects, describing the status for each link on the Interconnect.

result.links[].circuitId

string

The unique ID for this link assigned during turn up by Google.

result.links[].googleDemarc

string

The Demarc address assigned by Google and provided in the LoA.

result.links[].receivingOpticalPower

object

AnInterconnectDiagnostics.LinkOpticalPower object, describing the current value and status of the received light level.

result.links[].receivingOpticalPower.value

number

Value of the current receiving or transmitting optical power, read in dBm. Take a known good optical value, give it a 10% margin and trigger warnings relative to that value. In general, a -7dBm warning and a -11dBm alarm are good optical value estimates for most links.

result.links[].receivingOpticalPower.state

enum

The status of the current value when compared to the warning and alarm levels for the receiving or transmitting transceiver. Possible states include:

  • OK: The value has not crossed a warning threshold.
  • LOW_WARNING: The value has crossed below the low warning threshold.
  • HIGH_WARNING: The value has crossed above the high warning threshold.
  • LOW_ALARM: The value has crossed below the low alarm threshold.
  • HIGH_ALARM: The value has crossed above the high alarm threshold.

result.links[].transmittingOpticalPower

object

AnInterconnectDiagnostics.LinkOpticalPower object, describing the current value and status of the transmitted light level.

result.links[].transmittingOpticalPower.value

number

Value of the current receiving or transmitting optical power, read in dBm. Take a known good optical value, give it a 10% margin and trigger warnings relative to that value. In general, a -7dBm warning and a -11dBm alarm are good optical value estimates for most links.

result.links[].transmittingOpticalPower.state

enum

The status of the current value when compared to the warning and alarm levels for the receiving or transmitting transceiver. Possible states include:

  • OK: The value has not crossed a warning threshold.
  • LOW_WARNING: The value has crossed below the low warning threshold.
  • HIGH_WARNING: The value has crossed above the high warning threshold.
  • LOW_ALARM: The value has crossed below the low alarm threshold.
  • HIGH_ALARM: The value has crossed above the high alarm threshold.

result.links[].lacpStatus

object

result.links[].lacpStatus.state

enum

The state of a LACP link, which can take one of the following values:

  • ACTIVE: The link is configured and active within the bundle.
  • DETACHED: The link is not configured within the bundle. This means that the rest of the object should be empty.

result.links[].lacpStatus.googleSystemId

string

System ID of the port on Google's side of the LACP exchange.

result.links[].lacpStatus.neighborSystemId

string

System ID of the port on the neighbor's side of the LACP exchange.

result.links[].operationalStatus

enum

The operational status of the link.

result.links[].arpCaches[]

object

A list ofInterconnectDiagnostics.ARPEntry objects, describing the ARP neighbor entries seen on this link. This will be empty if the link is bundled

result.links[].arpCaches[].macAddress

string

The MAC address of this ARP neighbor.

result.links[].arpCaches[].ipAddress

string

The IP address of this ARP neighbor.

result.links[].macsec

object

Describes the status of MACsec encryption on this link.

result.links[].macsec.operational

boolean

Indicates whether or not MACsec is operational on this link.

result.links[].macsec.ckn

string

Indicates the Connectivity Association Key Name (CKN) currently being used if MACsec is operational.

result.bundleOperationalStatus

enum

The operational status of the bundle interface.

result.bundleAggregationType

enum

The aggregation type of the bundle interface.

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 theAuthentication Overview.

IAM Permissions

In addition to any permissions specified on the fields above, authorization requires one or more of the followingIAM permissions:

  • compute.interconnects.get

To find predefined roles that contain those permissions, seeCompute Engine IAM Roles.

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-09-18 UTC.