REST Resource: projects.locations.spokes

Resource: Spoke

A spoke represents a connection between your Google Cloud network resources and a non-Google-Cloud network.

When you create a spoke, you associate it with a hub. You must also identify a value for exactly one of the following fields:

  • linkedVpnTunnels
  • linkedInterconnectAttachments
  • linkedRouterApplianceInstances
JSON representation
{
  "name": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "description": string,
  "hub": string,
  "linkedVpnTunnels": {
    object (LinkedVpnTunnels)
  },
  "linkedInterconnectAttachments": {
    object (LinkedInterconnectAttachments)
  },
  "linkedRouterApplianceInstances": {
    object (LinkedRouterApplianceInstances)
  },
  "uniqueId": string,
  "state": enum (State)
}
Fields
name

string

Immutable. The name of the spoke. Spoke names must be unique. They use the following form: projects/{projectNumber}/locations/{region}/spokes/{spokeId}

createTime

string (Timestamp format)

Output only. The time the spoke was created.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Output only. The time the spoke was last updated.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

labels

map (key: string, value: string)

Optional labels in key:value format. For more information about labels, see Requirements for labels.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

description

string

An optional description of the spoke.

hub

string

Immutable. The name of the hub that this spoke is attached to.

linkedVpnTunnels

object (LinkedVpnTunnels)

VPN tunnels that are associated with the spoke.

linkedInterconnectAttachments

object (LinkedInterconnectAttachments)

VLAN attachments that are associated with the spoke.

linkedRouterApplianceInstances

object (LinkedRouterApplianceInstances)

Router appliance instances that are associated with the spoke.

uniqueId

string

Output only. The Google-generated UUID for the spoke. This value is unique across all spoke resources. If a spoke is deleted and another with the same name is created, the new spoke is assigned a different uniqueId.

state

enum (State)

Output only. The current lifecycle state of this spoke.

LinkedVpnTunnels

A collection of Cloud VPN tunnel resources. These resources should be redundant HA VPN tunnels that all advertise the same prefixes to Google Cloud. Alternatively, in a passive/active configuration, all tunnels should be capable of advertising the same prefixes.

JSON representation
{
  "uris": [
    string
  ],
  "siteToSiteDataTransfer": boolean
}
Fields
uris[]

string

The URIs of linked VPN tunnel resources.

siteToSiteDataTransfer

boolean

A value that controls whether site-to-site data transfer is enabled for these resources. Data transfer is available only in supported locations.

LinkedInterconnectAttachments

A collection of VLAN attachment resources. These resources should be redundant attachments that all advertise the same prefixes to Google Cloud. Alternatively, in active/passive configurations, all attachments should be capable of advertising the same prefixes.

JSON representation
{
  "uris": [
    string
  ],
  "siteToSiteDataTransfer": boolean
}
Fields
uris[]

string

The URIs of linked interconnect attachment resources

siteToSiteDataTransfer

boolean

A value that controls whether site-to-site data transfer is enabled for these resources. Data transfer is available only in supported locations.

LinkedRouterApplianceInstances

A collection of router appliance instances. If you configure multiple router appliance instances to receive data from the same set of sites outside of Google Cloud, we recommend that you associate those instances with the same spoke.

JSON representation
{
  "instances": [
    {
      object (RouterApplianceInstance)
    }
  ],
  "siteToSiteDataTransfer": boolean
}
Fields
instances[]

object (RouterApplianceInstance)

The list of router appliance instances.

siteToSiteDataTransfer

boolean

A value that controls whether site-to-site data transfer is enabled for these resources. Data transfer is available only in supported locations.

RouterApplianceInstance

A router appliance instance is a Compute Engine virtual machine (VM) instance that acts as a BGP speaker. A router appliance instance is specified by the URI of the VM and the internal IP address of one of the VM's network interfaces.

JSON representation
{
  "virtualMachine": string,
  "ipAddress": string
}
Fields
virtualMachine

string

The URI of the VM.

ipAddress

string

The IP address on the VM to use for peering.

Methods

create

Creates a spoke in the specified project and location.

delete

Deletes the specified spoke.

get

Gets details about the specified spoke.

getIamPolicy

Gets the access control policy for a resource.

list

Lists the spokes in the specified project and location.

patch

Updates the parameters of the specified spoke.

setIamPolicy

Sets the access control policy on the specified resource.

testIamPermissions

Returns permissions that a caller has on the specified resource.