class Google::Apis::TrafficdirectorV2::Node

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]

Attributes

build_version[RW]

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` @return [String]

client_features[RW]

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` @return [Array<String>]

cluster[RW]

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` @return [String]

extensions[RW]

List of extensions and their versions supported by the node. Corresponds to the JSON property `extensions` @return [Array<Google::Apis::TrafficdirectorV2::Extension>]

id[RW]

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` @return [String]

listening_addresses[RW]

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` @return [Array<Google::Apis::TrafficdirectorV2::Address>]

locality[RW]

Identifies location of where either Envoy runs or where upstream hosts run. Corresponds to the JSON property `locality` @return [Google::Apis::TrafficdirectorV2::Locality]

metadata[RW]

Opaque metadata extending the node identifier. Envoy will pass this directly to the management server. Corresponds to the JSON property `metadata` @return [Hash<String,Object>]

user_agent_build_version[RW]

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` @return [Google::Apis::TrafficdirectorV2::BuildVersion]

user_agent_name[RW]

Free-form string that identifies the entity requesting config. E.g. “envoy” or “grpc” Corresponds to the JSON property `userAgentName` @return [String]

user_agent_version[RW]

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` @return [String]

Public Class Methods

new(**args) click to toggle source
# File lib/google/apis/trafficdirector_v2/classes.rb, line 724
def initialize(**args)
   update!(**args)
end

Public Instance Methods

update!(**args) click to toggle source

Update properties of this object

# File lib/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