Class: Google::Apis::TrafficdirectorV2::Node

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

Overview

Identifies a specific Envoy instance. The node identifier is presented to the management server, which may use this identifier to distinguish per Envoy configuration for serving. [#next-free-field: 12]

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Node

Returns a new instance of Node.



724
725
726
# File 'generated/google/apis/trafficdirector_v2/classes.rb', line 724

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

Instance Attribute Details

#build_versionString

This is motivated by informing a management server during canary which version of Envoy is being tested in a heterogeneous fleet. This will be set by Envoy in management server RPCs. This field is deprecated in favor of the user_agent_name and user_agent_version values. Corresponds to the JSON property buildVersion

Returns:

  • (String)


654
655
656
# File 'generated/google/apis/trafficdirector_v2/classes.rb', line 654

def build_version
  @build_version
end

#client_featuresArray<String>

Client feature support list. These are well known features described in the Envoy API repository for a given major version of an API. Client features use reverse DNS naming scheme, for example com.acme.feature. See :ref:the list of features that xDS client may support. Corresponds to the JSON property clientFeatures

Returns:

  • (Array<String>)


662
663
664
# File 'generated/google/apis/trafficdirector_v2/classes.rb', line 662

def client_features
  @client_features
end

#clusterString

Defines the local service cluster name where Envoy is running. Though optional, it should be set if any of the following features are used: :ref:statsd, : ref:health check cluster verification, :ref:runtime override directory, : ref:user agent addition, :ref:HTTP global rate limiting, :ref:CDS, and :ref:HTTP tracing, either in this message or via :option:--service- cluster. Corresponds to the JSON property cluster

Returns:

  • (String)


672
673
674
# File 'generated/google/apis/trafficdirector_v2/classes.rb', line 672

def cluster
  @cluster
end

#extensionsArray<Google::Apis::TrafficdirectorV2::Extension>

List of extensions and their versions supported by the node. Corresponds to the JSON property extensions



677
678
679
# File 'generated/google/apis/trafficdirector_v2/classes.rb', line 677

def extensions
  @extensions
end

#idString

An opaque node identifier for the Envoy node. This also provides the local service node name. It should be set if any of the following features are used: :ref:statsd, :ref:CDS, and :ref:HTTP tracing, either in this message or via :option:--service-node. Corresponds to the JSON property id

Returns:

  • (String)


685
686
687
# File 'generated/google/apis/trafficdirector_v2/classes.rb', line 685

def id
  @id
end

#listening_addressesArray<Google::Apis::TrafficdirectorV2::Address>

Known listening ports on the node as a generic hint to the management server for filtering :ref:listeners to be returned. For example, if there is a listener bound to port 80, the list can optionally contain the SocketAddress ( 0.0.0.0,80). The field is optional and just a hint. Corresponds to the JSON property listeningAddresses



693
694
695
# File 'generated/google/apis/trafficdirector_v2/classes.rb', line 693

def listening_addresses
  @listening_addresses
end

#localityGoogle::Apis::TrafficdirectorV2::Locality

Identifies location of where either Envoy runs or where upstream hosts run. Corresponds to the JSON property locality



698
699
700
# File 'generated/google/apis/trafficdirector_v2/classes.rb', line 698

def locality
  @locality
end

#metadataHash<String,Object>

Opaque metadata extending the node identifier. Envoy will pass this directly to the management server. Corresponds to the JSON property metadata

Returns:

  • (Hash<String,Object>)


704
705
706
# File 'generated/google/apis/trafficdirector_v2/classes.rb', line 704

def 
  @metadata
end

#user_agent_build_versionGoogle::Apis::TrafficdirectorV2::BuildVersion

BuildVersion combines SemVer version of extension with free-form build information (i.e. 'alpha', 'private-build') as a set of strings. Corresponds to the JSON property userAgentBuildVersion



710
711
712
# File 'generated/google/apis/trafficdirector_v2/classes.rb', line 710

def user_agent_build_version
  @user_agent_build_version
end

#user_agent_nameString

Free-form string that identifies the entity requesting config. E.g. "envoy" or "grpc" Corresponds to the JSON property userAgentName

Returns:

  • (String)


716
717
718
# File 'generated/google/apis/trafficdirector_v2/classes.rb', line 716

def user_agent_name
  @user_agent_name
end

#user_agent_versionString

Free-form string that identifies the version of the entity requesting config. E.g. "1.12.2" or "abcd1234", or "SpecialEnvoyBuild" Corresponds to the JSON property userAgentVersion

Returns:

  • (String)


722
723
724
# File 'generated/google/apis/trafficdirector_v2/classes.rb', line 722

def user_agent_version
  @user_agent_version
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



729
730
731
732
733
734
735
736
737
738
739
740
741
# File 'generated/google/apis/trafficdirector_v2/classes.rb', line 729

def update!(**args)
  @build_version = args[:build_version] if args.key?(:build_version)
  @client_features = args[:client_features] if args.key?(:client_features)
  @cluster = args[:cluster] if args.key?(:cluster)
  @extensions = args[:extensions] if args.key?(:extensions)
  @id = args[:id] if args.key?(:id)
  @listening_addresses = args[:listening_addresses] if args.key?(:listening_addresses)
  @locality = args[:locality] if args.key?(:locality)
  @metadata = args[:metadata] if args.key?(:metadata)
  @user_agent_build_version = args[:user_agent_build_version] if args.key?(:user_agent_build_version)
  @user_agent_name = args[:user_agent_name] if args.key?(:user_agent_name)
  @user_agent_version = args[:user_agent_version] if args.key?(:user_agent_version)
end