Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Licensed to Elasticsearch B.V. under one or more contributor
# license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright
# ownership. Elasticsearch B.V. licenses this file to you under
# the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
# Auto generated from build hash f284cc16f4d4b4289bc679aa1529bb504190fe80
# @see https://github.com/elastic/elasticsearch/tree/main/rest-api-spec
#
module Elasticsearch
module API
module Esql
module Actions
# Delete an async query request given its ID.
#
# @option arguments [String] :id The async query ID
# @option arguments [Hash] :headers Custom HTTP headers
#
# @see https://www.elastic.co/guide/en/elasticsearch/reference/8.17/esql-async-query-delete-api.html
#
def async_query_delete(arguments = {})
request_opts = { endpoint: arguments[:endpoint] || 'esql.async_query_delete' }

defined_params = [:id].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 'id' missing" unless arguments[:id]

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

body = nil

_id = arguments.delete(:id)

method = Elasticsearch::API::HTTP_DELETE
path = "_query/async/#{Utils.__listify(_id)}"
params = {}

Elasticsearch::API::Response.new(
perform_request(method, path, params, body, headers, request_opts)
)
end
end
end
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Licensed to Elasticsearch B.V. under one or more contributor
# license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright
# ownership. Elasticsearch B.V. licenses this file to you under
# the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
# Auto generated from build hash f284cc16f4d4b4289bc679aa1529bb504190fe80
# @see https://github.com/elastic/elasticsearch/tree/main/rest-api-spec
#
module Elasticsearch
module API
module Indices
module Actions
# Get data stream lifecycle statistics.
#
# @option arguments [Hash] :headers Custom HTTP headers
#
# @see https://www.elastic.co/guide/en/elasticsearch/reference/8.17/data-streams-get-lifecycle-stats.html
#
def get_data_lifecycle_stats(arguments = {})
request_opts = { endpoint: arguments[:endpoint] || 'indices.get_data_lifecycle_stats' }

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

body = nil

method = Elasticsearch::API::HTTP_GET
path = '_lifecycle/stats'
params = {}

Elasticsearch::API::Response.new(
perform_request(method, path, params, body, headers, request_opts)
)
end
end
end
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# Licensed to Elasticsearch B.V. under one or more contributor
# license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright
# ownership. Elasticsearch B.V. licenses this file to you under
# the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
# Auto generated from build hash f284cc16f4d4b4289bc679aa1529bb504190fe80
# @see https://github.com/elastic/elasticsearch/tree/main/rest-api-spec
#
module Elasticsearch
module API
module Inference
module Actions
# Update inference
#
# @option arguments [String] :inference_id The inference Id
# @option arguments [String] :task_type The task type
# @option arguments [Hash] :headers Custom HTTP headers
# @option arguments [Hash] :body The inference endpoint's task and service settings
#
# @see https://www.elastic.co/guide/en/elasticsearch/reference/8.17/update-inference-api.html
#
def update(arguments = {})
request_opts = { endpoint: arguments[:endpoint] || 'inference.update' }

defined_params = %i[inference_id task_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 'inference_id' missing" unless arguments[:inference_id]

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

body = arguments.delete(:body)

_inference_id = arguments.delete(:inference_id)

_task_type = arguments.delete(:task_type)

method = Elasticsearch::API::HTTP_POST
path = if _task_type && _inference_id
"_inference/#{Utils.__listify(_task_type)}/#{Utils.__listify(_inference_id)}/_update"
else
"_inference/#{Utils.__listify(_inference_id)}/_update"
end
params = {}

Elasticsearch::API::Response.new(
perform_request(method, path, params, body, headers, request_opts)
)
end
end
end
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Licensed to Elasticsearch B.V. under one or more contributor
# license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright
# ownership. Elasticsearch B.V. licenses this file to you under
# the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
# Auto generated from build hash f284cc16f4d4b4289bc679aa1529bb504190fe80
# @see https://github.com/elastic/elasticsearch/tree/main/rest-api-spec
#
module Elasticsearch
module API
module Security
module Actions
# Delegate PKI authentication.
#
# @option arguments [Hash] :headers Custom HTTP headers
# @option arguments [Hash] :body The X509Certificate chain. (*Required*)
#
# @see https://www.elastic.co/guide/en/elasticsearch/reference/8.17/security-api-delegate-pki-authentication.html
#
def delegate_pki(arguments = {})
request_opts = { endpoint: arguments[:endpoint] || 'security.delegate_pki' }

raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]

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

body = arguments.delete(:body)

method = Elasticsearch::API::HTTP_POST
path = '_security/delegate_pki'
params = {}

Elasticsearch::API::Response.new(
perform_request(method, path, params, body, headers, request_opts)
)
end
end
end
end
end
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ module Actions
# Deletes an existing snapshot lifecycle policy.
#
# @option arguments [String] :policy_id The id of the snapshot lifecycle policy to remove
# @option arguments [Time] :master_timeout Explicit operation timeout for connection to master node
# @option arguments [Time] :timeout Explicit operation timeout
# @option arguments [Hash] :headers Custom HTTP headers
#
# @see https://www.elastic.co/guide/en/elasticsearch/reference/8.17/slm-api-delete-policy.html
Expand All @@ -48,7 +50,7 @@ def delete_lifecycle(arguments = {})

method = Elasticsearch::API::HTTP_DELETE
path = "_slm/policy/#{Utils.__listify(_policy_id)}"
params = {}
params = Utils.process_params(arguments)

