lib/elasticsearch/api/actions/ingest/simulate.rb in elasticsearch-api-7.4.0 vs lib/elasticsearch/api/actions/ingest/simulate.rb in elasticsearch-api-7.5.0.pre.pre

- old
+ new

@@ -4,33 +4,43 @@ module Elasticsearch module API module Ingest module Actions - - # Execute a specific pipeline against the set of documents provided in the body of the request + # Allows to simulate a pipeline with example documents. # # @option arguments [String] :id Pipeline ID - # @option arguments [Hash] :body The pipeline definition (*Required*) - # @option arguments [Boolean] :verbose Verbose mode. Display data output for each processor - # in executed pipeline + # @option arguments [Boolean] :verbose Verbose mode. Display data output for each processor in executed pipeline + + # @option arguments [Hash] :body The simulate definition (*Required*) # - # @see https://www.elastic.co/guide/en/elasticsearch/reference/master/simulate-pipeline-api.html + # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.5/simulate-pipeline-api.html # - def simulate(arguments={}) + def simulate(arguments = {}) raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] - method = 'GET' - path = Utils.__pathify "_ingest/pipeline", Utils.__escape(arguments[:id]), '_simulate' + + arguments = arguments.clone + + _id = arguments.delete(:id) + + method = Elasticsearch::API::HTTP_GET + path = if _id + "_ingest/pipeline/#{Utils.__listify(_id)}/_simulate" + else + "_ingest/pipeline/_simulate" + end params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__) - body = arguments[:body] + body = arguments[:body] perform_request(method, path, params, body).body end # Register this action with its valid params when the module is loaded. # - # @since 6.1.1 - ParamsRegistry.register(:simulate, [ :verbose ].freeze) + # @since 6.2.0 + ParamsRegistry.register(:simulate, [ + :verbose + ].freeze) +end end - end end end