stretchy-model 0.6.6 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/docs/_sidebar.md +2 -1
- data/docs/examples/_sidebar.md +1 -1
- data/docs/examples/neural_search_with_llm.md +381 -0
- data/docs/guides/_sidebar.md +2 -1
- data/lib/elasticsearch/api/actions/connector/check_in.rb +64 -0
- data/lib/elasticsearch/api/actions/connector/delete.rb +64 -0
- data/lib/elasticsearch/api/actions/connector/get.rb +64 -0
- data/lib/elasticsearch/api/actions/connector/last_sync.rb +66 -0
- data/lib/elasticsearch/api/actions/connector/list.rb +60 -0
- data/lib/elasticsearch/api/actions/connector/post.rb +57 -0
- data/lib/elasticsearch/api/actions/connector/put.rb +66 -0
- data/lib/elasticsearch/api/actions/connector/update_api_key_id.rb +66 -0
- data/lib/elasticsearch/api/actions/connector/update_configuration.rb +66 -0
- data/lib/elasticsearch/api/actions/connector/update_error.rb +66 -0
- data/lib/elasticsearch/api/actions/connector/update_filtering.rb +66 -0
- data/lib/elasticsearch/api/actions/connector/update_index_name.rb +66 -0
- data/lib/elasticsearch/api/actions/connector/update_name.rb +66 -0
- data/lib/elasticsearch/api/actions/connector/update_native.rb +66 -0
- data/lib/elasticsearch/api/actions/connector/update_pipeline.rb +66 -0
- data/lib/elasticsearch/api/actions/connector/update_scheduling.rb +66 -0
- data/lib/elasticsearch/api/actions/connector/update_service_type.rb +66 -0
- data/lib/elasticsearch/api/actions/connector/update_status.rb +66 -0
- data/lib/elasticsearch/api/namespace/connector.rb +36 -0
- data/lib/opensearch/api/actions/machine_learning/connector/delete.rb +42 -0
- data/lib/opensearch/api/actions/machine_learning/connector/get.rb +42 -0
- data/lib/opensearch/api/actions/machine_learning/connector/list.rb +38 -0
- data/lib/opensearch/api/actions/machine_learning/connector/post.rb +35 -0
- data/lib/opensearch/api/actions/machine_learning/connector/put.rb +44 -0
- data/lib/opensearch/api/actions/machine_learning/models/predict.rb +32 -0
- data/lib/opensearch/api/namespace/connector.rb +19 -0
- data/lib/stretchy/machine_learning/connector.rb +130 -0
- data/lib/stretchy/machine_learning/errors.rb +25 -0
- data/lib/stretchy/machine_learning/model.rb +162 -109
- data/lib/stretchy/machine_learning/registry.rb +19 -0
- data/lib/stretchy/open_search_compatibility.rb +2 -0
- data/lib/stretchy/pipelines/processor.rb +2 -0
- data/lib/stretchy/rails/railtie.rb +11 -0
- data/lib/stretchy/rails/tasks/connector/create.rake +32 -0
- data/lib/stretchy/rails/tasks/connector/delete.rake +27 -0
- data/lib/stretchy/rails/tasks/connector/status.rake +31 -0
- data/lib/stretchy/rails/tasks/connector/update.rake +32 -0
- data/lib/stretchy/rails/tasks/index/create.rake +28 -0
- data/lib/stretchy/rails/tasks/index/delete.rake +27 -0
- data/lib/stretchy/rails/tasks/index/status.rake +23 -0
- data/lib/stretchy/rails/tasks/ml/delete.rake +25 -0
- data/lib/stretchy/rails/tasks/ml/deploy.rake +78 -0
- data/lib/stretchy/rails/tasks/ml/status.rake +31 -0
- data/lib/stretchy/rails/tasks/pipeline/create.rake +27 -0
- data/lib/stretchy/rails/tasks/pipeline/delete.rake +26 -0
- data/lib/stretchy/rails/tasks/pipeline/status.rake +25 -0
- data/lib/stretchy/rails/tasks/status.rake +15 -0
- data/lib/stretchy/rails/tasks/stretchy.rake +42 -0
- data/lib/stretchy/version.rb +1 -1
- data/lib/stretchy.rb +7 -0
- metadata +62 -3
- data/docs/examples/semantic_search_with_llm.md +0 -83
@@ -0,0 +1,66 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
#
|
18
|
+
# Auto generated from build hash f284cc16f4d4b4289bc679aa1529bb504190fe80
|
19
|
+
# @see https://github.com/elastic/elasticsearch/tree/main/rest-api-spec
|
20
|
+
#
|
21
|
+
module Elasticsearch
|
22
|
+
module API
|
23
|
+
module Connector
|
24
|
+
module Actions
|
25
|
+
# Updates the pipeline field in the connector document.
|
26
|
+
# This functionality is Experimental and may be changed or removed
|
27
|
+
# completely in a future release. Elastic will take a best effort approach
|
28
|
+
# to fix any issues, but experimental features are not subject to the
|
29
|
+
# support SLA of official GA features.
|
30
|
+
#
|
31
|
+
# @option arguments [String] :connector_id The unique identifier of the connector to be updated.
|
32
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
33
|
+
# @option arguments [Hash] :body An object with connector ingest pipeline configuration. (*Required*)
|
34
|
+
#
|
35
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/current/update-connector-pipeline-api.html
|
36
|
+
#
|
37
|
+
def update_pipeline(arguments = {})
|
38
|
+
request_opts = { endpoint: arguments[:endpoint] || 'connector.update_pipeline' }
|
39
|
+
|
40
|
+
defined_params = [:connector_id].each_with_object({}) do |variable, set_variables|
|
41
|
+
set_variables[variable] = arguments[variable] if arguments.key?(variable)
|
42
|
+
end
|
43
|
+
request_opts[:defined_params] = defined_params unless defined_params.empty?
|
44
|
+
|
45
|
+
raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
|
46
|
+
raise ArgumentError, "Required argument 'connector_id' missing" unless arguments[:connector_id]
|
47
|
+
|
48
|
+
arguments = arguments.clone
|
49
|
+
headers = arguments.delete(:headers) || {}
|
50
|
+
|
51
|
+
body = arguments.delete(:body)
|
52
|
+
|
53
|
+
_connector_id = arguments.delete(:connector_id)
|
54
|
+
|
55
|
+
method = Elasticsearch::API::HTTP_PUT
|
56
|
+
path = "_connector/#{Utils.__listify(_connector_id)}/_pipeline"
|
57
|
+
params = {}
|
58
|
+
|
59
|
+
Elasticsearch::API::Response.new(
|
60
|
+
perform_request(method, path, params, body, headers, request_opts)
|
61
|
+
)
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
#
|
18
|
+
# Auto generated from build hash f284cc16f4d4b4289bc679aa1529bb504190fe80
|
19
|
+
# @see https://github.com/elastic/elasticsearch/tree/main/rest-api-spec
|
20
|
+
#
|
21
|
+
module Elasticsearch
|
22
|
+
module API
|
23
|
+
module Connector
|
24
|
+
module Actions
|
25
|
+
# Updates the scheduling field in the connector document.
|
26
|
+
# This functionality is Experimental and may be changed or removed
|
27
|
+
# completely in a future release. Elastic will take a best effort approach
|
28
|
+
# to fix any issues, but experimental features are not subject to the
|
29
|
+
# support SLA of official GA features.
|
30
|
+
#
|
31
|
+
# @option arguments [String] :connector_id The unique identifier of the connector to be updated.
|
32
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
33
|
+
# @option arguments [Hash] :body An object containing the connector's scheduling configuration. (*Required*)
|
34
|
+
#
|
35
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/current/update-connector-scheduling-api.html
|
36
|
+
#
|
37
|
+
def update_scheduling(arguments = {})
|
38
|
+
request_opts = { endpoint: arguments[:endpoint] || 'connector.update_scheduling' }
|
39
|
+
|
40
|
+
defined_params = [:connector_id].each_with_object({}) do |variable, set_variables|
|
41
|
+
set_variables[variable] = arguments[variable] if arguments.key?(variable)
|
42
|
+
end
|
43
|
+
request_opts[:defined_params] = defined_params unless defined_params.empty?
|
44
|
+
|
45
|
+
raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
|
46
|
+
raise ArgumentError, "Required argument 'connector_id' missing" unless arguments[:connector_id]
|
47
|
+
|
48
|
+
arguments = arguments.clone
|
49
|
+
headers = arguments.delete(:headers) || {}
|
50
|
+
|
51
|
+
body = arguments.delete(:body)
|
52
|
+
|
53
|
+
_connector_id = arguments.delete(:connector_id)
|
54
|
+
|
55
|
+
method = Elasticsearch::API::HTTP_PUT
|
56
|
+
path = "_connector/#{Utils.__listify(_connector_id)}/_scheduling"
|
57
|
+
params = {}
|
58
|
+
|
59
|
+
Elasticsearch::API::Response.new(
|
60
|
+
perform_request(method, path, params, body, headers, request_opts)
|
61
|
+
)
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
#
|
18
|
+
# Auto generated from build hash f284cc16f4d4b4289bc679aa1529bb504190fe80
|
19
|
+
# @see https://github.com/elastic/elasticsearch/tree/main/rest-api-spec
|
20
|
+
#
|
21
|
+
module Elasticsearch
|
22
|
+
module API
|
23
|
+
module Connector
|
24
|
+
module Actions
|
25
|
+
# Updates the service type of the connector.
|
26
|
+
# This functionality is Experimental and may be changed or removed
|
27
|
+
# completely in a future release. Elastic will take a best effort approach
|
28
|
+
# to fix any issues, but experimental features are not subject to the
|
29
|
+
# support SLA of official GA features.
|
30
|
+
#
|
31
|
+
# @option arguments [String] :connector_id The unique identifier of the connector to be updated.
|
32
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
33
|
+
# @option arguments [Hash] :body An object containing the connector's service type. (*Required*)
|
34
|
+
#
|
35
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/current/update-connector-service-type-api.html
|
36
|
+
#
|
37
|
+
def update_service_type(arguments = {})
|
38
|
+
request_opts = { endpoint: arguments[:endpoint] || 'connector.update_service_type' }
|
39
|
+
|
40
|
+
defined_params = [:connector_id].each_with_object({}) do |variable, set_variables|
|
41
|
+
set_variables[variable] = arguments[variable] if arguments.key?(variable)
|
42
|
+
end
|
43
|
+
request_opts[:defined_params] = defined_params unless defined_params.empty?
|
44
|
+
|
45
|
+
raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
|
46
|
+
raise ArgumentError, "Required argument 'connector_id' missing" unless arguments[:connector_id]
|
47
|
+
|
48
|
+
arguments = arguments.clone
|
49
|
+
headers = arguments.delete(:headers) || {}
|
50
|
+
|
51
|
+
body = arguments.delete(:body)
|
52
|
+
|
53
|
+
_connector_id = arguments.delete(:connector_id)
|
54
|
+
|
55
|
+
method = Elasticsearch::API::HTTP_PUT
|
56
|
+
path = "_connector/#{Utils.__listify(_connector_id)}/_service_type"
|
57
|
+
params = {}
|
58
|
+
|
59
|
+
Elasticsearch::API::Response.new(
|
60
|
+
perform_request(method, path, params, body, headers, request_opts)
|
61
|
+
)
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
#
|
18
|
+
# Auto generated from build hash f284cc16f4d4b4289bc679aa1529bb504190fe80
|
19
|
+
# @see https://github.com/elastic/elasticsearch/tree/main/rest-api-spec
|
20
|
+
#
|
21
|
+
module Elasticsearch
|
22
|
+
module API
|
23
|
+
module Connector
|
24
|
+
module Actions
|
25
|
+
# Updates the status of the connector.
|
26
|
+
# This functionality is Experimental and may be changed or removed
|
27
|
+
# completely in a future release. Elastic will take a best effort approach
|
28
|
+
# to fix any issues, but experimental features are not subject to the
|
29
|
+
# support SLA of official GA features.
|
30
|
+
#
|
31
|
+
# @option arguments [String] :connector_id The unique identifier of the connector to be updated.
|
32
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
33
|
+
# @option arguments [Hash] :body An object containing the connector's status. (*Required*)
|
34
|
+
#
|
35
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/current/update-connector-status-api.html
|
36
|
+
#
|
37
|
+
def update_status(arguments = {})
|
38
|
+
request_opts = { endpoint: arguments[:endpoint] || 'connector.update_status' }
|
39
|
+
|
40
|
+
defined_params = [:connector_id].each_with_object({}) do |variable, set_variables|
|
41
|
+
set_variables[variable] = arguments[variable] if arguments.key?(variable)
|
42
|
+
end
|
43
|
+
request_opts[:defined_params] = defined_params unless defined_params.empty?
|
44
|
+
|
45
|
+
raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
|
46
|
+
raise ArgumentError, "Required argument 'connector_id' missing" unless arguments[:connector_id]
|
47
|
+
|
48
|
+
arguments = arguments.clone
|
49
|
+
headers = arguments.delete(:headers) || {}
|
50
|
+
|
51
|
+
body = arguments.delete(:body)
|
52
|
+
|
53
|
+
_connector_id = arguments.delete(:connector_id)
|
54
|
+
|
55
|
+
method = Elasticsearch::API::HTTP_PUT
|
56
|
+
path = "_connector/#{Utils.__listify(_connector_id)}/_status"
|
57
|
+
params = {}
|
58
|
+
|
59
|
+
Elasticsearch::API::Response.new(
|
60
|
+
perform_request(method, path, params, body, headers, request_opts)
|
61
|
+
)
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
18
|
+
module Elasticsearch
|
19
|
+
module API
|
20
|
+
module Connector
|
21
|
+
module Actions; end
|
22
|
+
|
23
|
+
# Client for the "connector" namespace (includes the {Connector::Actions} methods)
|
24
|
+
#
|
25
|
+
class ConnectorClient
|
26
|
+
include Common::Client, Common::Client::Base, Connector::Actions
|
27
|
+
end
|
28
|
+
|
29
|
+
# Proxy method for {ConnectorClient}, available in the receiving object
|
30
|
+
#
|
31
|
+
def connector
|
32
|
+
@connector ||= ConnectorClient.new(self)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
module OpenSearch
|
2
|
+
module API
|
3
|
+
module Connector
|
4
|
+
module Actions
|
5
|
+
# Deletes a connector.
|
6
|
+
# This functionality is Experimental and may be changed or removed
|
7
|
+
# completely in a future release. Elastic will take a best effort approach
|
8
|
+
# to fix any issues, but experimental features are not subject to the
|
9
|
+
# support SLA of official GA features.
|
10
|
+
#
|
11
|
+
# @option arguments [String] :connector_id The unique identifier of the connector to be deleted.
|
12
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
13
|
+
#
|
14
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/8.13/delete-connector-api.html
|
15
|
+
#
|
16
|
+
def delete(arguments = {})
|
17
|
+
request_opts = { endpoint: arguments[:endpoint] || 'connector.delete' }
|
18
|
+
|
19
|
+
defined_params = [:connector_id].each_with_object({}) do |variable, set_variables|
|
20
|
+
set_variables[variable] = arguments[variable] if arguments.key?(variable)
|
21
|
+
end
|
22
|
+
request_opts[:defined_params] = defined_params unless defined_params.empty?
|
23
|
+
|
24
|
+
raise ArgumentError, "Required argument 'connector_id' missing" unless arguments[:connector_id]
|
25
|
+
|
26
|
+
arguments = arguments.clone
|
27
|
+
headers = arguments.delete(:headers) || {}
|
28
|
+
|
29
|
+
body = nil
|
30
|
+
|
31
|
+
_connector_id = arguments.delete(:connector_id)
|
32
|
+
|
33
|
+
method = OpenSearch::API::HTTP_DELETE
|
34
|
+
path = "_plugins/_ml/connectors/#{Utils.__listify(_connector_id)}"
|
35
|
+
params = {}
|
36
|
+
|
37
|
+
perform_request(method, path, params, body, headers).body
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
module OpenSearch
|
2
|
+
module API
|
3
|
+
module Connector
|
4
|
+
module Actions
|
5
|
+
# Returns the details about a connector.
|
6
|
+
# This functionality is Experimental and may be changed or removed
|
7
|
+
# completely in a future release. Elastic will take a best effort approach
|
8
|
+
# to fix any issues, but experimental features are not subject to the
|
9
|
+
# support SLA of official GA features.
|
10
|
+
#
|
11
|
+
# @option arguments [String] :connector_id The unique identifier of the connector to be returned.
|
12
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
13
|
+
#
|
14
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/8.13/get-connector-api.html
|
15
|
+
#
|
16
|
+
def get(arguments = {})
|
17
|
+
request_opts = { endpoint: arguments[:endpoint] || 'connector.get' }
|
18
|
+
|
19
|
+
defined_params = [:connector_id].each_with_object({}) do |variable, set_variables|
|
20
|
+
set_variables[variable] = arguments[variable] if arguments.key?(variable)
|
21
|
+
end
|
22
|
+
request_opts[:defined_params] = defined_params unless defined_params.empty?
|
23
|
+
|
24
|
+
raise ArgumentError, "Required argument 'connector_id' missing" unless arguments[:connector_id]
|
25
|
+
|
26
|
+
arguments = arguments.clone
|
27
|
+
headers = arguments.delete(:headers) || {}
|
28
|
+
|
29
|
+
body = nil
|
30
|
+
|
31
|
+
_connector_id = arguments.delete(:connector_id)
|
32
|
+
|
33
|
+
method = OpenSearch::API::HTTP_GET
|
34
|
+
path = "_plugins/_ml/connectors/#{Utils.__listify(_connector_id)}"
|
35
|
+
params = {}
|
36
|
+
|
37
|
+
perform_request(method, path, params, body, headers).body
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
module OpenSearch
|
2
|
+
module API
|
3
|
+
module Connector
|
4
|
+
module Actions
|
5
|
+
# Lists all connectors.
|
6
|
+
# This functionality is Experimental and may be changed or removed
|
7
|
+
# completely in a future release. Elastic will take a best effort approach
|
8
|
+
# to fix any issues, but experimental features are not subject to the
|
9
|
+
# support SLA of official GA features.
|
10
|
+
#
|
11
|
+
# @option arguments [Integer] :from Starting offset (default: 0)
|
12
|
+
# @option arguments [Integer] :size Specifies a max number of results to get (default: 100)
|
13
|
+
# @option arguments [List] :index_name A comma-separated list of connector index names to fetch connector documents for
|
14
|
+
# @option arguments [List] :connector_name A comma-separated list of connector names to fetch connector documents for
|
15
|
+
# @option arguments [List] :service_type A comma-separated list of connector service types to fetch connector documents for
|
16
|
+
# @option arguments [String] :query A search string for querying connectors, filtering results by matching against connector names, descriptions, and index names
|
17
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
18
|
+
#
|
19
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/8.13/list-connector-api.html
|
20
|
+
#
|
21
|
+
def list(arguments = {})
|
22
|
+
request_opts = { endpoint: arguments[:endpoint] || 'connector.list' }
|
23
|
+
|
24
|
+
arguments = arguments.clone
|
25
|
+
headers = arguments.delete(:headers) || {}
|
26
|
+
|
27
|
+
body = nil
|
28
|
+
|
29
|
+
method = OpenSearch::API::HTTP_GET
|
30
|
+
path = '_plugins/_ml/connectors'
|
31
|
+
params = Utils.process_params(arguments)
|
32
|
+
|
33
|
+
perform_request(method, path, params, body, headers).body
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module OpenSearch
|
2
|
+
module API
|
3
|
+
module Connector
|
4
|
+
module Actions
|
5
|
+
# Creates a connector.
|
6
|
+
# This functionality is Experimental and may be changed or removed
|
7
|
+
# completely in a future release. Elastic will take a best effort approach
|
8
|
+
# to fix any issues, but experimental features are not subject to the
|
9
|
+
# support SLA of official GA features.
|
10
|
+
#
|
11
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
12
|
+
# @option arguments [Hash] :body The connector configuration. (*Required*)
|
13
|
+
#
|
14
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/8.13/create-connector-api.html
|
15
|
+
#
|
16
|
+
def post(arguments = {})
|
17
|
+
request_opts = { endpoint: arguments[:endpoint] || 'connector.post' }
|
18
|
+
|
19
|
+
raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
|
20
|
+
|
21
|
+
arguments = arguments.clone
|
22
|
+
headers = arguments.delete(:headers) || {}
|
23
|
+
|
24
|
+
body = arguments.delete(:body)
|
25
|
+
|
26
|
+
method = OpenSearch::API::HTTP_POST
|
27
|
+
path = '_plugins/_ml/connectors/_create'
|
28
|
+
params = {}
|
29
|
+
|
30
|
+
perform_request(method, path, params, body, headers).body
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
module OpenSearch
|
2
|
+
module API
|
3
|
+
module Connector
|
4
|
+
module Actions
|
5
|
+
# Creates or updates a connector.
|
6
|
+
# This functionality is Experimental and may be changed or removed
|
7
|
+
# completely in a future release. Elastic will take a best effort approach
|
8
|
+
# to fix any issues, but experimental features are not subject to the
|
9
|
+
# support SLA of official GA features.
|
10
|
+
#
|
11
|
+
# @option arguments [String] :connector_id The unique identifier of the connector to be created or updated.
|
12
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
13
|
+
# @option arguments [Hash] :body The connector configuration. (*Required*)
|
14
|
+
#
|
15
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/8.13/create-connector-api.html
|
16
|
+
#
|
17
|
+
def put(arguments = {})
|
18
|
+
request_opts = { endpoint: arguments[:endpoint] || 'connector.put' }
|
19
|
+
|
20
|
+
defined_params = [:connector_id].each_with_object({}) do |variable, set_variables|
|
21
|
+
set_variables[variable] = arguments[variable] if arguments.key?(variable)
|
22
|
+
end
|
23
|
+
request_opts[:defined_params] = defined_params unless defined_params.empty?
|
24
|
+
|
25
|
+
raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
|
26
|
+
raise ArgumentError, "Required argument 'connector_id' missing" unless arguments[:connector_id]
|
27
|
+
|
28
|
+
arguments = arguments.clone
|
29
|
+
headers = arguments.delete(:headers) || {}
|
30
|
+
|
31
|
+
body = arguments.delete(:body)
|
32
|
+
|
33
|
+
_connector_id = arguments.delete(:connector_id)
|
34
|
+
|
35
|
+
method = OpenSearch::API::HTTP_PUT
|
36
|
+
path = "_plugins/_ml/connectors/#{Utils.__listify(_connector_id)}"
|
37
|
+
params = {}
|
38
|
+
|
39
|
+
perform_request(method, path, params, body, headers).body
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module OpenSearch
|
2
|
+
module API
|
3
|
+
module MachineLearning
|
4
|
+
module Models
|
5
|
+
module Actions
|
6
|
+
# Register a model.
|
7
|
+
#
|
8
|
+
# @option arguments [String] :model_id The model id
|
9
|
+
# @option arguments [Hash] :body The deploy options
|
10
|
+
#
|
11
|
+
#
|
12
|
+
# POST /_plugins/_ml/models/<model_id>/_predict
|
13
|
+
def predict(arguments = {})
|
14
|
+
raise ArgumentError, "Required argument 'model_id' missing" unless arguments[:model_id]
|
15
|
+
raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
|
16
|
+
_id = arguments.delete(:model_id)
|
17
|
+
arguments = arguments.clone
|
18
|
+
headers = arguments.delete(:headers) || {}
|
19
|
+
|
20
|
+
method = OpenSearch::API::HTTP_POST
|
21
|
+
path = "_plugins/_ml/models/#{Utils.__listify(_id)}/_predict"
|
22
|
+
params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
|
23
|
+
|
24
|
+
body = arguments[:body]
|
25
|
+
perform_request(method, path, params, body, headers).body
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module OpenSearch
|
2
|
+
module API
|
3
|
+
module Connector
|
4
|
+
module Actions; end
|
5
|
+
|
6
|
+
# Client for the "connector" namespace (includes the {Connector::Actions} methods)
|
7
|
+
#
|
8
|
+
class ConnectorClient
|
9
|
+
include Common::Client, Common::Client::Base, Connector::Actions
|
10
|
+
end
|
11
|
+
|
12
|
+
# Proxy method for {ConnectorClient}, available in the receiving object
|
13
|
+
#
|
14
|
+
def connector
|
15
|
+
@connector ||= ConnectorClient.new(self)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|