Class: Google::Apis::NetworkconnectivityV1::Hub

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/networkconnectivity_v1/classes.rb,
lib/google/apis/networkconnectivity_v1/representations.rb,
lib/google/apis/networkconnectivity_v1/representations.rb

Overview

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.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Hub

Returns a new instance of Hub.



1522
1523
1524
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1522

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#create_timeString

Output only. The time the hub was created. Corresponds to the JSON property createTime

Returns:

  • (String)


1438
1439
1440
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1438

def create_time
  @create_time
end

#descriptionString

Optional. An optional description of the hub. Corresponds to the JSON property description

Returns:

  • (String)


1443
1444
1445
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1443

def description
  @description
end

#export_pscBoolean Also known as: export_psc?

Optional. Whether Private Service Connect connection propagation 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. Corresponds to the JSON property exportPsc

Returns:

  • (Boolean)


1451
1452
1453
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1451

def export_psc
  @export_psc
end

#labelsHash<String,String>

Optional labels in key-value pair format. For more information about labels, see Requirements for labels. Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


1459
1460
1461
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1459

def labels
  @labels
end

#nameString

Immutable. The name of the hub. Hub names must be unique. They use the following form: projects/project_number/locations/global/hubs/hub_id` Corresponds to the JSON propertyname`

Returns:

  • (String)


1465
1466
1467
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1465

def name
  @name
end

#policy_modeString

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

Returns:

  • (String)


1471
1472
1473
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1471

def policy_mode
  @policy_mode
end

#preset_topologyString

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

Returns:

  • (String)


1480
1481
1482
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1480

def preset_topology
  @preset_topology
end

#route_tablesArray<String>

Output only. The route tables that belong to this hub. They use the following form: projects/project_number/locations/global/hubs/hub_id/routeTables/ route_table_id`This field is read-only. Network Connectivity Center automatically populates it based on the route tables nested under the hub. Corresponds to the JSON propertyrouteTables`

Returns:

  • (Array<String>)


1488
1489
1490
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1488

def route_tables
  @route_tables
end

#routing_vpcsArray<Google::Apis::NetworkconnectivityV1::RoutingVpc>

Output only. 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. Corresponds to the JSON property routingVpcs



1495
1496
1497
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1495

def routing_vpcs
  @routing_vpcs
end

#spoke_summaryGoogle::Apis::NetworkconnectivityV1::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. Corresponds to the JSON property spokeSummary



1503
1504
1505
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1503

def spoke_summary
  @spoke_summary
end

#stateString

Output only. The current lifecycle state of this hub. Corresponds to the JSON property state

Returns:

  • (String)


1508
1509
1510
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1508

def state
  @state
end

#unique_idString

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 unique_id. Corresponds to the JSON property uniqueId

Returns:

  • (String)


1515
1516
1517
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1515

def unique_id
  @unique_id
end

#update_timeString

Output only. The time the hub was last updated. Corresponds to the JSON property updateTime

Returns:

  • (String)


1520
1521
1522
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1520

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 1527

def update!(**args)
  @create_time = args[:create_time] if args.key?(:create_time)
  @description = args[:description] if args.key?(:description)
  @export_psc = args[:export_psc] if args.key?(:export_psc)
  @labels = args[:labels] if args.key?(:labels)
  @name = args[:name] if args.key?(:name)
  @policy_mode = args[:policy_mode] if args.key?(:policy_mode)
  @preset_topology = args[:preset_topology] if args.key?(:preset_topology)
  @route_tables = args[:route_tables] if args.key?(:route_tables)
  @routing_vpcs = args[:routing_vpcs] if args.key?(:routing_vpcs)
  @spoke_summary = args[:spoke_summary] if args.key?(:spoke_summary)
  @state = args[:state] if args.key?(:state)
  @unique_id = args[:unique_id] if args.key?(:unique_id)
  @update_time = args[:update_time] if args.key?(:update_time)
end