elasticsearch 8.14.0__py3-none-any.whl → 8.15.1__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.
Files changed (97) hide show
  1. elasticsearch/_async/client/__init__.py +200 -168
  2. elasticsearch/_async/client/async_search.py +35 -20
  3. elasticsearch/_async/client/autoscaling.py +4 -4
  4. elasticsearch/_async/client/cat.py +785 -180
  5. elasticsearch/_async/client/ccr.py +20 -32
  6. elasticsearch/_async/client/cluster.py +87 -79
  7. elasticsearch/_async/client/connector.py +1470 -0
  8. elasticsearch/_async/client/dangling_indices.py +7 -11
  9. elasticsearch/_async/client/enrich.py +8 -8
  10. elasticsearch/_async/client/eql.py +17 -16
  11. elasticsearch/_async/client/esql.py +2 -2
  12. elasticsearch/_async/client/features.py +2 -2
  13. elasticsearch/_async/client/fleet.py +18 -17
  14. elasticsearch/_async/client/graph.py +4 -4
  15. elasticsearch/_async/client/ilm.py +36 -44
  16. elasticsearch/_async/client/indices.py +295 -317
  17. elasticsearch/_async/client/inference.py +42 -33
  18. elasticsearch/_async/client/ingest.py +197 -23
  19. elasticsearch/_async/client/license.py +18 -10
  20. elasticsearch/_async/client/logstash.py +6 -6
  21. elasticsearch/_async/client/migration.py +3 -3
  22. elasticsearch/_async/client/ml.py +383 -176
  23. elasticsearch/_async/client/monitoring.py +2 -2
  24. elasticsearch/_async/client/nodes.py +32 -32
  25. elasticsearch/_async/client/query_rules.py +384 -0
  26. elasticsearch/_async/client/rollup.py +13 -13
  27. elasticsearch/_async/client/search_application.py +10 -10
  28. elasticsearch/_async/client/searchable_snapshots.py +9 -13
  29. elasticsearch/_async/client/security.py +577 -104
  30. elasticsearch/_async/client/shutdown.py +7 -7
  31. elasticsearch/_async/client/slm.py +11 -13
  32. elasticsearch/_async/client/snapshot.py +39 -52
  33. elasticsearch/_async/client/sql.py +12 -14
  34. elasticsearch/_async/client/ssl.py +1 -1
  35. elasticsearch/_async/client/synonyms.py +11 -9
  36. elasticsearch/_async/client/tasks.py +9 -10
  37. elasticsearch/_async/client/text_structure.py +3 -3
  38. elasticsearch/_async/client/transform.py +89 -34
  39. elasticsearch/_async/client/watcher.py +30 -15
  40. elasticsearch/_async/client/xpack.py +6 -7
  41. elasticsearch/_otel.py +24 -6
  42. elasticsearch/_sync/client/__init__.py +200 -168
  43. elasticsearch/_sync/client/async_search.py +35 -20
  44. elasticsearch/_sync/client/autoscaling.py +4 -4
  45. elasticsearch/_sync/client/cat.py +785 -180
  46. elasticsearch/_sync/client/ccr.py +20 -32
  47. elasticsearch/_sync/client/cluster.py +87 -79
  48. elasticsearch/_sync/client/connector.py +1470 -0
  49. elasticsearch/_sync/client/dangling_indices.py +7 -11
  50. elasticsearch/_sync/client/enrich.py +8 -8
  51. elasticsearch/_sync/client/eql.py +17 -16
  52. elasticsearch/_sync/client/esql.py +2 -2
  53. elasticsearch/_sync/client/features.py +2 -2
  54. elasticsearch/_sync/client/fleet.py +18 -17
  55. elasticsearch/_sync/client/graph.py +4 -4
  56. elasticsearch/_sync/client/ilm.py +36 -44
  57. elasticsearch/_sync/client/indices.py +295 -317
  58. elasticsearch/_sync/client/inference.py +42 -33
  59. elasticsearch/_sync/client/ingest.py +197 -23
  60. elasticsearch/_sync/client/license.py +18 -10
  61. elasticsearch/_sync/client/logstash.py +6 -6
  62. elasticsearch/_sync/client/migration.py +3 -3
  63. elasticsearch/_sync/client/ml.py +383 -176
  64. elasticsearch/_sync/client/monitoring.py +2 -2
  65. elasticsearch/_sync/client/nodes.py +32 -32
  66. elasticsearch/_sync/client/query_rules.py +384 -0
  67. elasticsearch/_sync/client/rollup.py +13 -13
  68. elasticsearch/_sync/client/search_application.py +10 -10
  69. elasticsearch/_sync/client/searchable_snapshots.py +9 -13
  70. elasticsearch/_sync/client/security.py +577 -104
  71. elasticsearch/_sync/client/shutdown.py +7 -7
  72. elasticsearch/_sync/client/slm.py +11 -13
  73. elasticsearch/_sync/client/snapshot.py +39 -52
  74. elasticsearch/_sync/client/sql.py +12 -14
  75. elasticsearch/_sync/client/ssl.py +1 -1
  76. elasticsearch/_sync/client/synonyms.py +11 -9
  77. elasticsearch/_sync/client/tasks.py +9 -10
  78. elasticsearch/_sync/client/text_structure.py +3 -3
  79. elasticsearch/_sync/client/transform.py +89 -34
  80. elasticsearch/_sync/client/watcher.py +30 -15
  81. elasticsearch/_sync/client/xpack.py +6 -7
  82. elasticsearch/_version.py +1 -1
  83. elasticsearch/client.py +3 -3
  84. elasticsearch/helpers/actions.py +120 -106
  85. elasticsearch/helpers/vectorstore/_async/vectorstore.py +36 -6
  86. elasticsearch/helpers/vectorstore/_sync/vectorstore.py +36 -6
  87. elasticsearch/serializer.py +34 -0
  88. elasticsearch-8.15.1.dist-info/METADATA +177 -0
  89. elasticsearch-8.15.1.dist-info/RECORD +117 -0
  90. {elasticsearch-8.14.0.dist-info → elasticsearch-8.15.1.dist-info}/WHEEL +1 -2
  91. elasticsearch/_async/client/query_ruleset.py +0 -205
  92. elasticsearch/_sync/client/query_ruleset.py +0 -205
  93. elasticsearch-8.14.0.dist-info/METADATA +0 -161
  94. elasticsearch-8.14.0.dist-info/RECORD +0 -116
  95. elasticsearch-8.14.0.dist-info/top_level.txt +0 -1
  96. {elasticsearch-8.14.0.dist-info → elasticsearch-8.15.1.dist-info/licenses}/LICENSE +0 -0
  97. {elasticsearch-8.14.0.dist-info → elasticsearch-8.15.1.dist-info/licenses}/NOTICE +0 -0
