REST Resource: projects.locations.global.hubs

Resource: Hub

A Network Connectivity Center hub is a global management resource to which you attach spokes. A single hub can contain spokes from multiple regions. However, if any of a hub's spokes use the site-to-site data transfer feature, the resources associated with those spokes must all be in the same VPC network. Spokes that do not use site-to-site data transfer can be associated with any VPC network in your project.

JSON representation
{
  "name": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "description": string,
  "uniqueId": string,
  "state": enum (State),
  "routingVpcs": [
    {
      object (RoutingVPC)
    }
  ],
  "routeTables": [
    string
  ],
  "spokeSummary": {
    object (SpokeSummary)
  },
  "policyMode": enum (PolicyMode),
  "presetTopology": enum (PresetTopology),
  "exportPsc": boolean
}
Fields
name

string

Immutable. The name of the hub. Hub names must be unique. They use the following form: projects/{projectNumber}/locations/global/hubs/{hubId}

createTime

string (Timestamp format)

Output only. The time the hub 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 hub 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 hub.

uniqueId

string

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

state

enum (State)

Output only. The current lifecycle state of this hub.

routingVpcs[]

object (RoutingVPC)

The VPC networks associated with this hub's spokes.

This field is read-only. Network Connectivity Center automatically populates it based on the set of spokes attached to the hub.

routeTables[]

string

Output only. The route tables that belong to this hub. They use the following form: projects/{projectNumber}/locations/global/hubs/{hubId}/routeTables/{route_table_id}

This field is read-only. Network Connectivity Center automatically populates it based on the route tables nested under the hub.

spokeSummary

object (SpokeSummary)

Output only. A summary of the spokes associated with a hub. The summary includes a count of spokes according to type and according to state. If any spokes are inactive, the summary also lists the reasons they are inactive, including a count for each reason.

policyMode

enum (PolicyMode)

Optional. The policy mode of this hub. This field can be either PRESET or CUSTOM. If unspecified, the policyMode defaults to PRESET.

presetTopology

enum (PresetTopology)

Optional. The topology implemented in this hub. Currently, this field is only used when policyMode = PRESET. The available preset topologies are MESH and STAR. If presetTopology is unspecified and policyMode = PRESET, the presetTopology defaults to MESH. When policyMode = CUSTOM, the presetTopology is set to PRESET_TOPOLOGY_UNSPECIFIED.

exportPsc

boolean

Optional. Whether Private Service Connect transitivity is enabled for the hub. If true, Private Service Connect endpoints in VPC spokes attached to the hub are made accessible to other VPC spokes attached to the hub. The default value is false.

RoutingVPC

RoutingVPC contains information about the VPC networks associated with the spokes of a Network Connectivity Center hub.

JSON representation
{
  "uri": string,
  "requiredForNewSiteToSiteDataTransferSpokes": boolean
}
Fields
uri

string

The URI of the VPC network.

requiredForNewSiteToSiteDataTransferSpokes

boolean

Output only. If true, indicates that this VPC network is currently associated with spokes that use the data transfer feature (spokes where the siteToSiteDataTransfer field is set to true). If you create new spokes that use data transfer, they must be associated with this VPC network. At most, one VPC network will have this field set to true.

SpokeSummary

Summarizes information about the spokes associated with a hub. The summary includes a count of spokes according to type and according to state. If any spokes are inactive, the summary also lists the reasons they are inactive, including a count for each reason.

JSON representation
{
  "spokeTypeCounts": [
    {
      object (SpokeTypeCount)
    }
  ],
  "spokeStateCounts": [
    {
      object (SpokeStateCount)
    }
  ],
  "spokeStateReasonCounts": [
    {
      object (SpokeStateReasonCount)
    }
  ]
}
Fields
spokeTypeCounts[]

object (SpokeTypeCount)

Output only. Counts the number of spokes of each type that are associated with a specific hub.

spokeStateCounts[]

object (SpokeStateCount)

Output only. Counts the number of spokes that are in each state and associated with a given hub.

spokeStateReasonCounts[]

object (SpokeStateReasonCount)

Output only. Counts the number of spokes that are inactive for each possible reason and associated with a given hub.

SpokeTypeCount

The number of spokes of a given type that are associated with a specific hub. The type indicates what kind of resource is associated with the spoke.

JSON representation
{
  "spokeType": enum (SpokeType),
  "count": string
}
Fields
spokeType

enum (SpokeType)

Output only. The type of the spokes.

count

string (int64 format)

Output only. The total number of spokes of this type that are associated with the hub.

SpokeStateCount

The number of spokes that are in a particular state and associated with a given hub.

JSON representation
{
  "state": enum (State),
  "count": string
}
Fields
state

enum (State)

Output only. The state of the spokes.

count

string (int64 format)

Output only. The total number of spokes that are in this state and associated with a given hub.

SpokeStateReasonCount

The number of spokes in the hub that are inactive for this reason.

JSON representation
{
  "stateReasonCode": enum (Code),
  "count": string
}
Fields
stateReasonCode

enum (Code)

Output only. The reason that a spoke is inactive.

count

string (int64 format)

Output only. The total number of spokes that are inactive for a particular reason and associated with a given hub.

PolicyMode

This enum controls the policy mode used in a hub.

Enums
POLICY_MODE_UNSPECIFIED Policy mode is unspecified. It defaults to PRESET with presetTopology = MESH.
PRESET Hub uses one of the preset topologies.

PresetTopology

The list of available preset topologies.

Enums
PRESET_TOPOLOGY_UNSPECIFIED Preset topology is unspecified. When policyMode = PRESET, it defaults to MESH.
MESH Mesh topology is implemented. Group default is automatically created. All spokes in the hub are added to group default.
STAR Star topology is implemented. Two groups, center and edge, are automatically created along with hub creation. Spokes have to join one of the groups during creation.

Methods

acceptSpoke

Accepts a proposal to attach a Network Connectivity Center spoke to a hub.

create

Creates a new Network Connectivity Center hub in the specified project.

delete

Deletes a Network Connectivity Center hub.

get

Gets details about a Network Connectivity Center hub.

getIamPolicy

Gets the access control policy for a resource.

list

Lists the Network Connectivity Center hubs associated with a given project.

listSpokes

Lists the Network Connectivity Center spokes associated with a specified hub and location.

patch

Updates the description and/or labels of a Network Connectivity Center hub.

rejectSpoke

Rejects a Network Connectivity Center spoke from being attached to a hub.

setIamPolicy

Sets the access control policy on the specified resource.

testIamPermissions

Returns permissions that a caller has on the specified resource.