Elasticsearch::API::Response.new(
perform_request(method, path, params, body, headers, request_opts)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ module Actions
# Immediately creates a snapshot according to the lifecycle policy, without waiting for the scheduled time.
#
# @option arguments [String] :policy_id The id of the snapshot lifecycle policy to be executed
# @option arguments [Time] :master_timeout Explicit operation timeout for connection to master node
# @option arguments [Time] :timeout Explicit operation timeout
# @option arguments [Hash] :headers Custom HTTP headers
#
# @see https://www.elastic.co/guide/en/elasticsearch/reference/8.17/slm-api-execute-lifecycle.html
Expand All @@ -48,7 +50,7 @@ def execute_lifecycle(arguments = {})

method = Elasticsearch::API::HTTP_PUT
path = "_slm/policy/#{Utils.__listify(_policy_id)}/_execute"
params = {}
params = Utils.process_params(arguments)

Elasticsearch::API::Response.new(
perform_request(method, path, params, body, headers, request_opts)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ module SnapshotLifecycleManagement
module Actions
# Deletes any snapshots that are expired according to the policy's retention rules.
#
# @option arguments [Time] :master_timeout Explicit operation timeout for connection to master node
# @option arguments [Time] :timeout Explicit operation timeout
# @option arguments [Hash] :headers Custom HTTP headers
#
# @see https://www.elastic.co/guide/en/elasticsearch/reference/8.17/slm-api-execute-retention.html
Expand All @@ -38,7 +40,7 @@ def execute_retention(arguments = {})

method = Elasticsearch::API::HTTP_POST
path = '_slm/_execute_retention'
params = {}
params = Utils.process_params(arguments)

Elasticsearch::API::Response.new(
perform_request(method, path, params, body, headers, request_opts)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ module Actions
# Retrieves one or more snapshot lifecycle policy definitions and information about the latest snapshot attempts.
#
# @option arguments [List] :policy_id Comma-separated list of snapshot lifecycle policies to retrieve
# @option arguments [Time] :master_timeout Explicit operation timeout for connection to master node
# @option arguments [Time] :timeout Explicit operation timeout
# @option arguments [Hash] :headers Custom HTTP headers
#
# @see https://www.elastic.co/guide/en/elasticsearch/reference/8.17/slm-api-get-policy.html
Expand All @@ -50,7 +52,7 @@ def get_lifecycle(arguments = {})
else
'_slm/policy'
end
params = {}
params = Utils.process_params(arguments)

Elasticsearch::API::Response.new(
perform_request(method, path, params, body, headers, request_opts)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ module SnapshotLifecycleManagement
module Actions
# Returns global and policy-level statistics about actions taken by snapshot lifecycle management.
#
# @option arguments [Time] :master_timeout Explicit operation timeout for connection to master node
# @option arguments [Time] :timeout Explicit operation timeout
# @option arguments [Hash] :headers Custom HTTP headers
#
# @see https://www.elastic.co/guide/en/elasticsearch/reference/8.17/slm-api-get-stats.html
Expand All @@ -38,7 +40,7 @@ def get_stats(arguments = {})

method = Elasticsearch::API::HTTP_GET
path = '_slm/stats'
params = {}
params = Utils.process_params(arguments)

Elasticsearch::API::Response.new(
perform_request(method, path, params, body, headers, request_opts)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ module SnapshotLifecycleManagement
module Actions
# Retrieves the status of snapshot lifecycle management (SLM).
#
# @option arguments [Time] :master_timeout Explicit operation timeout for connection to master node
# @option arguments [Time] :timeout Explicit operation timeout
# @option arguments [Hash] :headers Custom HTTP headers
#
# @see https://www.elastic.co/guide/en/elasticsearch/reference/8.17/slm-api-get-status.html
Expand All @@ -38,7 +40,7 @@ def get_status(arguments = {})

method = Elasticsearch::API::HTTP_GET
path = '_slm/status'
params = {}
params = Utils.process_params(arguments)

Elasticsearch::API::Response.new(
perform_request(method, path, params, body, headers, request_opts)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ module Actions
# Creates or updates a snapshot lifecycle policy.
#
# @option arguments [String] :policy_id The id of the snapshot lifecycle policy
# @option arguments [Time] :master_timeout Explicit operation timeout for connection to master node
# @option arguments [Time] :timeout Explicit operation timeout
# @option arguments [Hash] :headers Custom HTTP headers
# @option arguments [Hash] :body The snapshot lifecycle policy definition to register
#
Expand All @@ -49,7 +51,7 @@ def put_lifecycle(arguments = {})

method = Elasticsearch::API::HTTP_PUT
path = "_slm/policy/#{Utils.__listify(_policy_id)}"
params = {}
params = Utils.process_params(arguments)

Elasticsearch::API::Response.new(
perform_request(method, path, params, body, headers, request_opts)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Licensed to Elasticsearch B.V. under one or more contributor
# license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright
# ownership. Elasticsearch B.V. licenses this file to you under
# the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.

require 'spec_helper'

describe 'client.esql#async_query_delete' do
let(:expected_args) do
[
'DELETE',
'_query/async/foo',
{},
nil,
{},
{ defined_params: {id: 'foo' }, endpoint: 'esql.async_query_delete' }
]
end

it 'performs the request' do
expect(client_double.esql.async_query_delete(id: 'foo')).to be_a Elasticsearch::API::Response
end
end
Loading
Loading