@@ -26,28 +26,34 @@ from .utils import SKIP_IN_PATH, _quote, _rewrite_parameters
26
26
  class InferenceClient(NamespacedClient):
27
27
 
28
28
  @_rewrite_parameters()
29
- async def delete_model(
29
+ async def delete(
30
30
  self,
31
31
  *,
32
32
  inference_id: str,
33
33
  task_type: t.Optional[
34
34
  t.Union[
35
- "t.Literal['completion', 'rerank', 'sparse_embedding', 'text_embedding']",
36
35
  str,
36
+ t.Literal["completion", "rerank", "sparse_embedding", "text_embedding"],
37
37
  ]
38
38
  ] = None,
39
+ dry_run: t.Optional[bool] = None,
39
40
  error_trace: t.Optional[bool] = None,
40
41
  filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
42
+ force: t.Optional[bool] = None,
41
43
  human: t.Optional[bool] = None,
42
44
  pretty: t.Optional[bool] = None,
43
45
  ) -> ObjectApiResponse[t.Any]:
44
46
  """
45
- Delete model in the Inference API
47
+ Delete an inference endpoint
46
48
 
47
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.14/delete-inference-api.html>`_
49
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/delete-inference-api.html>`_
48
50
 
49
51
  :param inference_id: The inference Id
50
52
  :param task_type: The task type
53
+ :param dry_run: When true, the endpoint is not deleted, and a list of ingest
54
+ processors which reference this endpoint is returned
55
+ :param force: When true, the inference endpoint is forcefully deleted even if
56
+ it is still being used by ingest processors or semantic text fields
51
57
  """
52
58
  if inference_id in SKIP_IN_PATH:
53
59
  raise ValueError("Empty value passed for parameter 'inference_id'")
@@ -64,10 +70,14 @@ class InferenceClient(NamespacedClient):
64
70
  else:
65
71
  raise ValueError("Couldn't find a path for the given parameters")
66
72
  __query: t.Dict[str, t.Any] = {}
73
+ if dry_run is not None:
74
+ __query["dry_run"] = dry_run
67
75
  if error_trace is not None:
68
76
  __query["error_trace"] = error_trace
69
77
  if filter_path is not None:
70
78
  __query["filter_path"] = filter_path
79
+ if force is not None:
80
+ __query["force"] = force
71
81
  if human is not None:
72
82
  __query["human"] = human
73
83
  if pretty is not None:
@@ -78,36 +88,34 @@ class InferenceClient(NamespacedClient):
78
88
  __path,
79
89
  params=__query,
80
90
  headers=__headers,
81
- endpoint_id="inference.delete_model",
91
+ endpoint_id="inference.delete",
82
92
  path_parts=__path_parts,
83
93
  )
