Method: routers.getRouterStatus

Retrieves runtime information of the specified router.

HTTP request

GET https://compute.googleapis.com/compute/beta/projects/{project}/regions/{region}/routers/{router}/getRouterStatus

The URL uses gRPC Transcoding syntax.

Path parameters

Parameters
project

string

Project ID for this request.

region

string

Name of the region for this request.

router

string

Name of the Router resource to query.

Request body

The request body must be empty.

Response body

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

JSON representation
{
  "kind": string,
  "result": {
    "network": string,
    "bestRoutes": [
      {
        "kind": string,
        "id": string,
        "creationTimestamp": string,
        "name": string,
        "description": string,
        "network": string,
        "tags": [
          string
        ],
        "destRange": string,
        "priority": integer,
        "nextHopInstance": string,
        "nextHopIp": string,
        "nextHopNetwork": string,
        "nextHopGateway": string,
        "nextHopPeering": string,
        "nextHopIlb": string,
        "warnings": [
          {
            "code": enum,
            "message": string,
            "data": [
              {
                "key": string,
                "value": string
              }
            ]
          }
        ],
        "nextHopVpnTunnel": string,
        "nextHopHub": string,
        "nextHopInterconnectAttachment": string,
        "selfLink": string,
        "routeType": enum,
        "asPaths": [
          {
            "pathSegmentType": enum,
            "asLists": [
              integer
            ]
          }
        ],
        "routeStatus": enum,
        "nextHopOrigin": enum,
        "nextHopMed": integer,
        "nextHopInterRegionCost": integer
      }
    ],
    "bestRoutesForRouter": [
      {
        "kind": string,
        "id": string,
        "creationTimestamp": string,
        "name": string,
        "description": string,
        "network": string,
        "tags": [
          string
        ],
        "destRange": string,
        "priority": integer,
        "nextHopInstance": string,
        "nextHopIp": string,
        "nextHopNetwork": string,
        "nextHopGateway": string,
        "nextHopPeering": string,
        "nextHopIlb": string,
        "warnings": [
          {
            "code": enum,
            "message": string,
            "data": [
              {
                "key": string,
                "value": string
              }
            ]
          }
        ],
        "nextHopVpnTunnel": string,
        "nextHopHub": string,
        "nextHopInterconnectAttachment": string,
        "selfLink": string,
        "routeType": enum,
        "asPaths": [
          {
            "pathSegmentType": enum,
            "asLists": [
              integer
            ]
          }
        ],
        "routeStatus": enum,
        "nextHopOrigin": enum,
        "nextHopMed": integer,
        "nextHopInterRegionCost": integer
      }
    ],
    "bgpPeerStatus": [
      {
        "name": string,
        "linkedVpnTunnel": string,
        "routerApplianceInstance": string,
        "ipAddress": string,
        "peerIpAddress": string,
        "ipv6NexthopAddress": string,
        "peerIpv6NexthopAddress": string,
        "enableIpv6": boolean,
        "status": enum,
        "state": string,
        "uptime": string,
        "uptimeSeconds": string,
        "numLearnedRoutes": integer,
        "advertisedRoutes": [
          {
            "kind": string,
            "id": string,
            "creationTimestamp": string,
            "name": string,
            "description": string,
            "network": string,
            "tags": [
              string
            ],
            "destRange": string,
            "priority": integer,
            "nextHopInstance": string,
            "nextHopIp": string,
            "nextHopNetwork": string,
            "nextHopGateway": string,
            "nextHopPeering": string,
            "nextHopIlb": string,
            "warnings": [
              {
                "code": enum,
                "message": string,
                "data": [
                  {
                    "key": string,
                    "value": string
                  }
                ]
              }
            ],
            "nextHopVpnTunnel": string,
            "nextHopHub": string,
            "nextHopInterconnectAttachment": string,
            "selfLink": string,
            "routeType": enum,
            "asPaths": [
              {
                "pathSegmentType": enum,
                "asLists": [
                  integer
                ]
              }
            ],
            "routeStatus": enum,
            "nextHopOrigin": enum,
            "nextHopMed": integer,
            "nextHopInterRegionCost": integer
          }
        ],
        "bfdStatus": {
          "uptimeMs": string,
          "localState": enum,
          "localDiagnostic": enum,
          "controlPacketCounts": {
            "numTx": integer,
            "numRx": integer,
            "numRxSuccessful": integer,
            "numRxRejected": integer
          },
          "txPacket": {
            "version": integer,
            "diagnostic": enum,
            "state": enum,
            "poll": boolean,
            "final": boolean,
            "controlPlaneIndependent": boolean,
            "authenticationPresent": boolean,
            "demand": boolean,
            "multipoint": boolean,
            "multiplier": integer,
            "length": integer,
            "myDiscriminator": integer,
            "yourDiscriminator": integer,
            "minTxIntervalMs": integer,
            "minRxIntervalMs": integer,
            "minEchoRxIntervalMs": integer
          },
          "rxPacket": {
            "version": integer,
            "diagnostic": enum,
            "state": enum,
            "poll": boolean,
            "final": boolean,
            "controlPlaneIndependent": boolean,
            "authenticationPresent": boolean,
            "demand": boolean,
            "multipoint": boolean,
            "multiplier": integer,
            "length": integer,
            "myDiscriminator": integer,
            "yourDiscriminator": integer,
            "minTxIntervalMs": integer,
            "minRxIntervalMs": integer,
            "minEchoRxIntervalMs": integer
          },
          "controlPacketIntervals": [
            {
              "type": enum,
              "duration": enum,
              "numIntervals": string,
              "minMs": string,
              "maxMs": string,
              "avgMs": string
            }
          ],
          "negotiatedLocalControlTxIntervalMs": integer,
          "bfdSessionInitializationMode": enum,
          "configUpdateTimestampMicros": string
        },
        "md5AuthEnabled": boolean,
        "statusReason": enum,
        "ipv4NexthopAddress": string,
        "peerIpv4NexthopAddress": string,
        "enableIpv4": boolean
      }
    ],
    "natStatus": [
      {
        "name": string,
        "userAllocatedNatIpResources": [
          string
        ],
        "drainUserAllocatedNatIps": [
          string
        ],
        "userAllocatedNatIps": [
          string
        ],
        "autoAllocatedNatIps": [
          string
        ],
        "drainAutoAllocatedNatIps": [
          string
        ],
        "minExtraNatIpsNeeded": integer,
        "numVmEndpointsWithNatMappings": integer,
        "ruleStatus": [
          {
            "ruleNumber": integer,
            "activeNatIps": [
              string
            ],
            "drainNatIps": [
              string
            ],
            "minExtraIpsNeeded": integer,
            "numVmEndpointsWithNatMappings": integer
          }
        ]
      }
    ]
  }
}
Fields
kind

