Class: Google::Apis::TrafficdirectorV3::Node
- Inherits:
-
Object
- Object
- Google::Apis::TrafficdirectorV3::Node
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/trafficdirector_v3/classes.rb,
lib/google/apis/trafficdirector_v3/representations.rb,
lib/google/apis/trafficdirector_v3/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: 13]
Instance Attribute Summary collapse
-
#client_features ⇒ Array<String>
Client feature support list.
-
#cluster ⇒ String
Defines the local service cluster name where Envoy is running.
-
#dynamic_parameters ⇒ Hash<String,Google::Apis::TrafficdirectorV3::ContextParams>
Map from xDS resource type URL to dynamic context parameters.
-
#extensions ⇒ Array<Google::Apis::TrafficdirectorV3::Extension>
List of extensions and their versions supported by the node.
-
#id ⇒ String
An opaque node identifier for the Envoy node.
-
#listening_addresses ⇒ Array<Google::Apis::TrafficdirectorV3::Address>
Known listening ports on the node as a generic hint to the management server for filtering :ref:
listeners
to be returned. -
#locality ⇒ Google::Apis::TrafficdirectorV3::Locality
Identifies location of where either Envoy runs or where upstream hosts run.
-
#metadata ⇒ Hash<String,Object>
Opaque metadata extending the node identifier.
-
#user_agent_build_version ⇒ Google::Apis::TrafficdirectorV3::BuildVersion
BuildVersion combines SemVer version of extension with free-form build information (i.e. 'alpha', 'private-build') as a set of strings.
-
#user_agent_name ⇒ String
Free-form string that identifies the entity requesting config.
-
#user_agent_version ⇒ String
Free-form string that identifies the version of the entity requesting config.
Instance Method Summary collapse
-
#initialize(**args) ⇒ Node
constructor
A new instance of Node.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ Node
Returns a new instance of Node.
1036 1037 1038 |
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 1036 def initialize(**args) update!(**args) end |
Instance Attribute Details
#client_features ⇒ Array<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
964 965 966 |
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 964 def client_features @client_features end |
#cluster ⇒ 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
974 975 976 |
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 974 def cluster @cluster end |
#dynamic_parameters ⇒ Hash<String,Google::Apis::TrafficdirectorV3::ContextParams>
Map from xDS resource type URL to dynamic context parameters. These may vary
at runtime (unlike other fields in this message). For example, the xDS client
may have a shard identifier that changes during the lifetime of the xDS client.
In Envoy, this would be achieved by updating the dynamic context on the
Server::Instance's LocalInfo context provider. The shard ID dynamic parameter
then appears in this field during future discovery requests.
Corresponds to the JSON property dynamicParameters
984 985 986 |
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 984 def dynamic_parameters @dynamic_parameters end |
#extensions ⇒ Array<Google::Apis::TrafficdirectorV3::Extension>
List of extensions and their versions supported by the node.
Corresponds to the JSON property extensions
989 990 991 |
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 989 def extensions @extensions end |
#id ⇒ String
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
997 998 999 |
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 997 def id @id end |
#listening_addresses ⇒ Array<Google::Apis::TrafficdirectorV3::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
1005 1006 1007 |
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 1005 def listening_addresses @listening_addresses end |
#locality ⇒ Google::Apis::TrafficdirectorV3::Locality
Identifies location of where either Envoy runs or where upstream hosts run.
Corresponds to the JSON property locality
1010 1011 1012 |
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 1010 def locality @locality end |
#metadata ⇒ Hash<String,Object>
Opaque metadata extending the node identifier. Envoy will pass this directly
to the management server.
Corresponds to the JSON property metadata
1016 1017 1018 |
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 1016 def @metadata end |
#user_agent_build_version ⇒ Google::Apis::TrafficdirectorV3::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
1022 1023 1024 |
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 1022 def user_agent_build_version @user_agent_build_version end |
#user_agent_name ⇒ String
Free-form string that identifies the entity requesting config. E.g. "envoy" or
"grpc"
Corresponds to the JSON property userAgentName
1028 1029 1030 |
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 1028 def user_agent_name @user_agent_name end |
#user_agent_version ⇒ 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
1034 1035 1036 |
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 1034 def user_agent_version @user_agent_version end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 |
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 1041 def update!(**args) @client_features = args[:client_features] if args.key?(:client_features) @cluster = args[:cluster] if args.key?(:cluster) @dynamic_parameters = args[:dynamic_parameters] if args.key?(:dynamic_parameters) @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 |