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