string

Type of resource.

result

object

result.network

string

URI of the network to which this router belongs.

result.bestRoutes[]

object

A list of the best dynamic routes for this Cloud Router's Virtual Private Cloud (VPC) network in the same region as this Cloud Router.

Lists all of the best routes per prefix that are programmed into this region's VPC data plane.

When global dynamic routing mode is turned on in the VPC network, this list can include cross-region dynamic routes from Cloud Routers in other regions.

result.bestRoutes[].kind

string

[Output Only] Type of this resource. Always compute#routes for Route resources.

result.bestRoutes[].id

string (uint64 format)

[Output Only] The unique identifier for the resource. This identifier is defined by the server.

result.bestRoutes[].creationTimestamp

string

[Output Only] Creation timestamp in RFC3339 text format.

result.bestRoutes[].name

string

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])?. The first character must be a lowercase letter, and all following characters (except for the last character) must be a dash, lowercase letter, or digit. The last character must be a lowercase letter or digit.

result.bestRoutes[].description

string

An optional description of this resource. Provide this field when you create the resource.

result.bestRoutes[].network

string

Fully-qualified URL of the network that this route applies to.

result.bestRoutes[].tags[]

string

A list of instance tags to which this route applies.

result.bestRoutes[].destRange

string

The destination range of outgoing packets that this route applies to. Both IPv4 and IPv6 are supported. Must specify an IPv4 range (e.g. 192.0.2.0/24) or an IPv6 range in RFC 4291 format (e.g. 2001:db8::/32). IPv6 range will be displayed using RFC 5952 compressed format.

result.bestRoutes[].priority

integer (uint32 format)

The priority of this route. Priority is used to break ties in cases where there is more than one matching route of equal prefix length. In cases where multiple routes have equal prefix length, the one with the lowest-numbered priority value wins. The default value is 1000. The priority value must be from 0 to 65535, inclusive.

result.bestRoutes[].nextHopInstance

string

The URL to an instance that should handle matching packets. You can specify this as a full or partial URL. For example:
https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/

result.bestRoutes[].nextHopIp

string

The network IP address of an instance that should handle matching packets. Both IPv6 address and IPv4 addresses are supported. Must specify an IPv4 address in dot-decimal notation (e.g. 192.0.2.99) or an IPv6 address in RFC 4291 format (e.g. 2001:db8::2d9:51:0:0 or 2001:db8:0:0:2d9:51:0:0). IPv6 addresses will be displayed using RFC 5952 compressed format (e.g. 2001:db8::2d9:51:0:0). Should never be an IPv4-mapped IPv6 address.

result.bestRoutes[].nextHopNetwork

string

The URL of the local network if it should handle matching packets.

result.bestRoutes[].nextHopGateway

string

The URL to a gateway that should handle matching packets. You can only specify the internet gateway using a full or partial valid URL:
projects/project/global/gateways/default-internet-gateway

result.bestRoutes[].nextHopPeering

string

[Output Only] The network peering name that should handle matching packets, which should conform to RFC1035.

result.bestRoutes[].nextHopIlb

string

The URL to a forwarding rule of type loadBalancingScheme=INTERNAL that should handle matching packets or the IP address of the forwarding Rule. For example, the following are all valid URLs:

If an IP address is provided, must specify an IPv4 address in dot-decimal notation or an IPv6 address in RFC 4291 format. For example, the following are all valid IP addresses:
  • 10.128.0.56
  • 2001:db8::2d9:51:0:0
  • 2001:db8:0:0:2d9:51:0:0
IPv6 addresses will be displayed using RFC 5952 compressed format (e.g. 2001:db8::2d9:51:0:0). Should never be an IPv4-mapped IPv6 address.

result.bestRoutes[].warnings[]

object

[Output Only] If potential misconfigurations are detected for this route, this field will be populated with warning messages.

result.bestRoutes[].warnings[].code