84
94
 
85
95
  @_rewrite_parameters()
86
- async def get_model(
96
+ async def get(
87
97
  self,
88
98
  *,
89
- inference_id: str,
90
99
  task_type: t.Optional[
91
100
  t.Union[
92
- "t.Literal['completion', 'rerank', 'sparse_embedding', 'text_embedding']",
93
101
  str,
102
+ t.Literal["completion", "rerank", "sparse_embedding", "text_embedding"],
94
103
  ]
95
104
  ] = None,
105
+ inference_id: t.Optional[str] = None,
96
106
  error_trace: t.Optional[bool] = None,
97
107
  filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
98
108
  human: t.Optional[bool] = None,
99
109
  pretty: t.Optional[bool] = None,
100
110
  ) -> ObjectApiResponse[t.Any]:
101
111
  """
102
- Get a model in the Inference API
112
+ Get an inference endpoint
103
113
 
104
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.14/get-inference-api.html>`_
114
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/get-inference-api.html>`_
105
115
 
106
- :param inference_id: The inference Id
107
116
  :param task_type: The task type
117
+ :param inference_id: The inference Id
108
118
  """
109
- if inference_id in SKIP_IN_PATH:
110
- raise ValueError("Empty value passed for parameter 'inference_id'")
111
119
  __path_parts: t.Dict[str, str]
112
120
  if task_type not in SKIP_IN_PATH and inference_id not in SKIP_IN_PATH:
113
121
  __path_parts = {
@@ -119,7 +127,8 @@ class InferenceClient(NamespacedClient):
119
127
  __path_parts = {"inference_id": _quote(inference_id)}
120
128
  __path = f'/_inference/{__path_parts["inference_id"]}'
121
129
  else:
122
- raise ValueError("Couldn't find a path for the given parameters")
130
+ __path_parts = {}
131
+ __path = "/_inference"
123
132
  __query: t.Dict[str, t.Any] = {}
124
133
  if error_trace is not None:
125
134
  __query["error_trace"] = error_trace
@@ -135,7 +144,7 @@ class InferenceClient(NamespacedClient):
135
144
  __path,
136
145
  params=__query,
137
146
  headers=__headers,
138
- endpoint_id="inference.get_model",
147
+ endpoint_id="inference.get",
139
148
  path_parts=__path_parts,
140
149
  )
141
150
 
@@ -149,8 +158,8 @@ class InferenceClient(NamespacedClient):
149
158
  input: t.Optional[t.Union[str, t.Sequence[str]]] = None,
150
159
  task_type: t.Optional[
151
160
  t.Union[
152
- "t.Literal['completion', 'rerank', 'sparse_embedding', 'text_embedding']",
153
161
  str,
162
+ t.Literal["completion", "rerank", "sparse_embedding", "text_embedding"],
154
163
  ]
155
164
  ] = None,
156
165
  error_trace: t.Optional[bool] = None,
@@ -159,16 +168,16 @@ class InferenceClient(NamespacedClient):
159
168
  pretty: t.Optional[bool] = None,
160
169
  query: t.Optional[str] = None,
161
170
  task_settings: t.Optional[t.Any] = None,
162
- timeout: t.Optional[t.Union["t.Literal[-1]", "t.Literal[0]", str]] = None,
171
+ timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
163
172
  body: t.Optional[t.Dict[str, t.Any]] = None,
164
173
  ) -> ObjectApiResponse[t.Any]:
165
174
  """
166
- Perform inference on a model
175
+ Perform inference on the service
167
176
 
168
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.14/post-inference-api.html>`_
177
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/post-inference-api.html>`_
169
178
 
170
179
  :param inference_id: The inference Id
171
- :param input: Text input to the model. Either a string or an array of strings.
180
+ :param input: Inference input. Either a string or an array of strings.
172
181
  :param task_type: The task type
173
182
  :param query: Query input, required for rerank task. Not required for other tasks.
174
183
  :param task_settings: Optional task settings
@@ -226,18 +235,18 @@ class InferenceClient(NamespacedClient):
226
235
  )
227
236
 
228
237
  @_rewrite_parameters(
229
- body_name="model_config",
238
+ body_name="inference_config",
230
239
  )
231
- async def put_model(
240
+ async def put(
232
241
  self,
233
242
  *,
234
243
  inference_id: str,
235
- model_config: t.Optional[t.Mapping[str, t.Any]] = None,
244
+ inference_config: t.Optional[t.Mapping[str, t.Any]] = None,
236
245
  body: t.Optional[t.Mapping[str, t.Any]] = None,
237
246
  task_type: t.Optional[
238
247
  t.Union[
239
- "t.Literal['completion', 'rerank', 'sparse_embedding', 'text_embedding']",
240
248
  str,
249
+ t.Literal["completion", "rerank", "sparse_embedding", "text_embedding"],
241
250
  ]
242
251
  ] = None,
243
252
  error_trace: t.Optional[bool] = None,
@@ -246,22 +255,22 @@ class InferenceClient(NamespacedClient):
246
255
  pretty: t.Optional[bool] = None,
247
256
  ) -> ObjectApiResponse[t.Any]:
248
257
  """
