Optional. This checksum is computed by the server based on the value of
other fields, and may be sent on update and delete requests to ensure the
client has an up-to-date value before proceeding.
Immutable. The name of the spoke. Spoke names must be unique. They use the
following form:
projects/{project_number}/locations/{region}/spokes/{spoke_id}
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 unique_id.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThis document provides reference information for the \u003ccode\u003eSpoke\u003c/code\u003e class within the Google Cloud Network Connectivity v1 API.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eSpoke\u003c/code\u003e class is used to represent network connectivity resources and is associated with a hub when created.\u003c/p\u003e\n"],["\u003cp\u003eA \u003ccode\u003eSpoke\u003c/code\u003e must be linked to one of the following: VPN tunnels, interconnect attachments, router appliance instances, or a VPC network.\u003c/p\u003e\n"],["\u003cp\u003eThe documentation details the available versions of the \u003ccode\u003eSpoke\u003c/code\u003e class, with version 2.9.0 being the latest.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eSpoke\u003c/code\u003e class includes various properties such as \u003ccode\u003eCreateTime\u003c/code\u003e, \u003ccode\u003eDescription\u003c/code\u003e, \u003ccode\u003eGroup\u003c/code\u003e, \u003ccode\u003eHub\u003c/code\u003e, \u003ccode\u003eLabels\u003c/code\u003e, and linked network resources.\u003c/p\u003e\n"]]],[],null,["# Network Connectivity v1 API - Class Spoke (2.11.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.11.0 (latest)](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/latest/Google.Cloud.NetworkConnectivity.V1.Spoke)\n- [2.10.0](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/2.10.0/Google.Cloud.NetworkConnectivity.V1.Spoke)\n- [2.9.0](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/2.9.0/Google.Cloud.NetworkConnectivity.V1.Spoke)\n- [2.8.0](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/2.8.0/Google.Cloud.NetworkConnectivity.V1.Spoke)\n- [2.7.0](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/2.7.0/Google.Cloud.NetworkConnectivity.V1.Spoke)\n- [2.6.0](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/2.6.0/Google.Cloud.NetworkConnectivity.V1.Spoke)\n- [2.5.0](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/2.5.0/Google.Cloud.NetworkConnectivity.V1.Spoke)\n- [2.4.0](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/2.4.0/Google.Cloud.NetworkConnectivity.V1.Spoke)\n- [2.3.0](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/2.3.0/Google.Cloud.NetworkConnectivity.V1.Spoke)\n- [2.2.0](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/2.2.0/Google.Cloud.NetworkConnectivity.V1.Spoke)\n- [2.1.0](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/2.1.0/Google.Cloud.NetworkConnectivity.V1.Spoke)\n- [2.0.0](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/2.0.0/Google.Cloud.NetworkConnectivity.V1.Spoke)\n- [1.2.0](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/1.2.0/Google.Cloud.NetworkConnectivity.V1.Spoke)\n- [1.1.0](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/1.1.0/Google.Cloud.NetworkConnectivity.V1.Spoke)\n- [1.0.0](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/1.0.0/Google.Cloud.NetworkConnectivity.V1.Spoke) \n\n public sealed class Spoke : IMessage\u003cSpoke\u003e, IEquatable\u003cSpoke\u003e, IDeepCloneable\u003cSpoke\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Network Connectivity v1 API class Spoke.\n\nA Network Connectivity Center spoke represents one or more network\nconnectivity resources.\n\nWhen you create a spoke, you associate it with a hub. You must also\nidentify a value for exactly one of the following fields:\n\n- linked_vpn_tunnels\n- linked_interconnect_attachments\n- linked_router_appliance_instances\n- linked_vpc_network \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e Spoke \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[Spoke](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/latest/Google.Cloud.NetworkConnectivity.V1.Spoke), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[Spoke](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/latest/Google.Cloud.NetworkConnectivity.V1.Spoke), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[Spoke](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/latest/Google.Cloud.NetworkConnectivity.V1.Spoke), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.NetworkConnectivity.V1](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/latest/Google.Cloud.NetworkConnectivity.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.NetworkConnectivity.V1.dll\n\nConstructors\n------------\n\n### Spoke()\n\n public Spoke()\n\n### Spoke(Spoke)\n\n public Spoke(Spoke other)\n\nProperties\n----------\n\n### CreateTime\n\n public Timestamp CreateTime { get; set; }\n\nOutput only. The time the spoke was created.\n\n### Description\n\n public string Description { get; set; }\n\nOptional. An optional description of the spoke.\n\n### Etag\n\n public string Etag { get; set; }\n\nOptional. This checksum is computed by the server based on the value of\nother fields, and may be sent on update and delete requests to ensure the\nclient has an up-to-date value before proceeding.\n\n### FieldPathsPendingUpdate\n\n public RepeatedField\u003cstring\u003e FieldPathsPendingUpdate { get; }\n\nOptional. The list of fields waiting for hub administration's approval.\n\n### Group\n\n public string Group { get; set; }\n\nOptional. The name of the group that this spoke is associated with.\n\n### GroupAsGroupName\n\n public GroupName GroupAsGroupName { get; set; }\n\n[GroupName](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/latest/Google.Cloud.NetworkConnectivity.V1.GroupName)-typed view over the [Group](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/latest/Google.Cloud.NetworkConnectivity.V1.Spoke#Google_Cloud_NetworkConnectivity_V1_Spoke_Group) resource name property.\n\n### Hub\n\n public string Hub { get; set; }\n\nImmutable. The name of the hub that this spoke is attached to.\n\n### HubAsHubName\n\n public HubName HubAsHubName { get; set; }\n\n[HubName](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/latest/Google.Cloud.NetworkConnectivity.V1.HubName)-typed view over the [Hub](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/latest/Google.Cloud.NetworkConnectivity.V1.Spoke#Google_Cloud_NetworkConnectivity_V1_Spoke_Hub) resource name property.\n\n### Labels\n\n public MapField\u003cstring, string\u003e Labels { get; }\n\nOptional labels in key-value pair format. For more information about\nlabels, see [Requirements for\nlabels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements).\n\n### LinkedInterconnectAttachments\n\n public LinkedInterconnectAttachments LinkedInterconnectAttachments { get; set; }\n\nOptional. VLAN attachments that are associated with the spoke.\n\n### LinkedProducerVpcNetwork\n\n public LinkedProducerVpcNetwork LinkedProducerVpcNetwork { get; set; }\n\nOptional. The linked producer VPC that is associated with the spoke.\n\n### LinkedRouterApplianceInstances\n\n public LinkedRouterApplianceInstances LinkedRouterApplianceInstances { get; set; }\n\nOptional. Router appliance instances that are associated with the spoke.\n\n### LinkedVpcNetwork\n\n public LinkedVpcNetwork LinkedVpcNetwork { get; set; }\n\nOptional. VPC network that is associated with the spoke.\n\n### LinkedVpnTunnels\n\n public LinkedVpnTunnels LinkedVpnTunnels { get; set; }\n\nOptional. VPN tunnels that are associated with the spoke.\n\n### Name\n\n public string Name { get; set; }\n\nImmutable. The name of the spoke. Spoke names must be unique. They use the\nfollowing form:\n`projects/{project_number}/locations/{region}/spokes/{spoke_id}`\n\n### Reasons\n\n public RepeatedField\u003cSpoke.Types.StateReason\u003e Reasons { get; }\n\nOutput only. The reasons for current state of the spoke.\n\n### SpokeName\n\n public SpokeName SpokeName { get; set; }\n\n[SpokeName](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/latest/Google.Cloud.NetworkConnectivity.V1.SpokeName)-typed view over the [Name](/dotnet/docs/reference/Google.Cloud.NetworkConnectivity.V1/latest/Google.Cloud.NetworkConnectivity.V1.Spoke#Google_Cloud_NetworkConnectivity_V1_Spoke_Name) resource name property.\n\n### SpokeType\n\n public SpokeType SpokeType { get; set; }\n\nOutput only. The type of resource associated with the spoke.\n\n### State\n\n public State State { get; set; }\n\nOutput only. The current lifecycle state of this spoke.\n\n### UniqueId\n\n public string UniqueId { get; set; }\n\nOutput only. The Google-generated UUID for the spoke. This value is unique\nacross all spoke resources. If a spoke is deleted and another with the same\nname is created, the new spoke is assigned a different `unique_id`.\n\n### UpdateTime\n\n public Timestamp UpdateTime { get; set; }\n\nOutput only. The time the spoke was last updated."]]