module Elasticsearch::API::Monitoring::Actions
Public Instance Methods
Used by the monitoring features to send monitoring data.
@option arguments [String] :type Default document type for items which don’t provide one Deprecated @option arguments [String] :system_id Identifier of the monitored system @option arguments [String] :system_api_version API
Version of the monitored system @option arguments [String] :interval Collection interval (e.g., ‘10s’ or ‘10000ms’) of the payload @option arguments [Hash] :headers Custom HTTP headers @option arguments [String|Array] :body The operation definition and data (action-data pairs), separated by newlines. Array of Strings, Header/Data pairs, or the conveniency “combined” format can be passed, refer to Elasticsearch::API::Utils.__bulkify
documentation.
*Deprecation notice*: Specifying types in urls has been deprecated Deprecated since version 7.0.0
@see www.elastic.co/guide/en/elasticsearch/reference/8.16/monitor-elasticsearch-cluster.html
# File lib/elasticsearch/api/actions/monitoring/bulk.rb, line 42 def bulk(arguments = {}) request_opts = { endpoint: arguments[:endpoint] || 'monitoring.bulk' } defined_params = [:type].each_with_object({}) do |variable, set_variables| set_variables[variable] = arguments[variable] if arguments.key?(variable) end request_opts[:defined_params] = defined_params unless defined_params.empty? raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = arguments.delete(:body) _type = arguments.delete(:type) method = Elasticsearch::API::HTTP_POST path = if _type "_monitoring/#{Utils.__listify(_type)}/bulk" else '_monitoring/bulk' end params = Utils.process_params(arguments) payload = if body.is_a? Array Elasticsearch::API::Utils.__bulkify(body) else body end headers.merge!('Content-Type' => 'application/x-ndjson') Elasticsearch::API::Response.new( perform_request(method, path, params, payload, headers, request_opts) ) end