249
- Configure a model for use in the Inference API
258
+ Create an inference endpoint
250
259
 
251
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.14/put-inference-api.html>`_
260
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/put-inference-api.html>`_
252
261
 
253
262
  :param inference_id: The inference Id
254
- :param model_config:
263
+ :param inference_config:
255
264
  :param task_type: The task type
256
265
  """
257
266
  if inference_id in SKIP_IN_PATH:
258
267
  raise ValueError("Empty value passed for parameter 'inference_id'")
259
- if model_config is None and body is None:
268
+ if inference_config is None and body is None:
260
269
  raise ValueError(
261
- "Empty value passed for parameters 'model_config' and 'body', one of them should be set."
270
+ "Empty value passed for parameters 'inference_config' and 'body', one of them should be set."
262
271
  )
263
- elif model_config is not None and body is not None:
264
- raise ValueError("Cannot set both 'model_config' and 'body'")
272
+ elif inference_config is not None and body is not None:
273
+ raise ValueError("Cannot set both 'inference_config' and 'body'")
265
274
  __path_parts: t.Dict[str, str]
266
275
  if task_type not in SKIP_IN_PATH and inference_id not in SKIP_IN_PATH:
267
276
  __path_parts = {
@@ -283,7 +292,7 @@ class InferenceClient(NamespacedClient):
283
292
  __query["human"] = human
284
293
  if pretty is not None:
285
294
  __query["pretty"] = pretty
286
- __body = model_config if model_config is not None else body
295
+ __body = inference_config if inference_config is not None else body
287
296
  __headers = {"accept": "application/json", "content-type": "application/json"}
288
297
  return await self.perform_request( # type: ignore[return-value]
289
298
  "PUT",
@@ -291,6 +300,6 @@ class InferenceClient(NamespacedClient):
291
300
  params=__query,
292
301
  headers=__headers,
293
302
  body=__body,
294
- endpoint_id="inference.put_model",
303
+ endpoint_id="inference.put",
295
304
  path_parts=__path_parts,
296
305
  )
@@ -25,6 +25,57 @@ from .utils import SKIP_IN_PATH, _quote, _rewrite_parameters
25
25
 
26
26
  class IngestClient(NamespacedClient):
27
27
 
28
+ @_rewrite_parameters()
29
+ async def delete_geoip_database(
30
+ self,
31
+ *,
32
+ id: t.Union[str, t.Sequence[str]],
33
+ error_trace: t.Optional[bool] = None,
34
+ filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
35
+ human: t.Optional[bool] = None,
36
+ master_timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
37
+ pretty: t.Optional[bool] = None,
38
+ timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
39
+ ) -> ObjectApiResponse[t.Any]:
40
+ """
41
+ Deletes a geoip database configuration.
42
+
43
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/TODO.html>`_
44
+
45
+ :param id: A comma-separated list of geoip database configurations to delete
46
+ :param master_timeout: Period to wait for a connection to the master node. If
47
+ no response is received before the timeout expires, the request fails and
48
+ returns an error.
49
+ :param timeout: Period to wait for a response. If no response is received before
50
+ the timeout expires, the request fails and returns an error.
51
+ """
52
+ if id in SKIP_IN_PATH:
53
+ raise ValueError("Empty value passed for parameter 'id'")
54
+ __path_parts: t.Dict[str, str] = {"id": _quote(id)}
55
+ __path = f'/_ingest/geoip/database/{__path_parts["id"]}'
56
+ __query: t.Dict[str, t.Any] = {}
57
+ if error_trace is not None:
58
+ __query["error_trace"] = error_trace
59
+ if filter_path is not None:
60
+ __query["filter_path"] = filter_path
61
+ if human is not None:
62
+ __query["human"] = human
63
+ if master_timeout is not None:
64
+ __query["master_timeout"] = master_timeout
65
+ if pretty is not None:
66
+ __query["pretty"] = pretty
67
+ if timeout is not None:
68
+ __query["timeout"] = timeout
69
+ __headers = {"accept": "application/json"}
70
+ return await self.perform_request( # type: ignore[return-value]
71
+ "DELETE",
72
+ __path,
73
+ params=__query,
74
+ headers=__headers,
75
+ endpoint_id="ingest.delete_geoip_database",
76
+ path_parts=__path_parts,
77
+ )
78
+
28
79
  @_rewrite_parameters()
29
80
  async def delete_pipeline(
30
81
  self,
@@ -33,16 +84,14 @@ class IngestClient(NamespacedClient):
33
84
  error_trace: t.Optional[bool] = None,
34
85
  filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
35
86
  human: t.Optional[bool] = None,
36
- master_timeout: t.Optional[
37
- t.Union["t.Literal[-1]", "t.Literal[0]", str]
38
- ] = None,
87
+ master_timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
39
88
  pretty: t.Optional[bool] = None,
40
- timeout: t.Optional[t.Union["t.Literal[-1]", "t.Literal[0]", str]] = None,
89
+ timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
41
90
  ) -> ObjectApiResponse[t.Any]:
42
91
  """
43
- Deletes a pipeline.
92
+ Deletes one or more existing ingest pipeline.
44
93
 
45
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.14/delete-pipeline-api.html>`_
94
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/delete-pipeline-api.html>`_
46
95
 
47
96
  :param id: Pipeline ID or wildcard expression of pipeline IDs used to limit the
48
97
  request. To delete all ingest pipelines in a cluster, use a value of `*`.
@@ -89,9 +138,9 @@ class IngestClient(NamespacedClient):
89
138
  pretty: t.Optional[bool] = None,
90
139
  ) -> ObjectApiResponse[t.Any]:
91
140
  """
92
- Returns statistical information about geoip databases
141
+ Gets download statistics for GeoIP2 databases used with the geoip processor.
93
142
 
94
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.14/geoip-processor.html>`_
143
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/geoip-processor.html>`_
95
144
  """
96
145
  __path_parts: t.Dict[str, str] = {}
97
146
  __path = "/_ingest/geoip/stats"
@@ -114,6 +163,57 @@ class IngestClient(NamespacedClient):
114
163
  path_parts=__path_parts,
115
164
  )
116
165
 
166
+ @_rewrite_parameters()
167
+ async def get_geoip_database(
168
+ self,
169
+ *,
170
+ id: t.Optional[t.Union[str, t.Sequence[str]]] = None,
171
+ error_trace: t.Optional[bool] = None,
172
+ filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
173
+ human: t.Optional[bool] = None,
174
+ master_timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
175
+ pretty: t.Optional[bool] = None,
176
+ ) -> ObjectApiResponse[t.Any]:
177
+ """
178
+ Returns information about one or more geoip database configurations.
179
+
180
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/TODO.html>`_
181
+
182
+ :param id: Comma-separated list of database configuration IDs to retrieve. Wildcard
183
+ (`*`) expressions are supported. To get all database configurations, omit
184
+ this parameter or use `*`.
185
+ :param master_timeout: Period to wait for a connection to the master node. If
186
+ no response is received before the timeout expires, the request fails and
187
+ returns an error.
188
+ """
189
+ __path_parts: t.Dict[str, str]
190
+ if id not in SKIP_IN_PATH:
191
+ __path_parts = {"id": _quote(id)}
192
+ __path = f'/_ingest/geoip/database/{__path_parts["id"]}'
193
+ else:
194
+ __path_parts = {}
195
+ __path = "/_ingest/geoip/database"
196
+ __query: t.Dict[str, t.Any] = {}
197
+ if error_trace is not None:
198
+ __query["error_trace"] = error_trace
199
+ if filter_path is not None:
200
+ __query["filter_path"] = filter_path
201
+ if human is not None:
202
+ __query["human"] = human
203
+ if master_timeout is not None:
204
+ __query["master_timeout"] = master_timeout
205
+ if pretty is not None:
206
+ __query["pretty"] = pretty
207
+ __headers = {"accept": "application/json"}
208
+ return await self.perform_request( # type: ignore[return-value]
209
+ "GET",
210
+ __path,
211
+ params=__query,
212
+ headers=__headers,
213
+ endpoint_id="ingest.get_geoip_database",
214
+ path_parts=__path_parts,
215
+ )
216
+
117
217
  @_rewrite_parameters()
118
218
  async def get_pipeline(
119
219
  self,
@@ -122,16 +222,15 @@ class IngestClient(NamespacedClient):
122
222
  error_trace: t.Optional[bool] = None,
123
223
  filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
124
224
  human: t.Optional[bool] = None,
125
- master_timeout: t.Optional[
126
- t.Union["t.Literal[-1]", "t.Literal[0]", str]
127
- ] = None,
225
+ master_timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
128
226
  pretty: t.Optional[bool] = None,
129
227
  summary: t.Optional[bool] = None,
130
228
  ) -> ObjectApiResponse[t.Any]:
131
229
  """
