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:
listenersto 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.
1028 1029 1030 |
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 1028 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
956 957 958 |
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 956 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
966 967 968 |
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 966 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
976 977 978 |
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 976 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
981 982 983 |
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 981 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
989 990 991 |
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 989 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
997 998 999 |
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 997 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
1002 1003 1004 |
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 1002 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
1008 1009 1010 |
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 1008 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
1014 1015 1016 |
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 1014 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
1020 1021 1022 |
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 1020 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
1026 1027 1028 |
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 1026 def user_agent_version @user_agent_version end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 |
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 1033 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 |