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
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 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>]
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]
List of extensions and their versions supported by the node. Corresponds to the JSON property `extensions` @return [Array<Google::Apis::TrafficdirectorV2::Extension>]
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]
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>]
Identifies location of where either Envoy runs or where upstream hosts run. Corresponds to the JSON property `locality` @return [Google::Apis::TrafficdirectorV2::Locality]
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>]
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]
Free-form string that identifies the entity requesting config. E.g. “envoy” or “grpc” Corresponds to the JSON property `userAgentName` @return [String]
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
# File lib/google/apis/trafficdirector_v2/classes.rb, line 724 def initialize(**args) update!(**args) end
Public Instance Methods
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