Skip to content

Commit 9d44d05

Browse files
authored
[8.0] Generate complex types from Elasticsearch specification
1 parent 0eb9f8f commit 9d44d05

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+14350
-9367
lines changed

elasticsearch/_async/client/__init__.py

Lines changed: 1234 additions & 794 deletions
Large diffs are not rendered by default.

elasticsearch/_async/client/async_search.py

Lines changed: 168 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
# specific language governing permissions and limitations
1616
# under the License.
1717

18-
from typing import Any, Dict, List, Optional, Union
18+
import typing as t
1919

2020
from elastic_transport import ObjectApiResponse
2121

@@ -28,12 +28,14 @@ class AsyncSearchClient(NamespacedClient):
2828
async def delete(
2929
self,
3030
*,
31-
id: Any,
32-
error_trace: Optional[bool] = None,
33-
filter_path: Optional[Union[List[str], str]] = None,
34-
human: Optional[bool] = None,
35-
pretty: Optional[bool] = None,
36-
) -> ObjectApiResponse[Any]:
31+
id: str,
32+
error_trace: t.Optional[bool] = None,
33+
filter_path: t.Optional[
34+
t.Union[str, t.Union[t.List[str], t.Tuple[str, ...]]]
35+
] = None,
36+
human: t.Optional[bool] = None,
37+
pretty: t.Optional[bool] = None,
38+
) -> ObjectApiResponse[t.Any]:
3739
"""
3840
Deletes an async search by ID. If the search is still running, the search request
3941
will be cancelled. Otherwise, the saved search results are deleted.
@@ -45,7 +47,7 @@ async def delete(
4547
if id in SKIP_IN_PATH:
4648
raise ValueError("Empty value passed for parameter 'id'")
4749
__path = f"/_async_search/{_quote(id)}"
48-
__query: Dict[str, Any] = {}
50+
__query: t.Dict[str, t.Any] = {}
4951
if error_trace is not None:
5052
__query["error_trace"] = error_trace
5153
if filter_path is not None:
@@ -63,15 +65,17 @@ async def delete(
6365
async def get(
6466
self,
6567
*,
66-
id: Any,
67-
error_trace: Optional[bool] = None,
68-
filter_path: Optional[Union[List[str], str]] = None,
69-
human: Optional[bool] = None,
70-
keep_alive: Optional[Any] = None,
71-
pretty: Optional[bool] = None,
72-
typed_keys: Optional[bool] = None,
73-
wait_for_completion_timeout: Optional[Any] = None,
74-
) -> ObjectApiResponse[Any]:
68+
id: str,
69+
error_trace: t.Optional[bool] = None,
70+
filter_path: t.Optional[
71+
t.Union[str, t.Union[t.List[str], t.Tuple[str, ...]]]
72+
] = None,
73+
human: t.Optional[bool] = None,
74+
keep_alive: t.Optional[t.Union[int, str]] = None,
75+
pretty: t.Optional[bool] = None,
76+
typed_keys: t.Optional[bool] = None,
77+
wait_for_completion_timeout: t.Optional[t.Union[int, str]] = None,
78+
) -> ObjectApiResponse[t.Any]:
7579
"""
7680
Retrieves the results of a previously submitted async search request given its
7781
ID.
@@ -89,7 +93,7 @@ async def get(
8993
if id in SKIP_IN_PATH:
9094
raise ValueError("Empty value passed for parameter 'id'")
9195
__path = f"/_async_search/{_quote(id)}"
92-
__query: Dict[str, Any] = {}
96+
__query: t.Dict[str, t.Any] = {}
9397
if error_trace is not None:
9498
__query["error_trace"] = error_trace
9599
if filter_path is not None:
@@ -113,12 +117,14 @@ async def get(
113117
async def status(
114118
self,
115119
*,
116-
id: Any,
117-
error_trace: Optional[bool] = None,
118-
filter_path: Optional[Union[List[str], str]] = None,
119-
human: Optional[bool] = None,
120-
pretty: Optional[bool] = None,
121-
) -> ObjectApiResponse[Any]:
120+
id: str,
121+
error_trace: t.Optional[bool] = None,
122+
filter_path: t.Optional[
123+
t.Union[str, t.Union[t.List[str], t.Tuple[str, ...]]]
124+
] = None,
125+
human: t.Optional[bool] = None,
126+
pretty: t.Optional[bool] = None,
127+
) -> ObjectApiResponse[t.Any]:
122128
"""
123129
Retrieves the status of a previously submitted async search request given its
124130
ID.
@@ -130,7 +136,7 @@ async def status(
130136
if id in SKIP_IN_PATH:
131137
raise ValueError("Empty value passed for parameter 'id'")
132138
__path = f"/_async_search/status/{_quote(id)}"
133-
__query: Dict[str, Any] = {}
139+
__query: t.Dict[str, t.Any] = {}
134140
if error_trace is not None:
135141
__query["error_trace"] = error_trace
136142
if filter_path is not None:
@@ -156,75 +162,141 @@ async def status(
156162
async def submit(
157163
self,
158164
*,
159-
index: Optional[Any] = None,
160-
aggregations: Optional[Dict[str, Any]] = None,
161-
aggs: Optional[Dict[str, Any]] = None,
162-
allow_no_indices: Optional[bool] = None,
163-
allow_partial_search_results: Optional[bool] = None,
164-
analyze_wildcard: Optional[bool] = None,
165-
analyzer: Optional[str] = None,
166-
batched_reduce_size: Optional[int] = None,
167-
ccs_minimize_roundtrips: Optional[bool] = None,
168-
collapse: Optional[Any] = None,
169-
default_operator: Optional[Any] = None,
170-
df: Optional[str] = None,
171-
docvalue_fields: Optional[List[Any]] = None,
172-
error_trace: Optional[bool] = None,
173-
expand_wildcards: Optional[Any] = None,
174-
explain: Optional[bool] = None,
175-
fields: Optional[List[Any]] = None,
176-
filter_path: Optional[Union[List[str], str]] = None,
177-
from_: Optional[int] = None,
178-
highlight: Optional[Any] = None,
179-
human: Optional[bool] = None,
180-
ignore_throttled: Optional[bool] = None,
181-
ignore_unavailable: Optional[bool] = None,
182-
indices_boost: Optional[List[Dict[Any, float]]] = None,
183-
keep_alive: Optional[Any] = None,
184-
keep_on_completion: Optional[bool] = None,
185-
lenient: Optional[bool] = None,
186-
max_concurrent_shard_requests: Optional[int] = None,
187-
min_compatible_shard_node: Optional[Any] = None,
188-
min_score: Optional[float] = None,
189-
pit: Optional[Any] = None,
190-
post_filter: Optional[Any] = None,
191-
pre_filter_shard_size: Optional[int] = None,
192-
preference: Optional[str] = None,
193-
pretty: Optional[bool] = None,
194-
profile: Optional[bool] = None,
195-
q: Optional[str] = None,
196-
query: Optional[Any] = None,
197-
request_cache: Optional[bool] = None,
198-
rescore: Optional[Union[Any, List[Any]]] = None,
199-
rest_total_hits_as_int: Optional[bool] = None,
200-
routing: Optional[Any] = None,
201-
runtime_mappings: Optional[Any] = None,
202-
script_fields: Optional[Dict[str, Any]] = None,
203-
scroll: Optional[Any] = None,
204-
search_after: Optional[Any] = None,
205-
search_type: Optional[Any] = None,
206-
seq_no_primary_term: Optional[bool] = None,
207-
size: Optional[int] = None,
208-
slice: Optional[Any] = None,
209-
sort: Optional[Any] = None,
210-
source: Optional[Any] = None,
211-
source_excludes: Optional[Any] = None,
212-
source_includes: Optional[Any] = None,
213-
stats: Optional[List[str]] = None,
214-
stored_fields: Optional[Any] = None,
215-
suggest: Optional[Any] = None,
216-
suggest_field: Optional[Any] = None,
217-
suggest_mode: Optional[Any] = None,
218-
suggest_size: Optional[int] = None,
219-
suggest_text: Optional[str] = None,
220-
terminate_after: Optional[int] = None,
221-
timeout: Optional[str] = None,
222-
track_scores: Optional[bool] = None,
223-
track_total_hits: Optional[Any] = None,
224-
typed_keys: Optional[bool] = None,
225-
version: Optional[bool] = None,
226-
wait_for_completion_timeout: Optional[Any] = None,
227-
) -> ObjectApiResponse[Any]:
165+
index: t.Optional[t.Union[str, t.Union[t.List[str], t.Tuple[str, ...]]]] = None,
166+
aggregations: t.Optional[t.Mapping[str, t.Mapping[str, t.Any]]] = None,
167+
aggs: t.Optional[t.Mapping[str, t.Mapping[str, t.Any]]] = None,
168+
allow_no_indices: t.Optional[bool] = None,
169+
allow_partial_search_results: t.Optional[bool] = None,
170+
analyze_wildcard: t.Optional[bool] = None,
171+
analyzer: t.Optional[str] = None,
172+
batched_reduce_size: t.Optional[int] = None,
173+
ccs_minimize_roundtrips: t.Optional[bool] = None,
174+
collapse: t.Optional[t.Mapping[str, t.Any]] = None,
175+
default_operator: t.Optional[t.Union["t.Literal['and', 'or']", str]] = None,
176+
df: t.Optional[str] = None,
177+
docvalue_fields: t.Optional[
178+
t.Union[t.List[t.Mapping[str, t.Any]], t.Tuple[t.Mapping[str, t.Any], ...]]
179+
] = None,
180+
error_trace: t.Optional[bool] = None,
181+
expand_wildcards: t.Optional[
182+
t.Union[
183+
t.Union["t.Literal['all', 'closed', 'hidden', 'none', 'open']", str],
184+
t.Union[
185+
t.List[
186+
t.Union[
187+
"t.Literal['all', 'closed', 'hidden', 'none', 'open']", str
188+
]
189+
],
190+
t.Tuple[
191+
t.Union[
192+
"t.Literal['all', 'closed', 'hidden', 'none', 'open']", str
193+
],
194+
...,
195+
],
196+
],
197+
]
198+
] = None,
199+
explain: t.Optional[bool] = None,
200+
fields: t.Optional[
201+
t.Union[t.List[t.Mapping[str, t.Any]], t.Tuple[t.Mapping[str, t.Any], ...]]
202+
] = None,
203+
filter_path: t.Optional[
204+
t.Union[str, t.Union[t.List[str], t.Tuple[str, ...]]]
205+
] = None,
206+
from_: t.Optional[int] = None,
207+
highlight: t.Optional[t.Mapping[str, t.Any]] = None,
208+
human: t.Optional[bool] = None,
209+
ignore_throttled: t.Optional[bool] = None,
210+
ignore_unavailable: t.Optional[bool] = None,
211+
indices_boost: t.Optional[
212+
t.Union[t.List[t.Mapping[str, float]], t.Tuple[t.Mapping[str, float], ...]]
213+
] = None,
214+
keep_alive: t.Optional[t.Union[int, str]] = None,
215+
keep_on_completion: t.Optional[bool] = None,
216+
lenient: t.Optional[bool] = None,
217+
max_concurrent_shard_requests: t.Optional[int] = None,
218+
min_compatible_shard_node: t.Optional[str] = None,
219+
min_score: t.Optional[float] = None,
220+
pit: t.Optional[t.Mapping[str, t.Any]] = None,
221+
post_filter: t.Optional[t.Mapping[str, t.Any]] = None,
222+
pre_filter_shard_size: t.Optional[int] = None,
223+
preference: t.Optional[str] = None,
224+
pretty: t.Optional[bool] = None,
225+
profile: t.Optional[bool] = None,
226+
q: t.Optional[str] = None,
227+
query: t.Optional[t.Mapping[str, t.Any]] = None,
228+
request_cache: t.Optional[bool] = None,
229+
rescore: t.Optional[
230+
t.Union[
231+
t.Mapping[str, t.Any],
232+
t.Union[
233+
t.List[t.Mapping[str, t.Any]], t.Tuple[t.Mapping[str, t.Any], ...]
234+
],
235+
]
236+
] = None,
237+
rest_total_hits_as_int: t.Optional[bool] = None,
238+
routing: t.Optional[str] = None,
239+
runtime_mappings: t.Optional[
240+
t.Mapping[
241+
str,
242+
t.Union[
243+
t.Mapping[str, t.Any],
244+
t.Union[
245+
t.List[t.Mapping[str, t.Any]],
246+
t.Tuple[t.Mapping[str, t.Any], ...],
247+
],
248+
],
249+
]
250+
] = None,
251+
script_fields: t.Optional[t.Mapping[str, t.Mapping[str, t.Any]]] = None,
252+
scroll: t.Optional[t.Union[int, str]] = None,
253+
search_after: t.Optional[
254+
t.Union[
255+
t.List[t.Union[None, float, int, str]],
256+
t.Tuple[t.Union[None, float, int, str], ...],
257+
]
258+
] = None,
259+
search_type: t.Optional[
260+
t.Union["t.Literal['dfs_query_then_fetch', 'query_then_fetch']", str]
261+
] = None,
262+
seq_no_primary_term: t.Optional[bool] = None,
263+
size: t.Optional[int] = None,
264+
slice: t.Optional[t.Mapping[str, t.Any]] = None,
265+
sort: t.Optional[
266+
t.Union[
267+
t.Union[str, t.Mapping[str, t.Any]],
268+
t.Union[
269+
t.List[t.Union[str, t.Mapping[str, t.Any]]],
270+
t.Tuple[t.Union[str, t.Mapping[str, t.Any]], ...],
271+
],
272+
]
273+
] = None,
274+
source: t.Optional[t.Union[bool, t.Mapping[str, t.Any]]] = None,
275+
source_excludes: t.Optional[
276+
t.Union[str, t.Union[t.List[str], t.Tuple[str, ...]]]
277+
] = None,
278+
source_includes: t.Optional[
279+
t.Union[str, t.Union[t.List[str], t.Tuple[str, ...]]]
280+
] = None,
281+
stats: t.Optional[t.Union[t.List[str], t.Tuple[str, ...]]] = None,
282+
stored_fields: t.Optional[
283+
t.Union[str, t.Union[t.List[str], t.Tuple[str, ...]]]
284+
] = None,
285+
suggest: t.Optional[t.Mapping[str, t.Any]] = None,
286+
suggest_field: t.Optional[str] = None,
287+
suggest_mode: t.Optional[
288+
t.Union["t.Literal['always', 'missing', 'popular']", str]
289+
] = None,
290+
suggest_size: t.Optional[int] = None,
291+
suggest_text: t.Optional[str] = None,
292+
terminate_after: t.Optional[int] = None,
293+
timeout: t.Optional[str] = None,
294+
track_scores: t.Optional[bool] = None,
295+
track_total_hits: t.Optional[t.Union[bool, int]] = None,
296+
typed_keys: t.Optional[bool] = None,
297+
version: t.Optional[bool] = None,
298+
wait_for_completion_timeout: t.Optional[t.Union[int, str]] = None,
299+
) -> ObjectApiResponse[t.Any]:
228300
"""
229301
Executes a search request asynchronously.
230302
@@ -353,8 +425,8 @@ async def submit(
353425
__path = f"/{_quote(index)}/_async_search"
354426
else:
355427
__path = "/_async_search"
356-
__body: Dict[str, Any] = {}
357-
__query: Dict[str, Any] = {}
428+
__body: t.Dict[str, t.Any] = {}
429+
__query: t.Dict[str, t.Any] = {}
358430
if aggregations is not None:
359431
__body["aggregations"] = aggregations
360432
if aggs is not None:

0 commit comments

Comments
 (0)