Class: Google::Apis::NetworkconnectivityV1::Spoke

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 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: * linked_vpn_tunnels * linked_interconnect_attachments * linked_router_appliance_instances

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Spoke

Returns a new instance of Spoke.



2307
2308
2309
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 2307

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

Instance Attribute Details

#create_timeString

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

Returns:

  • (String)


2225
2226
2227
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 2225

def create_time
  @create_time
end

#descriptionString

An optional description of the spoke. Corresponds to the JSON property description

Returns:

  • (String)


2230
2231
2232
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 2230

def description
  @description
end

#hubString

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

Returns:

  • (String)


2235
2236
2237
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 2235

def hub
  @hub
end

#labelsHash<String,String>

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

Returns:

  • (Hash<String,String>)


2242
2243
2244
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 2242

def labels
  @labels
end

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



2250
2251
2252
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 2250

def linked_interconnect_attachments
  @linked_interconnect_attachments
end

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



2258
2259
2260
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 2258

def linked_router_appliance_instances
  @linked_router_appliance_instances
end

#linked_vpc_networkGoogle::Apis::NetworkconnectivityV1::LinkedVpcNetwork

An existing VPC network. Corresponds to the JSON property linkedVpcNetwork



2263
2264
2265
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 2263

def linked_vpc_network
  @linked_vpc_network
end

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



2271
2272
2273
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 2271

def linked_vpn_tunnels
  @linked_vpn_tunnels
end

#nameString

Immutable. The name of the spoke. Spoke names must be unique. They use the following form: projects/project_number/locations/region/spokes/spoke_id Corresponds to the JSON property name

Returns:

  • (String)


2278
2279
2280
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 2278

def name
  @name
end

#reasonsArray<Google::Apis::NetworkconnectivityV1::StateReason>

Output only. The reasons for current state of the spoke. Corresponds to the JSON property reasons



2283
2284
2285
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 2283

def reasons
  @reasons
end

#spoke_typeString

Output only. The type of resource associated with the spoke. Corresponds to the JSON property spokeType

Returns:

  • (String)


2288
2289
2290
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 2288

def spoke_type
  @spoke_type
end

#stateString

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

Returns:

  • (String)


2293
2294
2295
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 2293

def state
  @state
end

#unique_idString

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

Returns:

  • (String)


2300
2301
2302
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 2300

def unique_id
  @unique_id
end

#update_timeString

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

Returns:

  • (String)


2305
2306
2307
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 2305

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 2312

def update!(**args)
  @create_time = args[:create_time] if args.key?(:create_time)
  @description = args[:description] if args.key?(:description)
  @hub = args[:hub] if args.key?(:hub)
  @labels = args[:labels] if args.key?(:labels)
  @linked_interconnect_attachments = args[:linked_interconnect_attachments] if args.key?(:linked_interconnect_attachments)
  @linked_router_appliance_instances = args[:linked_router_appliance_instances] if args.key?(:linked_router_appliance_instances)
  @linked_vpc_network = args[:linked_vpc_network] if args.key?(:linked_vpc_network)
  @linked_vpn_tunnels = args[:linked_vpn_tunnels] if args.key?(:linked_vpn_tunnels)
  @name = args[:name] if args.key?(:name)
  @reasons = args[:reasons] if args.key?(:reasons)
  @spoke_type = args[:spoke_type] if args.key?(:spoke_type)
  @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