lib/elasticsearch/api/actions/nodes/usage.rb in elasticsearch-api-7.4.0 vs lib/elasticsearch/api/actions/nodes/usage.rb in elasticsearch-api-7.5.0.pre.pre

- old
+ new

@@ -1,31 +1,52 @@ +# Licensed to Elasticsearch B.V under one or more agreements. +# Elasticsearch B.V licenses this file to you under the Apache 2.0 License. +# See the LICENSE file in the project root for more information + module Elasticsearch module API module Nodes module Actions - - # The cluster nodes usage API allows to retrieve information on the usage of features for each node. + # Returns low-level information about REST actions usage on nodes. # - # @option arguments [List] :metric Limit the information returned to the specified metrics (options: _all,rest_actions) # @option arguments [List] :node_id A comma-separated list of node IDs or names to limit the returned information; use `_local` to return information from the node you're connecting to, leave empty to get information from all nodes + # @option arguments [List] :metric Limit the information returned to the specified metrics + # (options: _all,rest_actions) + # @option arguments [Time] :timeout Explicit operation timeout + # - # @see http://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-usage.html + # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.5/cluster-nodes-usage.html # - def usage(arguments={}) + def usage(arguments = {}) + arguments = arguments.clone + + _node_id = arguments.delete(:node_id) + + _metric = arguments.delete(:metric) + method = Elasticsearch::API::HTTP_GET - path = "_nodes/usage" - params = Elasticsearch::API::Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__) - body = nil + path = if _node_id && _metric + "_nodes/#{Utils.__listify(_node_id)}/usage/#{Utils.__listify(_metric)}" + elsif _node_id + "_nodes/#{Utils.__listify(_node_id)}/usage" + elsif _metric + "_nodes/usage/#{Utils.__listify(_metric)}" + else + "_nodes/usage" +end + params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__) + body = nil perform_request(method, path, params, body).body end # Register this action with its valid params when the module is loaded. # # @since 6.2.0 ParamsRegistry.register(:usage, [ - :timeout ].freeze) + :timeout + ].freeze) +end end - end end end