elasticsearch9 9.2.1__py3-none-any.whl → 9.3.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- elasticsearch9/_async/client/__init__.py +44 -40
- elasticsearch9/_async/client/async_search.py +4 -3
- elasticsearch9/_async/client/cat.py +163 -8
- elasticsearch9/_async/client/cluster.py +66 -34
- elasticsearch9/_async/client/eql.py +7 -6
- elasticsearch9/_async/client/esql.py +157 -8
- elasticsearch9/_async/client/fleet.py +1 -1
- elasticsearch9/_async/client/graph.py +1 -1
- elasticsearch9/_async/client/indices.py +436 -17
- elasticsearch9/_async/client/inference.py +299 -9
- elasticsearch9/_async/client/ml.py +7 -3
- elasticsearch9/_async/client/nodes.py +167 -5
- elasticsearch9/_async/client/project.py +9 -1
- elasticsearch9/_async/client/security.py +26 -3
- elasticsearch9/_async/client/snapshot.py +1 -1
- elasticsearch9/_async/client/sql.py +7 -6
- elasticsearch9/_async/client/streams.py +0 -1
- elasticsearch9/_async/client/text_structure.py +3 -3
- elasticsearch9/_sync/client/__init__.py +44 -40
- elasticsearch9/_sync/client/async_search.py +4 -3
- elasticsearch9/_sync/client/cat.py +163 -8
- elasticsearch9/_sync/client/cluster.py +66 -34
- elasticsearch9/_sync/client/eql.py +7 -6
- elasticsearch9/_sync/client/esql.py +157 -8
- elasticsearch9/_sync/client/fleet.py +1 -1
- elasticsearch9/_sync/client/graph.py +1 -1
- elasticsearch9/_sync/client/indices.py +436 -17
- elasticsearch9/_sync/client/inference.py +299 -9
- elasticsearch9/_sync/client/ml.py +7 -3
- elasticsearch9/_sync/client/nodes.py +167 -5
- elasticsearch9/_sync/client/project.py +9 -1
- elasticsearch9/_sync/client/project_routing.py +264 -0
- elasticsearch9/_sync/client/security.py +26 -3
- elasticsearch9/_sync/client/snapshot.py +1 -1
- elasticsearch9/_sync/client/sql.py +7 -6
- elasticsearch9/_sync/client/streams.py +0 -1
- elasticsearch9/_sync/client/text_structure.py +3 -3
- elasticsearch9/_version.py +2 -2
- elasticsearch9/dsl/__init__.py +4 -0
- elasticsearch9/dsl/aggs.py +6 -6
- elasticsearch9/dsl/field.py +91 -7
- elasticsearch9/dsl/query.py +2 -2
- elasticsearch9/dsl/response/__init__.py +2 -0
- elasticsearch9/dsl/types.py +66 -7
- elasticsearch9/dsl/utils.py +11 -2
- elasticsearch9/esql/functions.py +924 -250
- elasticsearch9/helpers/__init__.py +2 -0
- elasticsearch9/helpers/actions.py +21 -0
- elasticsearch9/helpers/vectorstore/_async/vectorstore.py +3 -0
- elasticsearch9/helpers/vectorstore/_sync/vectorstore.py +3 -0
- {elasticsearch9-9.2.1.dist-info → elasticsearch9-9.3.0.dist-info}/METADATA +2 -1
- {elasticsearch9-9.2.1.dist-info → elasticsearch9-9.3.0.dist-info}/RECORD +55 -54
- {elasticsearch9-9.2.1.dist-info → elasticsearch9-9.3.0.dist-info}/WHEEL +0 -0
- {elasticsearch9-9.2.1.dist-info → elasticsearch9-9.3.0.dist-info}/licenses/LICENSE +0 -0
- {elasticsearch9-9.2.1.dist-info → elasticsearch9-9.3.0.dist-info}/licenses/NOTICE +0 -0
|
@@ -38,6 +38,7 @@ class ProjectClient(NamespacedClient):
|
|
|
38
38
|
filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
|
|
39
39
|
human: t.Optional[bool] = None,
|
|
40
40
|
pretty: t.Optional[bool] = None,
|
|
41
|
+
project_routing: t.Optional[str] = None,
|
|
41
42
|
) -> ObjectApiResponse[t.Any]:
|
|
42
43
|
"""
|
|
43
44
|
.. raw:: html
|
|
@@ -45,6 +46,11 @@ class ProjectClient(NamespacedClient):
|
|
|
45
46
|
<p>Get tags.</p>
|
|
46
47
|
<p>Get the tags that are defined for the project.</p>
|
|
47
48
|
|
|
49
|
+
|
|
50
|
+
`<https://www.elastic.co/docs/api/doc/elasticsearch-serverless/operation/operation-project-tags>`_
|
|
51
|
+
|
|
52
|
+
:param project_routing: A Lucene query using project metadata tags used to filter
|
|
53
|
+
which projects are returned in the response, such as _alias:_origin or _alias:*pr*.
|
|
48
54
|
"""
|
|
49
55
|
__path_parts: t.Dict[str, str] = {}
|
|
50
56
|
__path = "/_project/tags"
|
|
@@ -57,9 +63,11 @@ class ProjectClient(NamespacedClient):
|
|
|
57
63
|
__query["human"] = human
|
|
58
64
|
if pretty is not None:
|
|
59
65
|
__query["pretty"] = pretty
|
|
66
|
+
if project_routing is not None:
|
|
67
|
+
__query["project_routing"] = project_routing
|
|
60
68
|
__headers = {"accept": "application/json"}
|
|
61
69
|
return self.perform_request( # type: ignore[return-value]
|
|
62
|
-
"
|
|
70
|
+
"POST",
|
|
63
71
|
__path,
|
|
64
72
|
params=__query,
|
|
65
73
|
headers=__headers,
|
|
@@ -0,0 +1,264 @@
|
|
|
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
|
+
import typing as t
|
|
19
|
+
|
|
20
|
+
from elastic_transport import ObjectApiResponse
|
|
21
|
+
|
|
22
|
+
from ._base import NamespacedClient
|
|
23
|
+
from .utils import (
|
|
24
|
+
SKIP_IN_PATH,
|
|
25
|
+
Stability,
|
|
26
|
+
_availability_warning,
|
|
27
|
+
_quote,
|
|
28
|
+
_rewrite_parameters,
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class ProjectRoutingClient(NamespacedClient):
|
|
33
|
+
|
|
34
|
+
@_rewrite_parameters(
|
|
35
|
+
body_name="expressions",
|
|
36
|
+
)
|
|
37
|
+
@_availability_warning(Stability.EXPERIMENTAL)
|
|
38
|
+
def create(
|
|
39
|
+
self,
|
|
40
|
+
*,
|
|
41
|
+
name: str,
|
|
42
|
+
expressions: t.Optional[t.Mapping[str, t.Any]] = None,
|
|
43
|
+
body: t.Optional[t.Mapping[str, t.Any]] = None,
|
|
44
|
+
error_trace: t.Optional[bool] = None,
|
|
45
|
+
filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
|
|
46
|
+
human: t.Optional[bool] = None,
|
|
47
|
+
pretty: t.Optional[bool] = None,
|
|
48
|
+
) -> ObjectApiResponse[t.Any]:
|
|
49
|
+
"""
|
|
50
|
+
.. raw:: html
|
|
51
|
+
|
|
52
|
+
<p>Create of update a single named project routing expression.</p>
|
|
53
|
+
<p>Create of update a single named project routing expression.</p>
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
:param name: The name of project routing expression
|
|
57
|
+
:param expressions:
|
|
58
|
+
"""
|
|
59
|
+
if name in SKIP_IN_PATH:
|
|
60
|
+
raise ValueError("Empty value passed for parameter 'name'")
|
|
61
|
+
if expressions is None and body is None:
|
|
62
|
+
raise ValueError(
|
|
63
|
+
"Empty value passed for parameters 'expressions' and 'body', one of them should be set."
|
|
64
|
+
)
|
|
65
|
+
elif expressions is not None and body is not None:
|
|
66
|
+
raise ValueError("Cannot set both 'expressions' and 'body'")
|
|
67
|
+
__path_parts: t.Dict[str, str] = {"name": _quote(name)}
|
|
68
|
+
__path = f'/_project_routing/{__path_parts["name"]}'
|
|
69
|
+
__query: t.Dict[str, t.Any] = {}
|
|
70
|
+
if error_trace is not None:
|
|
71
|
+
__query["error_trace"] = error_trace
|
|
72
|
+
if filter_path is not None:
|
|
73
|
+
__query["filter_path"] = filter_path
|
|
74
|
+
if human is not None:
|
|
75
|
+
__query["human"] = human
|
|
76
|
+
if pretty is not None:
|
|
77
|
+
__query["pretty"] = pretty
|
|
78
|
+
__body = expressions if expressions is not None else body
|
|
79
|
+
__headers = {"accept": "application/json", "content-type": "application/json"}
|
|
80
|
+
return self.perform_request( # type: ignore[return-value]
|
|
81
|
+
"PUT",
|
|
82
|
+
__path,
|
|
83
|
+
params=__query,
|
|
84
|
+
headers=__headers,
|
|
85
|
+
body=__body,
|
|
86
|
+
endpoint_id="project_routing.create",
|
|
87
|
+
path_parts=__path_parts,
|
|
88
|
+
)
|
|
89
|
+
|
|
90
|
+
@_rewrite_parameters(
|
|
91
|
+
body_name="expressions",
|
|
92
|
+
)
|
|
93
|
+
@_availability_warning(Stability.EXPERIMENTAL)
|
|
94
|
+
def create_many(
|
|
95
|
+
self,
|
|
96
|
+
*,
|
|
97
|
+
expressions: t.Optional[t.Mapping[str, t.Mapping[str, t.Any]]] = None,
|
|
98
|
+
body: t.Optional[t.Mapping[str, t.Mapping[str, t.Any]]] = None,
|
|
99
|
+
error_trace: t.Optional[bool] = None,
|
|
100
|
+
filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
|
|
101
|
+
human: t.Optional[bool] = None,
|
|
102
|
+
pretty: t.Optional[bool] = None,
|
|
103
|
+
) -> ObjectApiResponse[t.Any]:
|
|
104
|
+
"""
|
|
105
|
+
.. raw:: html
|
|
106
|
+
|
|
107
|
+
<p>Create of update named project routing expressions.</p>
|
|
108
|
+
<p>Create or update named project routing expressions.</p>
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
:param expressions:
|
|
112
|
+
"""
|
|
113
|
+
if expressions is None and body is None:
|
|
114
|
+
raise ValueError(
|
|
115
|
+
"Empty value passed for parameters 'expressions' and 'body', one of them should be set."
|
|
116
|
+
)
|
|
117
|
+
elif expressions is not None and body is not None:
|
|
118
|
+
raise ValueError("Cannot set both 'expressions' and 'body'")
|
|
119
|
+
__path_parts: t.Dict[str, str] = {}
|
|
120
|
+
__path = "/_project_routing"
|
|
121
|
+
__query: t.Dict[str, t.Any] = {}
|
|
122
|
+
if error_trace is not None:
|
|
123
|
+
__query["error_trace"] = error_trace
|
|
124
|
+
if filter_path is not None:
|
|
125
|
+
__query["filter_path"] = filter_path
|
|
126
|
+
if human is not None:
|
|
127
|
+
__query["human"] = human
|
|
128
|
+
if pretty is not None:
|
|
129
|
+
__query["pretty"] = pretty
|
|
130
|
+
__body = expressions if expressions is not None else body
|
|
131
|
+
__headers = {"accept": "application/json", "content-type": "application/json"}
|
|
132
|
+
return self.perform_request( # type: ignore[return-value]
|
|
133
|
+
"PUT",
|
|
134
|
+
__path,
|
|
135
|
+
params=__query,
|
|
136
|
+
headers=__headers,
|
|
137
|
+
body=__body,
|
|
138
|
+
endpoint_id="project_routing.create_many",
|
|
139
|
+
path_parts=__path_parts,
|
|
140
|
+
)
|
|
141
|
+
|
|
142
|
+
@_rewrite_parameters()
|
|
143
|
+
@_availability_warning(Stability.EXPERIMENTAL)
|
|
144
|
+
def delete(
|
|
145
|
+
self,
|
|
146
|
+
*,
|
|
147
|
+
name: str,
|
|
148
|
+
error_trace: t.Optional[bool] = None,
|
|
149
|
+
filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
|
|
150
|
+
human: t.Optional[bool] = None,
|
|
151
|
+
pretty: t.Optional[bool] = None,
|
|
152
|
+
) -> ObjectApiResponse[t.Any]:
|
|
153
|
+
"""
|
|
154
|
+
.. raw:: html
|
|
155
|
+
|
|
156
|
+
<p>Delete named project routing expressions.</p>
|
|
157
|
+
<p>Delete named project routing expressions.</p>
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
:param name: The name of project routing expression
|
|
161
|
+
"""
|
|
162
|
+
if name in SKIP_IN_PATH:
|
|
163
|
+
raise ValueError("Empty value passed for parameter 'name'")
|
|
164
|
+
__path_parts: t.Dict[str, str] = {"name": _quote(name)}
|
|
165
|
+
__path = f'/_project_routing/{__path_parts["name"]}'
|
|
166
|
+
__query: t.Dict[str, t.Any] = {}
|
|
167
|
+
if error_trace is not None:
|
|
168
|
+
__query["error_trace"] = error_trace
|
|
169
|
+
if filter_path is not None:
|
|
170
|
+
__query["filter_path"] = filter_path
|
|
171
|
+
if human is not None:
|
|
172
|
+
__query["human"] = human
|
|
173
|
+
if pretty is not None:
|
|
174
|
+
__query["pretty"] = pretty
|
|
175
|
+
__headers = {"accept": "application/json"}
|
|
176
|
+
return self.perform_request( # type: ignore[return-value]
|
|
177
|
+
"DELETE",
|
|
178
|
+
__path,
|
|
179
|
+
params=__query,
|
|
180
|
+
headers=__headers,
|
|
181
|
+
endpoint_id="project_routing.delete",
|
|
182
|
+
path_parts=__path_parts,
|
|
183
|
+
)
|
|
184
|
+
|
|
185
|
+
@_rewrite_parameters()
|
|
186
|
+
@_availability_warning(Stability.EXPERIMENTAL)
|
|
187
|
+
def get(
|
|
188
|
+
self,
|
|
189
|
+
*,
|
|
190
|
+
name: str,
|
|
191
|
+
error_trace: t.Optional[bool] = None,
|
|
192
|
+
filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
|
|
193
|
+
human: t.Optional[bool] = None,
|
|
194
|
+
pretty: t.Optional[bool] = None,
|
|
195
|
+
) -> ObjectApiResponse[t.Any]:
|
|
196
|
+
"""
|
|
197
|
+
.. raw:: html
|
|
198
|
+
|
|
199
|
+
<p>Get named project routing expressions.</p>
|
|
200
|
+
<p>Get named project routing expressions.</p>
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
:param name: The name of project routing expression
|
|
204
|
+
"""
|
|
205
|
+
if name in SKIP_IN_PATH:
|
|
206
|
+
raise ValueError("Empty value passed for parameter 'name'")
|
|
207
|
+
__path_parts: t.Dict[str, str] = {"name": _quote(name)}
|
|
208
|
+
__path = f'/_project_routing/{__path_parts["name"]}'
|
|
209
|
+
__query: t.Dict[str, t.Any] = {}
|
|
210
|
+
if error_trace is not None:
|
|
211
|
+
__query["error_trace"] = error_trace
|
|
212
|
+
if filter_path is not None:
|
|
213
|
+
__query["filter_path"] = filter_path
|
|
214
|
+
if human is not None:
|
|
215
|
+
__query["human"] = human
|
|
216
|
+
if pretty is not None:
|
|
217
|
+
__query["pretty"] = pretty
|
|
218
|
+
__headers = {"accept": "application/json"}
|
|
219
|
+
return self.perform_request( # type: ignore[return-value]
|
|
220
|
+
"GET",
|
|
221
|
+
__path,
|
|
222
|
+
params=__query,
|
|
223
|
+
headers=__headers,
|
|
224
|
+
endpoint_id="project_routing.get",
|
|
225
|
+
path_parts=__path_parts,
|
|
226
|
+
)
|
|
227
|
+
|
|
228
|
+
@_rewrite_parameters()
|
|
229
|
+
@_availability_warning(Stability.EXPERIMENTAL)
|
|
230
|
+
def get_many(
|
|
231
|
+
self,
|
|
232
|
+
*,
|
|
233
|
+
error_trace: t.Optional[bool] = None,
|
|
234
|
+
filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
|
|
235
|
+
human: t.Optional[bool] = None,
|
|
236
|
+
pretty: t.Optional[bool] = None,
|
|
237
|
+
) -> ObjectApiResponse[t.Any]:
|
|
238
|
+
"""
|
|
239
|
+
.. raw:: html
|
|
240
|
+
|
|
241
|
+
<p>Get named project routing expressions.</p>
|
|
242
|
+
<p>Get named project routing expressions.</p>
|
|
243
|
+
|
|
244
|
+
"""
|
|
245
|
+
__path_parts: t.Dict[str, str] = {}
|
|
246
|
+
__path = "/_project_routing"
|
|
247
|
+
__query: t.Dict[str, t.Any] = {}
|
|
248
|
+
if error_trace is not None:
|
|
249
|
+
__query["error_trace"] = error_trace
|
|
250
|
+
if filter_path is not None:
|
|
251
|
+
__query["filter_path"] = filter_path
|
|
252
|
+
if human is not None:
|
|
253
|
+
__query["human"] = human
|
|
254
|
+
if pretty is not None:
|
|
255
|
+
__query["pretty"] = pretty
|
|
256
|
+
__headers = {"accept": "application/json"}
|
|
257
|
+
return self.perform_request( # type: ignore[return-value]
|
|
258
|
+
"GET",
|
|
259
|
+
__path,
|
|
260
|
+
params=__query,
|
|
261
|
+
headers=__headers,
|
|
262
|
+
endpoint_id="project_routing.get_many",
|
|
263
|
+
path_parts=__path_parts,
|
|
264
|
+
)
|
|
@@ -477,7 +477,7 @@ class SecurityClient(NamespacedClient):
|
|
|
477
477
|
def clear_cached_privileges(
|
|
478
478
|
self,
|
|
479
479
|
*,
|
|
480
|
-
application: str,
|
|
480
|
+
application: t.Union[str, t.Sequence[str]],
|
|
481
481
|
error_trace: t.Optional[bool] = None,
|
|
482
482
|
filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
|
|
483
483
|
human: t.Optional[bool] = None,
|
|
@@ -775,13 +775,20 @@ class SecurityClient(NamespacedClient):
|
|
|
775
775
|
)
|
|
776
776
|
|
|
777
777
|
@_rewrite_parameters(
|
|
778
|
-
body_fields=(
|
|
778
|
+
body_fields=(
|
|
779
|
+
"access",
|
|
780
|
+
"name",
|
|
781
|
+
"certificate_identity",
|
|
782
|
+
"expiration",
|
|
783
|
+
"metadata",
|
|
784
|
+
),
|
|
779
785
|
)
|
|
780
786
|
def create_cross_cluster_api_key(
|
|
781
787
|
self,
|
|
782
788
|
*,
|
|
783
789
|
access: t.Optional[t.Mapping[str, t.Any]] = None,
|
|
784
790
|
name: t.Optional[str] = None,
|
|
791
|
+
certificate_identity: t.Optional[str] = None,
|
|
785
792
|
error_trace: t.Optional[bool] = None,
|
|
786
793
|
expiration: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
|
|
787
794
|
filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
|
|
@@ -814,6 +821,10 @@ class SecurityClient(NamespacedClient):
|
|
|
814
821
|
automatically converts the access specification to a role descriptor which
|
|
815
822
|
has relevant privileges assigned accordingly.
|
|
816
823
|
:param name: Specifies the name for this API key.
|
|
824
|
+
:param certificate_identity: The certificate identity to associate with this
|
|
825
|
+
API key. This field is used to restrict the API key to connections authenticated
|
|
826
|
+
by a specific TLS certificate. The value should match the certificate's distinguished
|
|
827
|
+
name (DN) pattern.
|
|
817
828
|
:param expiration: Expiration time for the API key. By default, API keys never
|
|
818
829
|
expire.
|
|
819
830
|
:param metadata: Arbitrary metadata that you want to associate with the API key.
|
|
@@ -841,6 +852,8 @@ class SecurityClient(NamespacedClient):
|
|
|
841
852
|
__body["access"] = access
|
|
842
853
|
if name is not None:
|
|
843
854
|
__body["name"] = name
|
|
855
|
+
if certificate_identity is not None:
|
|
856
|
+
__body["certificate_identity"] = certificate_identity
|
|
844
857
|
if expiration is not None:
|
|
845
858
|
__body["expiration"] = expiration
|
|
846
859
|
if metadata is not None:
|
|
@@ -4474,13 +4487,14 @@ class SecurityClient(NamespacedClient):
|
|
|
4474
4487
|
)
|
|
4475
4488
|
|
|
4476
4489
|
@_rewrite_parameters(
|
|
4477
|
-
body_fields=("access", "expiration", "metadata"),
|
|
4490
|
+
body_fields=("access", "certificate_identity", "expiration", "metadata"),
|
|
4478
4491
|
)
|
|
4479
4492
|
def update_cross_cluster_api_key(
|
|
4480
4493
|
self,
|
|
4481
4494
|
*,
|
|
4482
4495
|
id: str,
|
|
4483
4496
|
access: t.Optional[t.Mapping[str, t.Any]] = None,
|
|
4497
|
+
certificate_identity: t.Optional[str] = None,
|
|
4484
4498
|
error_trace: t.Optional[bool] = None,
|
|
4485
4499
|
expiration: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
|
|
4486
4500
|
filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
|
|
@@ -4513,6 +4527,13 @@ class SecurityClient(NamespacedClient):
|
|
|
4513
4527
|
of permissions for cross cluster search and cross cluster replication. At
|
|
4514
4528
|
least one of them must be specified. When specified, the new access assignment
|
|
4515
4529
|
fully replaces the previously assigned access.
|
|
4530
|
+
:param certificate_identity: The certificate identity to associate with this
|
|
4531
|
+
API key. This field is used to restrict the API key to connections authenticated
|
|
4532
|
+
by a specific TLS certificate. The value should match the certificate's distinguished
|
|
4533
|
+
name (DN) pattern. When specified, this fully replaces any previously assigned
|
|
4534
|
+
certificate identity. To clear an existing certificate identity, explicitly
|
|
4535
|
+
set this field to `null`. When omitted, the existing certificate identity
|
|
4536
|
+
remains unchanged.
|
|
4516
4537
|
:param expiration: The expiration time for the API key. By default, API keys
|
|
4517
4538
|
never expire. This property can be omitted to leave the value unchanged.
|
|
4518
4539
|
:param metadata: Arbitrary metadata that you want to associate with the API key.
|
|
@@ -4539,6 +4560,8 @@ class SecurityClient(NamespacedClient):
|
|
|
4539
4560
|
if not __body:
|
|
4540
4561
|
if access is not None:
|
|
4541
4562
|
__body["access"] = access
|
|
4563
|
+
if certificate_identity is not None:
|
|
4564
|
+
__body["certificate_identity"] = certificate_identity
|
|
4542
4565
|
if expiration is not None:
|
|
4543
4566
|
__body["expiration"] = expiration
|
|
4544
4567
|
if metadata is not None:
|
|
@@ -397,7 +397,7 @@ class SnapshotClient(NamespacedClient):
|
|
|
397
397
|
self,
|
|
398
398
|
*,
|
|
399
399
|
repository: str,
|
|
400
|
-
snapshot: str,
|
|
400
|
+
snapshot: t.Union[str, t.Sequence[str]],
|
|
401
401
|
error_trace: t.Optional[bool] = None,
|
|
402
402
|
filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
|
|
403
403
|
human: t.Optional[bool] = None,
|
|
@@ -253,6 +253,7 @@ class SqlClient(NamespacedClient):
|
|
|
253
253
|
"keep_on_completion",
|
|
254
254
|
"page_timeout",
|
|
255
255
|
"params",
|
|
256
|
+
"project_routing",
|
|
256
257
|
"query",
|
|
257
258
|
"request_timeout",
|
|
258
259
|
"runtime_mappings",
|
|
@@ -333,10 +334,10 @@ class SqlClient(NamespacedClient):
|
|
|
333
334
|
is no longer available. Subsequent scroll requests prolong the lifetime of
|
|
334
335
|
the scroll cursor by the duration of `page_timeout` in the scroll request.
|
|
335
336
|
:param params: The values for parameters in the query.
|
|
336
|
-
:param project_routing: Specifies a subset of projects to target
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
_alias:
|
|
337
|
+
:param project_routing: Specifies a subset of projects to target using project
|
|
338
|
+
metadata tags in a subset of Lucene query syntax. Allowed Lucene queries:
|
|
339
|
+
the _alias tag and a single value (possibly wildcarded). Examples: _alias:my-project
|
|
340
|
+
_alias:_origin _alias:*pr* Supported in serverless only.
|
|
340
341
|
:param query: The SQL query to run.
|
|
341
342
|
:param request_timeout: The timeout before the request fails.
|
|
342
343
|
:param runtime_mappings: One or more runtime fields for the search request. These
|
|
@@ -362,8 +363,6 @@ class SqlClient(NamespacedClient):
|
|
|
362
363
|
__query["human"] = human
|
|
363
364
|
if pretty is not None:
|
|
364
365
|
__query["pretty"] = pretty
|
|
365
|
-
if project_routing is not None:
|
|
366
|
-
__query["project_routing"] = project_routing
|
|
367
366
|
if not __body:
|
|
368
367
|
if allow_partial_search_results is not None:
|
|
369
368
|
__body["allow_partial_search_results"] = allow_partial_search_results
|
|
@@ -389,6 +388,8 @@ class SqlClient(NamespacedClient):
|
|
|
389
388
|
__body["page_timeout"] = page_timeout
|
|
390
389
|
if params is not None:
|
|
391
390
|
__body["params"] = params
|
|
391
|
+
if project_routing is not None:
|
|
392
|
+
__body["project_routing"] = project_routing
|
|
392
393
|
if query is not None:
|
|
393
394
|
__body["query"] = query
|
|
394
395
|
if request_timeout is not None:
|
|
@@ -31,7 +31,7 @@ class TextStructureClient(NamespacedClient):
|
|
|
31
31
|
*,
|
|
32
32
|
field: str,
|
|
33
33
|
index: str,
|
|
34
|
-
column_names: t.Optional[str] = None,
|
|
34
|
+
column_names: t.Optional[t.Union[str, t.Sequence[str]]] = None,
|
|
35
35
|
delimiter: t.Optional[str] = None,
|
|
36
36
|
documents_to_sample: t.Optional[int] = None,
|
|
37
37
|
ecs_compatibility: t.Optional[t.Union[str, t.Literal["disabled", "v1"]]] = None,
|
|
@@ -217,7 +217,7 @@ class TextStructureClient(NamespacedClient):
|
|
|
217
217
|
self,
|
|
218
218
|
*,
|
|
219
219
|
messages: t.Optional[t.Sequence[str]] = None,
|
|
220
|
-
column_names: t.Optional[str] = None,
|
|
220
|
+
column_names: t.Optional[t.Union[str, t.Sequence[str]]] = None,
|
|
221
221
|
delimiter: t.Optional[str] = None,
|
|
222
222
|
ecs_compatibility: t.Optional[t.Union[str, t.Literal["disabled", "v1"]]] = None,
|
|
223
223
|
error_trace: t.Optional[bool] = None,
|
|
@@ -398,7 +398,7 @@ class TextStructureClient(NamespacedClient):
|
|
|
398
398
|
text_files: t.Optional[t.Sequence[t.Any]] = None,
|
|
399
399
|
body: t.Optional[t.Sequence[t.Any]] = None,
|
|
400
400
|
charset: t.Optional[str] = None,
|
|
401
|
-
column_names: t.Optional[str] = None,
|
|
401
|
+
column_names: t.Optional[t.Union[str, t.Sequence[str]]] = None,
|
|
402
402
|
delimiter: t.Optional[str] = None,
|
|
403
403
|
ecs_compatibility: t.Optional[str] = None,
|
|
404
404
|
explain: t.Optional[bool] = None,
|
elasticsearch9/_version.py
CHANGED
|
@@ -15,5 +15,5 @@
|
|
|
15
15
|
# specific language governing permissions and limitations
|
|
16
16
|
# under the License.
|
|
17
17
|
|
|
18
|
-
__versionstr__ = "9.
|
|
19
|
-
__es_specification_commit__ = "
|
|
18
|
+
__versionstr__ = "9.3.0"
|
|
19
|
+
__es_specification_commit__ = "f051200486a5a1d415cc04f07f6bd150395d7661"
|
elasticsearch9/dsl/__init__.py
CHANGED
|
@@ -53,6 +53,7 @@ from .field import (
|
|
|
53
53
|
DenseVector,
|
|
54
54
|
Double,
|
|
55
55
|
DoubleRange,
|
|
56
|
+
ExponentialHistogram,
|
|
56
57
|
Field,
|
|
57
58
|
Flattened,
|
|
58
59
|
Float,
|
|
@@ -73,6 +74,7 @@ from .field import (
|
|
|
73
74
|
MatchOnlyText,
|
|
74
75
|
Murmur3,
|
|
75
76
|
Nested,
|
|
77
|
+
NumpyDenseVector,
|
|
76
78
|
Object,
|
|
77
79
|
Passthrough,
|
|
78
80
|
Percolator,
|
|
@@ -156,6 +158,7 @@ __all__ = [
|
|
|
156
158
|
"E",
|
|
157
159
|
"ElasticsearchDslException",
|
|
158
160
|
"EmptySearch",
|
|
161
|
+
"ExponentialHistogram",
|
|
159
162
|
"Facet",
|
|
160
163
|
"FacetedResponse",
|
|
161
164
|
"FacetedSearch",
|
|
@@ -189,6 +192,7 @@ __all__ = [
|
|
|
189
192
|
"Murmur3",
|
|
190
193
|
"Nested",
|
|
191
194
|
"NestedFacet",
|
|
195
|
+
"NumpyDenseVector",
|
|
192
196
|
"Object",
|
|
193
197
|
"Passthrough",
|
|
194
198
|
"Percolator",
|
elasticsearch9/dsl/aggs.py
CHANGED
|
@@ -1516,9 +1516,9 @@ class GeoLine(Agg[_R]):
|
|
|
1516
1516
|
ordered by the chosen sort field.
|
|
1517
1517
|
|
|
1518
1518
|
:arg point: (required) The name of the geo_point field.
|
|
1519
|
-
:arg sort:
|
|
1520
|
-
|
|
1521
|
-
|
|
1519
|
+
:arg sort: The name of the numeric field to use as the sort key for
|
|
1520
|
+
ordering the points. When the `geo_line` aggregation is nested
|
|
1521
|
+
inside a `time_series` aggregation, this field defaults to
|
|
1522
1522
|
`@timestamp`, and any other value will result in error.
|
|
1523
1523
|
:arg include_sort: When `true`, returns an additional array of the
|
|
1524
1524
|
sort values in the feature properties.
|
|
@@ -1855,9 +1855,9 @@ class Inference(Pipeline[_R]):
|
|
|
1855
1855
|
class Line(Agg[_R]):
|
|
1856
1856
|
"""
|
|
1857
1857
|
:arg point: (required) The name of the geo_point field.
|
|
1858
|
-
:arg sort:
|
|
1859
|
-
|
|
1860
|
-
|
|
1858
|
+
:arg sort: The name of the numeric field to use as the sort key for
|
|
1859
|
+
ordering the points. When the `geo_line` aggregation is nested
|
|
1860
|
+
inside a `time_series` aggregation, this field defaults to
|
|
1861
1861
|
`@timestamp`, and any other value will result in error.
|
|
1862
1862
|
:arg include_sort: When `true`, returns an additional array of the
|
|
1863
1863
|
sort values in the feature properties.
|