132
- Returns a pipeline.
230
+ Returns information about one or more ingest pipelines. This API returns a local
231
+ reference of the pipeline.
133
232
 
134
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.14/get-pipeline-api.html>`_
233
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/get-pipeline-api.html>`_
135
234
 
136
235
  :param id: Comma-separated list of pipeline IDs to retrieve. Wildcard (`*`) expressions
137
236
  are supported. To get all ingest pipelines, omit this parameter or use `*`.
@@ -180,9 +279,12 @@ class IngestClient(NamespacedClient):
180
279
  pretty: t.Optional[bool] = None,
181
280
  ) -> ObjectApiResponse[t.Any]:
182
281
  """
183
- Returns a list of the built-in patterns.
282
+ Extracts structured fields out of a single text field within a document. You
283
+ choose which field to extract matched fields from, as well as the grok pattern
284
+ you expect will match. A grok pattern is like a regular expression that supports
285
+ aliased expressions that can be reused.
184
286
 
185
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.14/grok-processor.html>`_
287
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/grok-processor.html>`_
186
288
  """
187
289
  __path_parts: t.Dict[str, str] = {}
188
290
  __path = "/_ingest/processor/grok"
@@ -205,6 +307,79 @@ class IngestClient(NamespacedClient):
205
307
  path_parts=__path_parts,