enum

[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.

result.bestRoutes[].warnings[].message

string

[Output Only] A human-readable description of the warning code.

result.bestRoutes[].warnings[].data[]

object

[Output Only] Metadata about this warning in key: value format. For example:

"data": [  {  "key": "scope",  "value": "zones/us-east1-d"  }

result.bestRoutes[].warnings[].data[].key

string

[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 scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).

result.bestRoutes[].warnings[].data[].value

string

[Output Only] A warning data value corresponding to the key.

result.bestRoutes[].nextHopVpnTunnel

string

The URL to a VpnTunnel that should handle matching packets.

result.bestRoutes[].nextHopHub

string

[Output Only] The full resource name of the Network Connectivity Center hub that will handle matching packets.

result.bestRoutes[].nextHopInterconnectAttachment

string

[Output Only] The URL to an InterconnectAttachment which is the next hop for the route. This field will only be populated for the dynamic routes generated by Cloud Router with a linked interconnectAttachment.

result.bestRoutes[].selfLink

string

[Output Only] Server-defined fully-qualified URL for this resource.

result.bestRoutes[].routeType

enum

[Output Only] The type of this route, which can be one of the following values:

  • 'TRANSIT' for a transit route that this router learned from another Cloud Router and will readvertise to one of its BGP peers
  • 'SUBNET' for a route from a subnet of the VPC
  • 'BGP' for a route learned from a BGP peer of this router
  • 'STATIC' for a static route
  • result.bestRoutes[].asPaths[]

    object

    [Output Only] AS path.

    result.bestRoutes[].asPaths[].pathSegmentType

    enum

    [Output Only] The type of the AS Path, which can be one of the following values:

  • 'AS_SET': unordered set of autonomous systems that the route in has traversed
  • 'AS_SEQUENCE': ordered set of autonomous systems that the route has traversed
  • 'AS_CONFED_SEQUENCE': ordered set of Member Autonomous Systems in the local confederation that the route has traversed
  • 'AS_CONFED_SET': unordered set of Member Autonomous Systems in the local confederation that the route has traversed
  • result.bestRoutes[].asPaths[].asLists[]

    integer

    [Output Only] The AS numbers of the AS Path.

    result.bestRoutes[].routeStatus

    enum

    [Output only] The status of the route.

    result.bestRoutes[].nextHopOrigin

    enum

    [Output Only] Indicates the origin of the route. Can be IGP (Interior Gateway Protocol), EGP (Exterior Gateway Protocol), or INCOMPLETE.

    result.bestRoutes[].nextHopMed

    integer (uint32 format)

    [Output Only] Multi-Exit Discriminator, a BGP route metric that indicates the desirability of a particular route in a network.

    result.bestRoutes[].nextHopInterRegionCost

    integer (uint32 format)

    [Output only] Internal fixed region-to-region cost that Google Cloud calculates based on factors such as network performance, distance, and available bandwidth between regions.

    result.bestRoutesForRouter[]

    object

    A list of the best BGP routes learned by this Cloud Router.

    It is possible that routes listed might not be programmed into the data plane, if the Google Cloud control plane finds a more optimal route for a prefix than a route learned by this Cloud Router.

    result.bestRoutesForRouter[].kind

    string

    [Output Only] Type of this resource. Always compute#routes for Route resources.

    result.bestRoutesForRouter[].id

    string (uint64 format)

    [Output Only] The unique identifier for the resource. This identifier is defined by the server.

    result.bestRoutesForRouter[].creationTimestamp

    string

    [Output Only] Creation timestamp in RFC3339 text format.

    result.bestRoutesForRouter[].name

    string

    Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])?. The first character must be a lowercase letter, and all following characters (except for the last character) must be a dash, lowercase letter, or digit. The last character must be a lowercase letter or digit.

    result.bestRoutesForRouter[].description

    string

    An optional description of this resource. Provide this field when you create the resource.

    result.bestRoutesForRouter[].network

    string

    Fully-qualified URL of the network that this route applies to.

    result.bestRoutesForRouter[].tags[]

    string

    A list of instance tags to which this route applies.

    result.bestRoutesForRouter[].destRange

    string

    The destination range of outgoing packets that this route applies to. Both IPv4 and IPv6 are supported. Must specify an IPv4 range (e.g. 192.0.2.0/24) or an IPv6 range in RFC 4291 format (e.g. 2001:db8::/32). IPv6 range will be displayed using RFC 5952 compressed format.

    result.bestRoutesForRouter[].priority

    integer (uint32 format)

    The priority of this route. Priority is used to break ties in cases where there is more than one matching route of equal prefix length. In cases where multiple routes have equal prefix length, the one with the lowest-numbered priority value wins. The default value is 1000. The priority value must be from 0 to 65535, inclusive.

    result.bestRoutesForRouter[].nextHopInstance

    string

    The URL to an instance that should handle matching packets. You can specify this as a full or partial URL. For example:
    https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/

    result.bestRoutesForRouter[].nextHopIp

    string

    The network IP address of an instance that should handle matching packets. Both IPv6 address and IPv4 addresses are supported. Must specify an IPv4 address in dot-decimal notation (e.g. 192.0.2.99) or an IPv6 address in RFC 4291 format (e.g. 2001:db8::2d9:51:0:0 or 2001:db8:0:0:2d9:51:0:0). IPv6 addresses will be displayed using RFC 5952 compressed format (e.g. 2001:db8::2d9:51:0:0). Should never be an IPv4-mapped IPv6 address.

    result.bestRoutesForRouter[].nextHopNetwork

    string

    The URL of the local network if it should handle matching packets.

    result.bestRoutesForRouter[].nextHopGateway

    string

    The URL to a gateway that should handle matching packets. You can only specify the internet gateway using a full or partial valid URL:
    projects/project/global/gateways/default-internet-gateway

    result.bestRoutesForRouter[].nextHopPeering

    string

    [Output Only] The network peering name that should handle matching packets, which should conform to RFC1035.

    result.bestRoutesForRouter[].nextHopIlb

    string

    The URL to a forwarding rule of type loadBalancingScheme=INTERNAL that should handle matching packets or the IP address of the forwarding Rule. For example, the following are all valid URLs:

    If an IP address is provided, must specify an IPv4 address in dot-decimal notation or an IPv6 address in RFC 4291 format. For example, the following are all valid IP addresses:
    • 10.128.0.56
    • 2001:db8::2d9:51:0:0
    • 2001:db8:0:0:2d9:51:0:0
    IPv6 addresses will be displayed using RFC 5952 compressed format (e.g. 2001:db8::2d9:51:0:0). Should never be an IPv4-mapped IPv6 address.

    result.bestRoutesForRouter[].warnings[]

    object

    [Output Only] If potential misconfigurations are detected for this route, this field will be populated with warning messages.

    result.bestRoutesForRouter[].warnings[].code

    enum

    [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.

    result.bestRoutesForRouter[].warnings[].message

    string

    [Output Only] A human-readable description of the warning code.

    result.bestRoutesForRouter[].warnings[].data[]

    object

    [Output Only] Metadata about this warning in key: value format. For example:

    "data": [  {  "key": "scope",  "value": "zones/us-east1-d"  }

    result.bestRoutesForRouter[].warnings[].data[].key

    string

    [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 scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).

    result.bestRoutesForRouter[].warnings[].data[].value

    string

    [Output Only] A warning data value corresponding to the key.

    result.bestRoutesForRouter[].nextHopVpnTunnel

    string

    The URL to a VpnTunnel that should handle matching packets.

    result.bestRoutesForRouter[].nextHopHub

    string

    [Output Only] The full resource name of the Network Connectivity Center hub that will handle matching packets.

    result.bestRoutesForRouter[].nextHopInterconnectAttachment

    string

    [Output Only] The URL to an InterconnectAttachment which is the next hop for the route. This field will only be populated for the dynamic routes generated by Cloud Router with a linked interconnectAttachment.

    result.bestRoutesForRouter[].selfLink

    string

    [Output Only] Server-defined fully-qualified URL for this resource.

    result.bestRoutesForRouter[].routeType

    enum

    [Output Only] The type of this route, which can be one of the following values:

  • 'TRANSIT' for a transit route that this router learned from another Cloud Router and will readvertise to one of its BGP peers
  • 'SUBNET' for a route from a subnet of the VPC
  • 'BGP' for a route learned from a BGP peer of this router
  • 'STATIC' for a static route
  • result.bestRoutesForRouter[].asPaths[]

    object

    [Output Only] AS path.

    result.bestRoutesForRouter[].asPaths[].pathSegmentType

    enum

    [Output Only] The type of the AS Path, which can be one of the following values:

  • 'AS_SET': unordered set of autonomous systems that the route in has traversed
  • 'AS_SEQUENCE': ordered set of autonomous systems that the route has traversed
  • 'AS_CONFED_SEQUENCE': ordered set of Member Autonomous Systems in the local confederation that the route has traversed
  • 'AS_CONFED_SET': unordered set of Member Autonomous Systems in the local confederation that the route has traversed
  • result.bestRoutesForRouter[].asPaths[].asLists[]

    integer

    [Output Only] The AS numbers of the AS Path.

    result.bestRoutesForRouter[].routeStatus

    enum

    [Output only] The status of the route.

    result.bestRoutesForRouter[].nextHopOrigin

    enum

    [Output Only] Indicates the origin of the route. Can be IGP (Interior Gateway Protocol), EGP (Exterior Gateway Protocol), or INCOMPLETE.

    result.bestRoutesForRouter[].nextHopMed

    integer (uint32 format)

    [Output Only] Multi-Exit Discriminator, a BGP route metric that indicates the desirability of a particular route in a network.

    result.bestRoutesForRouter[].nextHopInterRegionCost

    integer (uint32 format)

    [Output only] Internal fixed region-to-region cost that Google Cloud calculates based on factors such as network performance, distance, and available bandwidth between regions.

    result.bgpPeerStatus[]

    object

    result.bgpPeerStatus[].name

    string

    Name of this BGP peer. Unique within the Routers resource.

    result.bgpPeerStatus[].linkedVpnTunnel

    string

    URL of the VPN tunnel that this BGP peer controls.

    result.bgpPeerStatus[].routerApplianceInstance

    string

    [Output only] URI of the VM instance that is used as third-party router appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance is the peer side of the BGP session.

    result.bgpPeerStatus[].ipAddress

    string

    IP address of the local BGP interface.

    result.bgpPeerStatus[].peerIpAddress

    string

    IP address of the remote BGP interface.

    result.bgpPeerStatus[].ipv6NexthopAddress

    string

    IPv6 address of the local BGP interface.

    result.bgpPeerStatus[].peerIpv6NexthopAddress

    string

    IPv6 address of the remote BGP interface.

    result.bgpPeerStatus[].enableIpv6

    boolean

    Enable IPv6 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 6.

    result.bgpPeerStatus[].status

    enum

    Status of the BGP peer: {UP, DOWN}

    result.bgpPeerStatus[].state

    string

    The state of the BGP session. For a list of possible values for this field, see BGP session states.

    result.bgpPeerStatus[].uptime

    string

    Time this session has been up. Format: 14 years, 51 weeks, 6 days, 23 hours, 59 minutes, 59 seconds

    result.bgpPeerStatus[].uptimeSeconds

    string

    Time this session has been up, in seconds. Format: 145

    result.bgpPeerStatus[].numLearnedRoutes

    integer (uint32 format)

    Number of routes learned from the remote BGP Peer.

    result.bgpPeerStatus[].advertisedRoutes[]

    object

    Routes that were advertised to the remote BGP peer

    result.bgpPeerStatus[].advertisedRoutes[].kind

    string

    [Output Only] Type of this resource. Always compute#routes for Route resources.

    result.bgpPeerStatus[].advertisedRoutes[].id

    string (uint64 format)

    [Output Only] The unique identifier for the resource. This identifier is defined by the server.

    result.bgpPeerStatus[].advertisedRoutes[].creationTimestamp

    string

    [Output Only] Creation timestamp in RFC3339 text format.

    result.bgpPeerStatus[].advertisedRoutes[].name

    string

    Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])?. The first character must be a lowercase letter, and all following characters (except for the last character) must be a dash, lowercase letter, or digit. The last character must be a lowercase letter or digit.

    result.bgpPeerStatus[].advertisedRoutes[].description

    string

    An optional description of this resource. Provide this field when you create the resource.

    result.bgpPeerStatus[].advertisedRoutes[].network

    string

    Fully-qualified URL of the network that this route applies to.

    result.bgpPeerStatus[].advertisedRoutes[].tags[]

    string

    A list of instance tags to which this route applies.

    result.bgpPeerStatus[].advertisedRoutes[].destRange

    string

    The destination range of outgoing packets that this route applies to. Both IPv4 and IPv6 are supported. Must specify an IPv4 range (e.g. 192.0.2.0/24) or an IPv6 range in RFC 4291 format (e.g. 2001:db8::/32). IPv6 range will be displayed using RFC 5952 compressed format.

    result.bgpPeerStatus[].advertisedRoutes[].priority

    integer (uint32 format)

    The priority of this route. Priority is used to break ties in cases where there is more than one matching route of equal prefix length. In cases where multiple routes have equal prefix length, the one with the lowest-numbered priority value wins. The default value is 1000. The priority value must be from 0 to 65535, inclusive.

    result.bgpPeerStatus[].advertisedRoutes[].nextHopInstance

    string

    The URL to an instance that should handle matching packets. You can specify this as a full or partial URL. For example:
    https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/

    result.bgpPeerStatus[].advertisedRoutes[].nextHopIp

    string

    The network IP address of an instance that should handle matching packets. Both IPv6 address and IPv4 addresses are supported. Must specify an IPv4 address in dot-decimal notation (e.g. 192.0.2.99) or an IPv6 address in RFC 4291 format (e.g. 2001:db8::2d9:51:0:0 or 2001:db8:0:0:2d9:51:0:0). IPv6 addresses will be displayed using RFC 5952 compressed format (e.g. 2001:db8::2d9:51:0:0). Should never be an IPv4-mapped IPv6 address.

    result.bgpPeerStatus[].advertisedRoutes[].nextHopNetwork

    string

    The URL of the local network if it should handle matching packets.

    result.bgpPeerStatus[].advertisedRoutes[].nextHopGateway

    string

    The URL to a gateway that should handle matching packets. You can only specify the internet gateway using a full or partial valid URL:
    projects/project/global/gateways/default-internet-gateway

    result.bgpPeerStatus[].advertisedRoutes[].nextHopPeering

    string

    [Output Only] The network peering name that should handle matching packets, which should conform to RFC1035.

    result.bgpPeerStatus[].advertisedRoutes[].nextHopIlb

    string

    The URL to a forwarding rule of type loadBalancingScheme=INTERNAL that should handle matching packets or the IP address of the forwarding Rule. For example, the following are all valid URLs:

    If an IP address is provided, must specify an IPv4 address in dot-decimal notation or an IPv6 address in RFC 4291 format. For example, the following are all valid IP addresses:
    • 10.128.0.56
    • 2001:db8::2d9:51:0:0
    • 2001:db8:0:0:2d9:51:0:0
    IPv6 addresses will be displayed using RFC 5952 compressed format (e.g. 2001:db8::2d9:51:0:0). Should never be an IPv4-mapped IPv6 address.

    result.bgpPeerStatus[].advertisedRoutes[].warnings[]

    object

    [Output Only] If potential misconfigurations are detected for this route, this field will be populated with warning messages.

    result.bgpPeerStatus[].advertisedRoutes[].warnings[].code

    enum

    [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.

    result.bgpPeerStatus[].advertisedRoutes[].warnings[].message

    string

    [Output Only] A human-readable description of the warning code.

    result.bgpPeerStatus[].advertisedRoutes[].warnings[].data[]

    object

    [Output Only] Metadata about this warning in key: value format. For example:

    "data": [  {  "key": "scope",  "value": "zones/us-east1-d"  }

    result.bgpPeerStatus[].advertisedRoutes[].warnings[].data[].key

    string

    [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 scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).

    result.bgpPeerStatus[].advertisedRoutes[].warnings[].data[].value

    string

    [Output Only] A warning data value corresponding to the key.

    result.bgpPeerStatus[].advertisedRoutes[].nextHopVpnTunnel

    string

    The URL to a VpnTunnel that should handle matching packets.

    result.bgpPeerStatus[].advertisedRoutes[].nextHopHub

    string

    [Output Only] The full resource name of the Network Connectivity Center hub that will handle matching packets.

    result.bgpPeerStatus[].advertisedRoutes[].nextHopInterconnectAttachment

    string

    [Output Only] The URL to an InterconnectAttachment which is the next hop for the route. This field will only be populated for the dynamic routes generated by Cloud Router with a linked interconnectAttachment.

    result.bgpPeerStatus[].advertisedRoutes[].selfLink

    string

    [Output Only] Server-defined fully-qualified URL for this resource.

    result.bgpPeerStatus[].advertisedRoutes[].routeType

    enum

    [Output Only] The type of this route, which can be one of the following values:

  • 'TRANSIT' for a transit route that this router learned from another Cloud Router and will readvertise to one of its BGP peers
  • 'SUBNET' for a route from a subnet of the VPC
  • 'BGP' for a route learned from a BGP peer of this router
  • 'STATIC' for a static route
  • result.bgpPeerStatus[].advertisedRoutes[].asPaths[]

    object

    [Output Only] AS path.

    result.bgpPeerStatus[].advertisedRoutes[].asPaths[].pathSegmentType

    enum

    [Output Only] The type of the AS Path, which can be one of the following values:

  • 'AS_SET': unordered set of autonomous systems that the route in has traversed
  • 'AS_SEQUENCE': ordered set of autonomous systems that the route has traversed
  • 'AS_CONFED_SEQUENCE': ordered set of Member Autonomous Systems in the local confederation that the route has traversed
  • 'AS_CONFED_SET': unordered set of Member Autonomous Systems in the local confederation that the route has traversed
  • result.bgpPeerStatus[].advertisedRoutes[].asPaths[].asLists[]

    integer

    [Output Only] The AS numbers of the AS Path.

    result.bgpPeerStatus[].advertisedRoutes[].routeStatus

    enum

    [Output only] The status of the route.

    result.bgpPeerStatus[].advertisedRoutes[].nextHopOrigin

    enum

    [Output Only] Indicates the origin of the route. Can be IGP (Interior Gateway Protocol), EGP (Exterior Gateway Protocol), or INCOMPLETE.

    result.bgpPeerStatus[].advertisedRoutes[].nextHopMed

    integer (uint32 format)

    [Output Only] Multi-Exit Discriminator, a BGP route metric that indicates the desirability of a particular route in a network.

    result.bgpPeerStatus[].advertisedRoutes[].nextHopInterRegionCost

    integer (uint32 format)

    [Output only] Internal fixed region-to-region cost that Google Cloud calculates based on factors such as network performance, distance, and available bandwidth between regions.

    result.bgpPeerStatus[].bfdStatus

    object

    result.bgpPeerStatus[].bfdStatus.uptimeMs

    string (int64 format)

    Session uptime in milliseconds. Value will be 0 if session is not up.

    result.bgpPeerStatus[].bfdStatus.localState

    enum

    The current BFD session state as seen by the transmitting system. These states are specified in section 4.1 of RFC5880

    result.bgpPeerStatus[].bfdStatus.localDiagnostic

    enum

    The diagnostic code specifies the local system's reason for the last change in session state. This allows remote systems to determine the reason that the previous session failed, for example. These diagnostic codes are specified in section 4.1 of RFC5880

    result.bgpPeerStatus[].bfdStatus.controlPacketCounts

    object

    Control packet counts for the current BFD session.

    result.bgpPeerStatus[].bfdStatus.controlPacketCounts.numTx

    integer (uint32 format)

    Number of packets transmitted since the beginning of the current BFD session.

    result.bgpPeerStatus[].bfdStatus.controlPacketCounts.numRx

    integer (uint32 format)

    Number of packets received since the beginning of the current BFD session.

    result.bgpPeerStatus[].bfdStatus.controlPacketCounts.numRxSuccessful

    integer (uint32 format)

    Number of packets received that were successfully processed since the beginning of the current BFD session.

    result.bgpPeerStatus[].bfdStatus.controlPacketCounts.numRxRejected

    integer (uint32 format)

    Number of packets received that were rejected because of errors since the beginning of the current BFD session.

    result.bgpPeerStatus[].bfdStatus.txPacket

    object

    The most recent Tx control packet for this BFD session.

    result.bgpPeerStatus[].bfdStatus.txPacket.version

    integer (uint32 format)

    The version number of the BFD protocol, as specified in section 4.1 of RFC5880.

    result.bgpPeerStatus[].bfdStatus.txPacket.diagnostic

    enum

    The diagnostic code specifies the local system's reason for the last change in session state. This allows remote systems to determine the reason that the previous session failed, for example. These diagnostic codes are specified in section 4.1 of RFC5880

    result.bgpPeerStatus[].bfdStatus.txPacket.state

    enum

    The current BFD session state as seen by the transmitting system. These states are specified in section 4.1 of RFC5880

    result.bgpPeerStatus[].bfdStatus.txPacket.poll

    boolean

    The Poll bit of the BFD packet. This is specified in section 4.1 of RFC5880

    result.bgpPeerStatus[].bfdStatus.txPacket.final

    boolean

    The Final bit of the BFD packet. This is specified in section 4.1 of RFC5880

    result.bgpPeerStatus[].bfdStatus.txPacket.controlPlaneIndependent

    boolean

    The Control Plane Independent bit of the BFD packet. This is specified in section 4.1 of RFC5880

    result.bgpPeerStatus[].bfdStatus.txPacket.authenticationPresent

    boolean

    The Authentication Present bit of the BFD packet. This is specified in section 4.1 of RFC5880

    result.bgpPeerStatus[].bfdStatus.txPacket.demand

    boolean

    The demand bit of the BFD packet. This is specified in section 4.1 of RFC5880

    result.bgpPeerStatus[].bfdStatus.txPacket.multipoint

    boolean

    The multipoint bit of the BFD packet. This is specified in section 4.1 of RFC5880

    result.bgpPeerStatus[].bfdStatus.txPacket.multiplier

    integer (uint32 format)

    The detection time multiplier of the BFD packet. This is specified in section 4.1 of RFC5880

    result.bgpPeerStatus[].bfdStatus.txPacket.length

    integer (uint32 format)

    The length of the BFD Control packet in bytes. This is specified in section 4.1 of RFC5880

    result.bgpPeerStatus[].bfdStatus.txPacket.myDiscriminator

    integer (uint32 format)

    The My Discriminator value in the BFD packet. This is specified in section 4.1 of RFC5880

    result.bgpPeerStatus[].bfdStatus.txPacket.yourDiscriminator

    integer (uint32 format)

    The Your Discriminator value in the BFD packet. This is specified in section 4.1 of RFC5880

    result.bgpPeerStatus[].bfdStatus.txPacket.minTxIntervalMs

    integer (uint32 format)

    The Desired Min TX Interval value in the BFD packet. This is specified in section 4.1 of RFC5880

    result.bgpPeerStatus[].bfdStatus.txPacket.minRxIntervalMs

    integer (uint32 format)

    The Required Min RX Interval value in the BFD packet. This is specified in section 4.1 of RFC5880

    result.bgpPeerStatus[].bfdStatus.txPacket.minEchoRxIntervalMs

    integer (uint32 format)

    The Required Min Echo RX Interval value in the BFD packet. This is specified in section 4.1 of RFC5880

    result.bgpPeerStatus[].bfdStatus.rxPacket

    object

    The most recent Rx control packet for this BFD session.

    result.bgpPeerStatus[].bfdStatus.rxPacket.version

    integer (uint32 format)

    The version number of the BFD protocol, as specified in section 4.1 of RFC5880.

    result.bgpPeerStatus[].bfdStatus.rxPacket.diagnostic

    enum

    The diagnostic code specifies the local system's reason for the last change in session state. This allows remote systems to determine the reason that the previous session failed, for example. These diagnostic codes are specified in section 4.1 of RFC5880

    result.bgpPeerStatus[].bfdStatus.rxPacket.state

    enum

    The current BFD session state as seen by the transmitting system. These states are specified in section 4.1 of RFC5880

    result.bgpPeerStatus[].bfdStatus.rxPacket.poll

    boolean

    The Poll bit of the BFD packet. This is specified in section 4.1 of RFC5880

    result.bgpPeerStatus[].bfdStatus.rxPacket.final

    boolean

    The Final bit of the BFD packet. This is specified in section 4.1 of RFC5880

    result.bgpPeerStatus[].bfdStatus.rxPacket.controlPlaneIndependent

    boolean

    The Control Plane Independent bit of the BFD packet. This is specified in section 4.1 of RFC5880

    result.bgpPeerStatus[].bfdStatus.rxPacket.authenticationPresent

    boolean

    The Authentication Present bit of the BFD packet. This is specified in section 4.1 of RFC5880

    result.bgpPeerStatus[].bfdStatus.rxPacket.demand

    boolean

    The demand bit of the BFD packet. This is specified in section 4.1 of RFC5880

    result.bgpPeerStatus[].bfdStatus.rxPacket.multipoint

    boolean

    The multipoint bit of the BFD packet. This is specified in section 4.1 of RFC5880

    result.bgpPeerStatus[].bfdStatus.rxPacket.multiplier

    integer (uint32 format)

    The detection time multiplier of the BFD packet. This is specified in section 4.1 of RFC5880

    result.bgpPeerStatus[].bfdStatus.rxPacket.length

    integer (uint32 format)

    The length of the BFD Control packet in bytes. This is specified in section 4.1 of RFC5880

    result.bgpPeerStatus[].bfdStatus.rxPacket.myDiscriminator

    integer (uint32 format)

    The My Discriminator value in the BFD packet. This is specified in section 4.1 of RFC5880

    result.bgpPeerStatus[].bfdStatus.rxPacket.yourDiscriminator

    integer (uint32 format)

    The Your Discriminator value in the BFD packet. This is specified in section 4.1 of RFC5880

    result.bgpPeerStatus[].bfdStatus.rxPacket.minTxIntervalMs

    integer (uint32 format)

    The Desired Min TX Interval value in the BFD packet. This is specified in section 4.1 of RFC5880

    result.bgpPeerStatus[].bfdStatus.rxPacket.minRxIntervalMs

    integer (uint32 format)

    The Required Min RX Interval value in the BFD packet. This is specified in section 4.1 of RFC5880

    result.bgpPeerStatus[].bfdStatus.rxPacket.minEchoRxIntervalMs

    integer (uint32 format)

    The Required Min Echo RX Interval value in the BFD packet. This is specified in section 4.1 of RFC5880

    result.bgpPeerStatus[].bfdStatus.controlPacketIntervals[]

    object

    Inter-packet time interval statistics for control packets.

    result.bgpPeerStatus[].bfdStatus.controlPacketIntervals[].type

    enum

    The type of packets for which inter-packet intervals were computed.

    result.bgpPeerStatus[].bfdStatus.controlPacketIntervals[].duration

    enum

    From how long ago in the past these intervals were observed.

    result.bgpPeerStatus[].bfdStatus.controlPacketIntervals[].numIntervals

    string (int64 format)

    Number of inter-packet intervals from which these statistics were derived.

    result.bgpPeerStatus[].bfdStatus.controlPacketIntervals[].minMs

    string (int64 format)

    Minimum observed inter-packet interval in milliseconds.

    result.bgpPeerStatus[].bfdStatus.controlPacketIntervals[].maxMs

    string (int64 format)

    Maximum observed inter-packet interval in milliseconds.

    result.bgpPeerStatus[].bfdStatus.controlPacketIntervals[].avgMs

    string (int64 format)

    Average observed inter-packet interval in milliseconds.

    result.bgpPeerStatus[].bfdStatus.negotiatedLocalControlTxIntervalMs

    integer (uint32 format)

    Negotiated transmit interval for control packets.

    result.bgpPeerStatus[].bfdStatus.bfdSessionInitializationMode

    enum

    The BFD session initialization mode for this BGP peer. If set to ACTIVE, the Cloud Router will initiate the BFD session for this BGP peer. If set to PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP peer.

    result.bgpPeerStatus[].bfdStatus.configUpdateTimestampMicros

    string (int64 format)

    Unix timestamp of the most recent config update.

    result.bgpPeerStatus[].md5AuthEnabled

    boolean

    Informs whether MD5 authentication is enabled on this BGP peer.

    result.bgpPeerStatus[].statusReason

    enum

    Indicates why particular status was returned.

    result.bgpPeerStatus[].ipv4NexthopAddress

    string

    IPv4 address of the local BGP interface.

    result.bgpPeerStatus[].peerIpv4NexthopAddress

    string

    IPv4 address of the remote BGP interface.

    result.bgpPeerStatus[].enableIpv4

    boolean

    Enable IPv4 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 4.

    result.natStatus[]

    object

    result.natStatus[].name

    string

    Unique name of this NAT.

    result.natStatus[].userAllocatedNatIpResources[]

    string

    A list of fully qualified URLs of reserved IP address resources.

    result.natStatus[].drainUserAllocatedNatIps[]

    string

    A list of IPs user-allocated for NAT that are in drain mode. Example: ["1.1.1.1", "179.12.26.133"].

    result.natStatus[].userAllocatedNatIps[]

    string

    A list of IPs user-allocated for NAT. They will be raw IP strings like "179.12.26.133".

    result.natStatus[].autoAllocatedNatIps[]

    string

    A list of IPs auto-allocated for NAT. Example: ["1.1.1.1", "129.2.16.89"]

    result.natStatus[].drainAutoAllocatedNatIps[]

    string

    A list of IPs auto-allocated for NAT that are in drain mode. Example: ["1.1.1.1", "179.12.26.133"].

    result.natStatus[].minExtraNatIpsNeeded

    integer

    The number of extra IPs to allocate. This will be greater than 0 only if user-specified IPs are NOT enough to allow all configured VMs to use NAT. This value is meaningful only when auto-allocation of NAT IPs is not used.

    result.natStatus[].numVmEndpointsWithNatMappings

    integer

    Number of VM endpoints (i.e., Nics) that can use NAT.

    result.natStatus[].ruleStatus[]

    object

    Status of rules in this NAT.

    result.natStatus[].ruleStatus[].ruleNumber

    integer

    Rule number of the rule.

    result.natStatus[].ruleStatus[].activeNatIps[]

    string

    A list of active IPs for NAT. Example: ["1.1.1.1", "179.12.26.133"].

    result.natStatus[].ruleStatus[].drainNatIps[]

    string

    A list of IPs for NAT that are in drain mode. Example: ["1.1.1.1", "179.12.26.133"].

    result.natStatus[].ruleStatus[].minExtraIpsNeeded

    integer

    The number of extra IPs to allocate. This will be greater than 0 only if the existing IPs in this NAT Rule are NOT enough to allow all configured VMs to use NAT.

    result.natStatus[].ruleStatus[].numVmEndpointsWithNatMappings

    integer

    Number of VM endpoints (i.e., NICs) that have NAT Mappings from this NAT Rule.

    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.

    IAM Permissions

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

    • compute.routers.get

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