lib/elasticsearch/api/actions/snapshot/delete.rb in elasticsearch-api-1.0.13 vs lib/elasticsearch/api/actions/snapshot/delete.rb in elasticsearch-api-1.0.14

- old
+ new

@@ -12,10 +12,11 @@ # client.snapshot.delete repository: 'my-backups', snapshot: 'snapshot-1' # # @option arguments [String] :repository A repository name (*Required*) # @option arguments [String] :snapshot A snapshot name (*Required*) # @option arguments [Time] :master_timeout Explicit operation timeout for connection to master node + # @option arguments [Number,List] :ignore The list of HTTP errors to ignore # # @see http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/modules-snapshots.html # def delete(arguments={}) raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository] @@ -31,10 +32,14 @@ path = Utils.__pathify( '_snapshot', Utils.__escape(repository), Utils.__listify(snapshot) ) params = Utils.__validate_and_extract_params arguments, valid_params body = nil - perform_request(method, path, params, body).body + if Array(arguments[:ignore]).include?(404) + Utils.__rescue_from_not_found { perform_request(method, path, params, body).body } + else + perform_request(method, path, params, body).body + end end end end end end