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 * linked_vpc_network

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Spoke

Returns a new instance of Spoke.



4857
4858
4859
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 4857

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)


4748
4749
4750
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 4748

def create_time
  @create_time
end

#descriptionString

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

Returns:

  • (String)


4753
4754
4755
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 4753

def description
  @description
end

#etagString

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

Returns:

  • (String)


4760
4761
4762
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 4760

def etag
  @etag
end

#field_paths_pending_updateArray<String>

Optional. The list of fields waiting for hub administrator's approval. Corresponds to the JSON property fieldPathsPendingUpdate

Returns:

  • (Array<String>)


4765
4766
4767
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 4765

def field_paths_pending_update
  @field_paths_pending_update
end

#gatewayGoogle::Apis::NetworkconnectivityV1::Gateway

A gateway that can apply specialized traffic processing. Corresponds to the JSON property gateway



4770
4771
4772
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 4770

def gateway
  @gateway
end

#groupString

Optional. The name of the group that this spoke is associated with. Corresponds to the JSON property group

Returns:

  • (String)


4775
4776
4777
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 4775

def group
  @group
end

#hubString

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

Returns:

  • (String)


4780
4781
4782
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 4780

def hub
  @hub
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>)


4787
4788
4789
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 4787

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



4795
4796
4797
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 4795

def linked_interconnect_attachments
  @linked_interconnect_attachments
end

#linked_producer_vpc_networkGoogle::Apis::NetworkconnectivityV1::LinkedProducerVpcNetwork

Optional. The linked producer VPC that is associated with the spoke. Corresponds to the JSON property linkedProducerVpcNetwork



4800
4801
4802
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 4800

def linked_producer_vpc_network
  @linked_producer_vpc_network
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



4808
4809
4810
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 4808

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



4813
4814
4815
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 4813

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



4821
4822
4823
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 4821

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)


4828
4829
4830
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 4828

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



4833
4834
4835
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 4833

def reasons
  @reasons
end

#spoke_typeString

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

Returns:

  • (String)


4838
4839
4840
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 4838

def spoke_type
  @spoke_type
end

#stateString

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

Returns:

  • (String)


4843
4844
4845
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 4843

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)


4850
4851
4852
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 4850

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)


4855
4856
4857
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 4855

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
# File 'lib/google/apis/networkconnectivity_v1/classes.rb', line 4862

def update!(**args)
  @create_time = args[:create_time] if args.key?(:create_time)
  @description = args[:description] if args.key?(:description)
  @etag = args[:etag] if args.key?(:etag)
  @field_paths_pending_update = args[:field_paths_pending_update] if args.key?(:field_paths_pending_update)
  @gateway = args[:gateway] if args.key?(:gateway)
  @group = args[:group] if args.key?(:group)
  @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_producer_vpc_network = args[:linked_producer_vpc_network] if args.key?(:linked_producer_vpc_network)
  @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