Module: Elasticsearch::XPack::API::Monitoring::Actions

Included in:
MonitoringClient
Defined in:
lib/elasticsearch/xpack/api/namespace/monitoring.rb,
lib/elasticsearch/xpack/api/actions/monitoring/bulk.rb,
lib/elasticsearch/xpack/api/actions/monitoring/params_registry.rb

Defined Under Namespace

Modules: ParamsRegistry

Instance Method Summary collapse

Instance Method Details

#bulk(arguments = {}) ⇒ Object

Used by the monitoring features to send monitoring data.

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

Parameters:

  • arguments (Hash) (defaults to: {})

    a customizable set of options

Options Hash (arguments):

  • :type (String)

    Default document type for items which don’t provide one Deprecated

  • :system_id (String)

    Identifier of the monitored system

  • :system_api_version (String)

    API Version of the monitored system

  • :interval (String)

    Collection interval (e.g., ‘10s’ or ‘10000ms’) of the payload

  • :headers (Hash)

    Custom HTTP headers

  • :body (String|Array)

    The operation definition and data (action-data pairs), separated by newlines. Array of Strings, Header/Data pairs,

Raises:

  • (ArgumentError)

See Also:



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/elasticsearch/xpack/api/actions/monitoring/bulk.rb', line 40

def bulk(arguments = {})
  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]

  headers = arguments.delete(:headers) || {}

  arguments = arguments.clone

  _type = arguments.delete(:type)

  method = Elasticsearch::API::HTTP_POST
  path   = if _type
             "_monitoring/#{Elasticsearch::API::Utils.__listify(_type)}/bulk"
           else
             "_monitoring/bulk"
           end
  params = Elasticsearch::API::Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)

  body = arguments[:body]
  if body.is_a? Array
    payload = Elasticsearch::API::Utils.__bulkify(body)
  else
    payload = body
  end

  headers = Elasticsearch::API::Utils.ndjson_headers(headers)
  perform_request(method, path, params, payload, headers).body
end