206
308
  )
207
309
 
310
+ @_rewrite_parameters(
311
+ body_fields=("maxmind", "name"),
312
+ )
313
+ async def put_geoip_database(
314
+ self,
315
+ *,
316
+ id: str,
317
+ maxmind: t.Optional[t.Mapping[str, t.Any]] = None,
318
+ name: t.Optional[str] = None,
319
+ error_trace: t.Optional[bool] = None,
320
+ filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
321
+ human: t.Optional[bool] = None,
322
+ master_timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
323
+ pretty: t.Optional[bool] = None,
324
+ timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
325
+ body: t.Optional[t.Dict[str, t.Any]] = None,
326
+ ) -> ObjectApiResponse[t.Any]:
327
+ """
328
+ Returns information about one or more geoip database configurations.
329
+
330
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/TODO.html>`_
331
+
332
+ :param id: ID of the database configuration to create or update.
333
+ :param maxmind: The configuration necessary to identify which IP geolocation
334
+ provider to use to download the database, as well as any provider-specific
335
+ configuration necessary for such downloading. At present, the only supported
336
+ provider is maxmind, and the maxmind provider requires that an account_id
337
+ (string) is configured.
338
+ :param name: The provider-assigned name of the IP geolocation database to download.
339
+ :param master_timeout: Period to wait for a connection to the master node. If
340
+ no response is received before the timeout expires, the request fails and
341
+ returns an error.
342
+ :param timeout: Period to wait for a response. If no response is received before
343
+ the timeout expires, the request fails and returns an error.
344
+ """
345
+ if id in SKIP_IN_PATH:
346
+ raise ValueError("Empty value passed for parameter 'id'")
347
+ if maxmind is None and body is None:
348
+ raise ValueError("Empty value passed for parameter 'maxmind'")
349
+ if name is None and body is None:
350
+ raise ValueError("Empty value passed for parameter 'name'")
351
+ __path_parts: t.Dict[str, str] = {"id": _quote(id)}
352
+ __path = f'/_ingest/geoip/database/{__path_parts["id"]}'
353
+ __query: t.Dict[str, t.Any] = {}
354
+ __body: t.Dict[str, t.Any] = body if body is not None else {}
355
+ if error_trace is not None:
356
+ __query["error_trace"] = error_trace
357
+ if filter_path is not None:
358
+ __query["filter_path"] = filter_path
359
+ if human is not None:
360
+ __query["human"] = human
361
+ if master_timeout is not None:
362
+ __query["master_timeout"] = master_timeout
363
+ if pretty is not None:
364
+ __query["pretty"] = pretty
365
+ if timeout is not None:
366
+ __query["timeout"] = timeout
367
+ if not __body:
368
+ if maxmind is not None:
369
+ __body["maxmind"] = maxmind
370
+ if name is not None:
371
+ __body["name"] = name
372
+ __headers = {"accept": "application/json", "content-type": "application/json"}
373
+ return await self.perform_request( # type: ignore[return-value]
374
+ "PUT",
375
+ __path,
376
+ params=__query,
377
+ headers=__headers,
378
+ body=__body,
379
+ endpoint_id="ingest.put_geoip_database",
380
+ path_parts=__path_parts,
381
+ )
382
+
208
383
  @_rewrite_parameters(
209
384
  body_fields=("description", "meta", "on_failure", "processors", "version"),
210
385
  parameter_aliases={"_meta": "meta"},
@@ -218,21 +393,20 @@ class IngestClient(NamespacedClient):
218
393
  filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
219
394
  human: t.Optional[bool] = None,
220
395
  if_version: t.Optional[int] = None,
221
- master_timeout: t.Optional[
222
- t.Union["t.Literal[-1]", "t.Literal[0]", str]
223
- ] = None,
396
+ master_timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
224
397
  meta: t.Optional[t.Mapping[str, t.Any]] = None,
225
398
  on_failure: t.Optional[t.Sequence[t.Mapping[str, t.Any]]] = None,
226
399
  pretty: t.Optional[bool] = None,
227
400
  processors: t.Optional[t.Sequence[t.Mapping[str, t.Any]]] = None,
228
- timeout: t.Optional[t.Union["t.Literal[-1]", "t.Literal[0]", str]] = None,
401
+ timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
229
402
  version: t.Optional[int] = None,
230
403
  body: t.Optional[t.Dict[str, t.Any]] = None,
231
404
  ) -> ObjectApiResponse[t.Any]:
