Spoke

A Network Connectivity Center spoke represents one or more network connectivity resources.

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
  • linkedVpcNetwork
JSON representation
{
  "name": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "description": string,
  "hub": string,
  "group": string,
  "linkedVpnTunnels": {
    object (LinkedVpnTunnels)
  },
  "linkedInterconnectAttachments": {
    object (LinkedInterconnectAttachments)
  },
  "linkedRouterApplianceInstances": {
    object (LinkedRouterApplianceInstances)
  },
  "linkedVpcNetwork": {
    object (LinkedVpcNetwork)
  },
  "uniqueId": string,
  "state": enum (State),
  "reasons": [
    {
      object (StateReason)
    }
  ],
  "spokeType": enum (SpokeType)
}
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 pair 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.

group

string

Optional. The name of the group that this spoke is associated with.

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.

linkedVpcNetwork

object (LinkedVpcNetwork)

Optional. VPC network that is 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.

reasons[]

object (StateReason)

Output only. The reasons for current state of the spoke. Only present when the spoke is in the INACTIVE state.

spokeType

enum (SpokeType)

Output only. The type of resource associated with the 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,
  "vpcNetwork": string
}
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.

vpcNetwork

string

Output only. The VPC network where these VPN tunnels are located.

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,
  "vpcNetwork": string
}
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.

vpcNetwork

string

Output only. The VPC network where these VLAN attachments are located.

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,
  "vpcNetwork": string
}
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.

vpcNetwork

string

Output only. The VPC network where these router appliance instances are located.

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.

LinkedVpcNetwork

An existing VPC network.

JSON representation
{
  "uri": string,
  "excludeExportRanges": [
    string
  ]
}
Fields
uri

string

Required. The URI of the VPC network resource.

excludeExportRanges[]

string

Optional. IP ranges encompassing the subnets to be excluded from peering.

StateReason

The reason a spoke is inactive.

JSON representation
{
  "code": enum (Code),
  "message": string,
  "userDetails": string
}
Fields
code

enum (Code)

The code associated with this reason.

message

string

Human-readable details about this reason.

userDetails

string

Additional information provided by the user in the RejectSpoke call.