Class: Google::Apis::TrafficdirectorV3::Node

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

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_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>)


964
965
966
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 964

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)


974
975
976
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 974

def cluster
  @cluster
end

#dynamic_parametersHash<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

#extensionsArray<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

#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)


997
998
999
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 997

def id
  @id
end

#listening_addressesArray<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

#localityGoogle::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

#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>)


1016
1017
1018
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 1016

def 
  @metadata
end

#user_agent_build_versionGoogle::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_nameString

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

Returns:

  • (String)


1028
1029
1030
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 1028

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)


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