232
405
  """
233
- Creates or updates a pipeline.
406
+ Creates or updates an ingest pipeline. Changes made using this API take effect
407
+ immediately.
234
408
 
235
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.14/ingest.html>`_
409
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/ingest.html>`_
236
410
 
237
411
  :param id: ID of the ingest pipeline to create or update.
238
412
  :param description: Description of the ingest pipeline.
@@ -316,9 +490,9 @@ class IngestClient(NamespacedClient):
316
490
  body: t.Optional[t.Dict[str, t.Any]] = None,
317
491
  ) -> ObjectApiResponse[t.Any]:
318
492
  """
319
- Allows to simulate a pipeline with example documents.
493
+ Executes an ingest pipeline against a set of provided documents.
320
494
 
321
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.14/simulate-pipeline-api.html>`_
495
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/simulate-pipeline-api.html>`_
322
496
 
323
497
  :param id: Pipeline to test. If you don’t specify a `pipeline` in the request
324
498
  body, this parameter is required.
@@ -37,7 +37,7 @@ class LicenseClient(NamespacedClient):
37
37
  """
38
38
  Deletes licensing information for the cluster
39
39
 
40
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.14/delete-license.html>`_
40
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/delete-license.html>`_
41
41
  """
42
42
  __path_parts: t.Dict[str, str] = {}
43
43
  __path = "/_license"
@@ -72,9 +72,11 @@ class LicenseClient(NamespacedClient):
72
72
  pretty: t.Optional[bool] = None,
73
73
  ) -> ObjectApiResponse[t.Any]:
74
74
  """
75
- Retrieves licensing information for the cluster
75
+ This API returns information about the type of license, when it was issued, and
76
+ when it expires, for example. For more information about the different types
77
+ of licenses, see https://www.elastic.co/subscriptions.
76
78
 
77
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.14/get-license.html>`_
79
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/get-license.html>`_
78
80
 
79
81
  :param accept_enterprise: If `true`, this parameter returns enterprise for Enterprise
80
82
  license types. If `false`, this parameter returns platinum for both platinum
@@ -120,7 +122,7 @@ class LicenseClient(NamespacedClient):
120
122
  """
121
123
  Retrieves information about the status of the basic license.
122
124
 
123
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.14/get-basic-status.html>`_
125
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/get-basic-status.html>`_
124
126
  """
125
127
  __path_parts: t.Dict[str, str] = {}
126
128
  __path = "/_license/basic_status"
@@ -155,7 +157,7 @@ class LicenseClient(NamespacedClient):
155
157
  """
156
158
  Retrieves information about the status of the trial license.
157
159
 
158
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.14/get-trial-status.html>`_
160
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/get-trial-status.html>`_
159
161
  """
160
162
  __path_parts: t.Dict[str, str] = {}
161
163
  __path = "/_license/trial_status"
@@ -196,7 +198,7 @@ class LicenseClient(NamespacedClient):
196
198
  """
197
199
  Updates the license for the cluster.
198
200
 
199
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.14/update-license.html>`_
201
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/update-license.html>`_
200
202
 
201
203
  :param acknowledge: Specifies whether you acknowledge the license changes.
202
204
  :param license:
@@ -248,9 +250,14 @@ class LicenseClient(NamespacedClient):
248
250
  pretty: t.Optional[bool] = None,
249
251
  ) -> ObjectApiResponse[t.Any]:
250
252
  """
251
- Starts an indefinite basic license.
253
+ The start basic API enables you to initiate an indefinite basic license, which
254
+ gives access to all the basic features. If the basic license does not support
255
+ all of the features that are available with your current license, however, you
256
+ are notified in the response. You must then re-submit the API request with the
257
+ acknowledge parameter set to true. To check the status of your basic license,
258
+ use the following API: [Get basic status](https://www.elastic.co/guide/en/elasticsearch/reference/current/get-basic-status.html).
252
259
 
253
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.14/start-basic.html>`_
260
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/start-basic.html>`_
254
261
 
255
262
  :param acknowledge: whether the user has acknowledged acknowledge messages (default:
256
263
  false)
@@ -290,9 +297,10 @@ class LicenseClient(NamespacedClient):
290
297
  type_query_string: t.Optional[str] = None,
291
298
  ) -> ObjectApiResponse[t.Any]:
292
299
  """
293
- starts a limited time trial license.
300
+ The start trial API enables you to start a 30-day trial, which gives access to
301
+ all subscription features.
294
302
 
295
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.14/start-trial.html>`_
303
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/start-trial.html>`_
296
304
 
297
305
  :param acknowledge: whether the user has acknowledged acknowledge messages (default:
298
306
  false)
@@ -36,9 +36,9 @@ class LogstashClient(NamespacedClient):
36
36
  pretty: t.Optional[bool] = None,
37
37
  ) -> ObjectApiResponse[t.Any]:
38
38
  """
39
- Deletes Logstash Pipelines used by Central Management
39
+ Deletes a pipeline used for Logstash Central Management.
40
40
 
41
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.14/logstash-api-delete-pipeline.html>`_
41
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/logstash-api-delete-pipeline.html>`_
42
42
 
43
43
  :param id: Identifier for the pipeline.
44
44
  """
@@ -76,9 +76,9 @@ class LogstashClient(NamespacedClient):
76
76
  pretty: t.Optional[bool] = None,
77
77
  ) -> ObjectApiResponse[t.Any]:
78
78
  """
79
- Retrieves Logstash Pipelines used by Central Management
79
+ Retrieves pipelines used for Logstash Central Management.
80
80
 
81
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.14/logstash-api-get-pipeline.html>`_
81
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/logstash-api-get-pipeline.html>`_
82
82
 
83
83
  :param id: Comma-separated list of pipeline identifiers.
84
84
  """
@@ -123,9 +123,9 @@ class LogstashClient(NamespacedClient):
123
123
  pretty: t.Optional[bool] = None,
124
124
  ) -> ObjectApiResponse[t.Any]:
125
125
  """
126
- Adds and updates Logstash Pipelines used for Central Management
126
+ Creates or updates a pipeline used for Logstash Central Management.
127
127
 
128
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.14/logstash-api-put-pipeline.html>`_
128
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/logstash-api-put-pipeline.html>`_
129
129
 
130
130
  :param id: Identifier for the pipeline.
131
131
  :param pipeline:
@@ -40,7 +40,7 @@ class MigrationClient(NamespacedClient):
40
40
  that use deprecated features that will be removed or changed in the next major
41
41
  version.
42
42
 
43
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.14/migration-api-deprecation.html>`_
43
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/migration-api-deprecation.html>`_
44
44
 
45
45
  :param index: Comma-separate list of data streams or indices to check. Wildcard
46
46
  (*) expressions are supported.
@@ -83,7 +83,7 @@ class MigrationClient(NamespacedClient):
83
83
  """
84
84
  Find out whether system features need to be upgraded or not
85
85
 
86
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.14/migration-api-feature-upgrade.html>`_
86
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/migration-api-feature-upgrade.html>`_
87
87
  """
88
88
  __path_parts: t.Dict[str, str] = {}
89
89
  __path = "/_migration/system_features"
@@ -118,7 +118,7 @@ class MigrationClient(NamespacedClient):
118
118
  """
119
119
  Begin upgrades for system features
120
120
 
121
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.14/migration-api-feature-upgrade.html>`_
121
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/migration-api-feature-upgrade.html>`_
122
122
  """
123
123
  __path_parts: t.Dict[str, str] = {}
124
124
  __path = "/_migration/system_features"