elasticsearch 8.17.0__py3-none-any.whl → 8.17.2__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 (95) hide show
  1. elasticsearch/__init__.py +2 -2
  2. elasticsearch/_async/client/__init__.py +2034 -740
  3. elasticsearch/_async/client/async_search.py +33 -22
  4. elasticsearch/_async/client/autoscaling.py +27 -21
  5. elasticsearch/_async/client/cat.py +280 -336
  6. elasticsearch/_async/client/ccr.py +96 -70
  7. elasticsearch/_async/client/cluster.py +152 -144
  8. elasticsearch/_async/client/connector.py +488 -55
  9. elasticsearch/_async/client/dangling_indices.py +22 -16
  10. elasticsearch/_async/client/enrich.py +25 -6
  11. elasticsearch/_async/client/eql.py +22 -9
  12. elasticsearch/_async/client/esql.py +295 -3
  13. elasticsearch/_async/client/features.py +25 -25
  14. elasticsearch/_async/client/fleet.py +15 -9
  15. elasticsearch/_async/client/graph.py +9 -8
  16. elasticsearch/_async/client/ilm.py +91 -61
  17. elasticsearch/_async/client/indices.py +746 -324
  18. elasticsearch/_async/client/inference.py +101 -4
  19. elasticsearch/_async/client/ingest.py +231 -19
  20. elasticsearch/_async/client/license.py +48 -31
  21. elasticsearch/_async/client/logstash.py +20 -6
  22. elasticsearch/_async/client/migration.py +25 -7
  23. elasticsearch/_async/client/ml.py +532 -278
  24. elasticsearch/_async/client/monitoring.py +5 -1
  25. elasticsearch/_async/client/nodes.py +46 -30
  26. elasticsearch/_async/client/query_rules.py +65 -18
  27. elasticsearch/_async/client/rollup.py +126 -13
  28. elasticsearch/_async/client/search_application.py +170 -13
  29. elasticsearch/_async/client/searchable_snapshots.py +45 -23
  30. elasticsearch/_async/client/security.py +1299 -340
  31. elasticsearch/_async/client/shutdown.py +43 -15
  32. elasticsearch/_async/client/simulate.py +145 -0
  33. elasticsearch/_async/client/slm.py +163 -19
  34. elasticsearch/_async/client/snapshot.py +288 -23
  35. elasticsearch/_async/client/sql.py +94 -53
  36. elasticsearch/_async/client/ssl.py +16 -17
  37. elasticsearch/_async/client/synonyms.py +67 -26
  38. elasticsearch/_async/client/tasks.py +103 -28
  39. elasticsearch/_async/client/text_structure.py +475 -46
  40. elasticsearch/_async/client/transform.py +108 -72
  41. elasticsearch/_async/client/watcher.py +245 -43
  42. elasticsearch/_async/client/xpack.py +20 -6
  43. elasticsearch/_async/helpers.py +1 -1
  44. elasticsearch/_sync/client/__init__.py +2034 -740
  45. elasticsearch/_sync/client/async_search.py +33 -22
  46. elasticsearch/_sync/client/autoscaling.py +27 -21
  47. elasticsearch/_sync/client/cat.py +280 -336
  48. elasticsearch/_sync/client/ccr.py +96 -70
  49. elasticsearch/_sync/client/cluster.py +152 -144
  50. elasticsearch/_sync/client/connector.py +488 -55
  51. elasticsearch/_sync/client/dangling_indices.py +22 -16
  52. elasticsearch/_sync/client/enrich.py +25 -6
  53. elasticsearch/_sync/client/eql.py +22 -9
  54. elasticsearch/_sync/client/esql.py +295 -3
  55. elasticsearch/_sync/client/features.py +25 -25
  56. elasticsearch/_sync/client/fleet.py +15 -9
  57. elasticsearch/_sync/client/graph.py +9 -8
  58. elasticsearch/_sync/client/ilm.py +91 -61
  59. elasticsearch/_sync/client/indices.py +746 -324
  60. elasticsearch/_sync/client/inference.py +101 -4
  61. elasticsearch/_sync/client/ingest.py +231 -19
  62. elasticsearch/_sync/client/license.py +48 -31
  63. elasticsearch/_sync/client/logstash.py +20 -6
  64. elasticsearch/_sync/client/migration.py +25 -7
  65. elasticsearch/_sync/client/ml.py +532 -278
  66. elasticsearch/_sync/client/monitoring.py +5 -1
  67. elasticsearch/_sync/client/nodes.py +46 -30
  68. elasticsearch/_sync/client/query_rules.py +65 -18
  69. elasticsearch/_sync/client/rollup.py +126 -13
  70. elasticsearch/_sync/client/search_application.py +170 -13
  71. elasticsearch/_sync/client/searchable_snapshots.py +45 -23
  72. elasticsearch/_sync/client/security.py +1299 -340
  73. elasticsearch/_sync/client/shutdown.py +43 -15
  74. elasticsearch/_sync/client/simulate.py +145 -0
  75. elasticsearch/_sync/client/slm.py +163 -19
  76. elasticsearch/_sync/client/snapshot.py +288 -23
  77. elasticsearch/_sync/client/sql.py +94 -53
  78. elasticsearch/_sync/client/ssl.py +16 -17
  79. elasticsearch/_sync/client/synonyms.py +67 -26
  80. elasticsearch/_sync/client/tasks.py +103 -28
  81. elasticsearch/_sync/client/text_structure.py +475 -46
  82. elasticsearch/_sync/client/transform.py +108 -72
  83. elasticsearch/_sync/client/utils.py +1 -1
  84. elasticsearch/_sync/client/watcher.py +245 -43
  85. elasticsearch/_sync/client/xpack.py +20 -6
  86. elasticsearch/_version.py +1 -1
  87. elasticsearch/client.py +4 -0
  88. elasticsearch/helpers/actions.py +1 -1
  89. elasticsearch/helpers/vectorstore/_sync/vectorstore.py +4 -1
  90. {elasticsearch-8.17.0.dist-info → elasticsearch-8.17.2.dist-info}/METADATA +1 -1
  91. elasticsearch-8.17.2.dist-info/RECORD +119 -0
  92. elasticsearch-8.17.0.dist-info/RECORD +0 -117
  93. {elasticsearch-8.17.0.dist-info → elasticsearch-8.17.2.dist-info}/WHEEL +0 -0
  94. {elasticsearch-8.17.0.dist-info → elasticsearch-8.17.2.dist-info}/licenses/LICENSE +0 -0
  95. {elasticsearch-8.17.0.dist-info → elasticsearch-8.17.2.dist-info}/licenses/NOTICE +0 -0
@@ -42,7 +42,11 @@ class MonitoringClient(NamespacedClient):
42
42
  pretty: t.Optional[bool] = None,
43
43
  ) -> ObjectApiResponse[t.Any]:
44
44
  """
45
- Used by the monitoring features to send monitoring data.
45
+ .. raw:: html
46
+
47
+ <p>Send monitoring data.
48
+ This API is used by the monitoring features to send monitoring data.</p>
49
+
46
50
 
47
51
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/monitor-elasticsearch-cluster.html>`_
48
52
 
@@ -44,15 +44,18 @@ class NodesClient(NamespacedClient):
44
44
  pretty: t.Optional[bool] = None,
45
45
  ) -> ObjectApiResponse[t.Any]:
46
46
  """
47
- Clear the archived repositories metering. Clear the archived repositories metering
48
- information in the cluster.
47
+ .. raw:: html
48
+
49
+ <p>Clear the archived repositories metering.
50
+ Clear the archived repositories metering information in the cluster.</p>
51
+
49
52
 
50
53
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/clear-repositories-metering-archive-api.html>`_
51
54
 
52
55
  :param node_id: Comma-separated list of node IDs or names used to limit returned
53
- information. All the nodes selective options are explained [here](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster.html#cluster-nodes).
54
- :param max_archive_version: Specifies the maximum [archive_version](https://www.elastic.co/guide/en/elasticsearch/reference/current/get-repositories-metering-api.html#get-repositories-metering-api-response-body)
55
- to be cleared from the archive.
56
+ information.
57
+ :param max_archive_version: Specifies the maximum `archive_version` to be cleared
58
+ from the archive.
56
59
  """
57
60
  if node_id in SKIP_IN_PATH:
58
61
  raise ValueError("Empty value passed for parameter 'node_id'")
@@ -94,11 +97,13 @@ class NodesClient(NamespacedClient):
94
97
  pretty: t.Optional[bool] = None,
95
98
  ) -> ObjectApiResponse[t.Any]:
96
99
  """
97
- Get cluster repositories metering. Get repositories metering information for
98
- a cluster. This API exposes monotonically non-decreasing counters and it is expected
99
- that clients would durably store the information needed to compute aggregations
100
- over a period of time. Additionally, the information exposed by this API is volatile,
101
- meaning that it will not be present after node restarts.
100
+ .. raw:: html
101
+
102
+ <p>Get cluster repositories metering.
103
+ Get repositories metering information for a cluster.
104
+ This API exposes monotonically non-decreasing counters and it is expected that clients would durably store the information needed to compute aggregations over a period of time.
105
+ Additionally, the information exposed by this API is volatile, meaning that it will not be present after node restarts.</p>
106
+
102
107
 
103
108
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/get-repositories-metering-api.html>`_
104
109
 
@@ -151,9 +156,12 @@ class NodesClient(NamespacedClient):
151
156
  ] = None,
152
157
  ) -> TextApiResponse:
153
158
  """
154
- Get the hot threads for nodes. Get a breakdown of the hot threads on each selected
155
- node in the cluster. The output is plain text with a breakdown of the top hot
156
- threads for each node.
159
+ .. raw:: html
160
+
161
+ <p>Get the hot threads for nodes.
162
+ Get a breakdown of the hot threads on each selected node in the cluster.
163
+ The output is plain text with a breakdown of the top hot threads for each node.</p>
164
+
157
165
 
158
166
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/cluster-nodes-hot-threads.html>`_
159
167
 
@@ -228,8 +236,11 @@ class NodesClient(NamespacedClient):
228
236
  timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
229
237
  ) -> ObjectApiResponse[t.Any]:
230
238
  """
231
- Get node information. By default, the API returns all attributes and core settings
232
- for cluster nodes.
239
+ .. raw:: html
240
+
241
+ <p>Get node information.
242
+ By default, the API returns all attributes and core settings for cluster nodes.</p>
243
+
233
244
 
234
245
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/cluster-nodes-info.html>`_
235
246
 
@@ -298,18 +309,16 @@ class NodesClient(NamespacedClient):
298
309
  body: t.Optional[t.Dict[str, t.Any]] = None,
299
310
  ) -> ObjectApiResponse[t.Any]:
300
311
  """
301
- Reload the keystore on nodes in the cluster. Secure settings are stored in an
302
- on-disk keystore. Certain of these settings are reloadable. That is, you can
303
- change them on disk and reload them without restarting any nodes in the cluster.
304
- When you have updated reloadable secure settings in your keystore, you can use
305
- this API to reload those settings on each node. When the Elasticsearch keystore
306
- is password protected and not simply obfuscated, you must provide the password
307
- for the keystore when you reload the secure settings. Reloading the settings
308
- for the whole cluster assumes that the keystores for all nodes are protected
309
- with the same password; this method is allowed only when inter-node communications
310
- are encrypted. Alternatively, you can reload the secure settings on each node
311
- by locally accessing the API and passing the node-specific Elasticsearch keystore
312
- password.
312
+ .. raw:: html
313
+
314
+ <p>Reload the keystore on nodes in the cluster.</p>
315
+ <p>Secure settings are stored in an on-disk keystore. Certain of these settings are reloadable.
316
+ That is, you can change them on disk and reload them without restarting any nodes in the cluster.
317
+ When you have updated reloadable secure settings in your keystore, you can use this API to reload those settings on each node.</p>
318
+ <p>When the Elasticsearch keystore is password protected and not simply obfuscated, you must provide the password for the keystore when you reload the secure settings.
319
+ Reloading the settings for the whole cluster assumes that the keystores for all nodes are protected with the same password; this method is allowed only when inter-node communications are encrypted.
320
+ Alternatively, you can reload the secure settings on each node by locally accessing the API and passing the node-specific Elasticsearch keystore password.</p>
321
+
313
322
 
314
323
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/secure-settings.html#reloadable-secure-settings>`_
315
324
 
@@ -380,8 +389,12 @@ class NodesClient(NamespacedClient):
380
389
  types: t.Optional[t.Sequence[str]] = None,
381
390
  ) -> ObjectApiResponse[t.Any]:
382
391
  """
383
- Get node statistics. Get statistics for nodes in a cluster. By default, all stats
384
- are returned. You can limit the returned information by using metrics.
392
+ .. raw:: html
393
+
394
+ <p>Get node statistics.
395
+ Get statistics for nodes in a cluster.
396
+ By default, all stats are returned. You can limit the returned information by using metrics.</p>
397
+
385
398
 
386
399
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/cluster-nodes-stats.html>`_
387
400
 
@@ -498,7 +511,10 @@ class NodesClient(NamespacedClient):
498
511
  timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
499
512
  ) -> ObjectApiResponse[t.Any]:
500
513
  """
501
- Get feature usage information.
514
+ .. raw:: html
515
+
516
+ <p>Get feature usage information.</p>
517
+
502
518
 
503
519
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/cluster-nodes-usage.html>`_
504
520
 
@@ -37,7 +37,12 @@ class QueryRulesClient(NamespacedClient):
37
37
  pretty: t.Optional[bool] = None,
38
38
  ) -> ObjectApiResponse[t.Any]:
39
39
  """
40
- Delete a query rule. Delete a query rule within a query ruleset.
40
+ .. raw:: html
41
+
42
+ <p>Delete a query rule.
43
+ Delete a query rule within a query ruleset.
44
+ This is a destructive action that is only recoverable by re-adding the same rule with the create or update query rule API.</p>
45
+
41
46
 
42
47
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/delete-query-rule.html>`_
43
48
 
@@ -85,7 +90,12 @@ class QueryRulesClient(NamespacedClient):
85
90
  pretty: t.Optional[bool] = None,
86
91
  ) -> ObjectApiResponse[t.Any]:
87
92
  """
88
- Delete a query ruleset.
93
+ .. raw:: html
94
+
95
+ <p>Delete a query ruleset.
96
+ Remove a query ruleset and its associated data.
97
+ This is a destructive action that is not recoverable.</p>
98
+
89
99
 
90
100
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/delete-query-ruleset.html>`_
91
101
 
@@ -126,7 +136,11 @@ class QueryRulesClient(NamespacedClient):
126
136
  pretty: t.Optional[bool] = None,
127
137
  ) -> ObjectApiResponse[t.Any]:
128
138
  """
129
- Get a query rule. Get details about a query rule within a query ruleset.
139
+ .. raw:: html
140
+
141
+ <p>Get a query rule.
142
+ Get details about a query rule within a query ruleset.</p>
143
+
130
144
 
131
145
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/get-query-rule.html>`_
132
146
 
@@ -174,7 +188,11 @@ class QueryRulesClient(NamespacedClient):
174
188
  pretty: t.Optional[bool] = None,
175
189
  ) -> ObjectApiResponse[t.Any]:
176
190
  """
177
- Get a query ruleset. Get details about a query ruleset.
191
+ .. raw:: html
192
+
193
+ <p>Get a query ruleset.
194
+ Get details about a query ruleset.</p>
195
+
178
196
 
179
197
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/get-query-ruleset.html>`_
180
198
 
@@ -217,12 +235,16 @@ class QueryRulesClient(NamespacedClient):
217
235
  size: t.Optional[int] = None,
218
236
  ) -> ObjectApiResponse[t.Any]:
219
237
  """
220
- Get all query rulesets. Get summarized information about the query rulesets.
238
+ .. raw:: html
239
+
240
+ <p>Get all query rulesets.
241
+ Get summarized information about the query rulesets.</p>
242
+
221
243
 
222
244
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/list-query-rulesets.html>`_
223
245
 
224
- :param from_: Starting offset (default: 0)
225
- :param size: specifies a max number of results to get
246
+ :param from_: The offset from the first result to fetch.
247
+ :param size: The maximum number of results to retrieve.
226
248
  """
227
249
  __path_parts: t.Dict[str, str] = {}
228
250
  __path = "/_query_rules"
@@ -270,17 +292,28 @@ class QueryRulesClient(NamespacedClient):
270
292
  body: t.Optional[t.Dict[str, t.Any]] = None,
271
293
  ) -> ObjectApiResponse[t.Any]:
272
294
  """
273
- Create or update a query rule. Create or update a query rule within a query ruleset.
295
+ .. raw:: html
296
+
297
+ <p>Create or update a query rule.
298
+ Create or update a query rule within a query ruleset.</p>
299
+ <p>IMPORTANT: Due to limitations within pinned queries, you can only pin documents using ids or docs, but cannot use both in single rule.
300
+ It is advised to use one or the other in query rulesets, to avoid errors.
301
+ Additionally, pinned queries have a maximum limit of 100 pinned hits.
302
+ If multiple matching rules pin more than 100 documents, only the first 100 documents are pinned in the order they are specified in the ruleset.</p>
303
+
274
304
 
275
305
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/put-query-rule.html>`_
276
306
 
277
307
  :param ruleset_id: The unique identifier of the query ruleset containing the
278
- rule to be created or updated
308
+ rule to be created or updated.
279
309
  :param rule_id: The unique identifier of the query rule within the specified
280
- ruleset to be created or updated
281
- :param actions:
282
- :param criteria:
283
- :param type:
310
+ ruleset to be created or updated.
311
+ :param actions: The actions to take when the rule is matched. The format of this
312
+ action depends on the rule type.
313
+ :param criteria: The criteria that must be met for the rule to be applied. If
314
+ multiple criteria are specified for a rule, all criteria must be met for
315
+ the rule to be applied.
316
+ :param type: The type of rule.
284
317
  :param priority:
285
318
  """
286
319
  if ruleset_id in SKIP_IN_PATH:
@@ -345,12 +378,21 @@ class QueryRulesClient(NamespacedClient):
345
378
  body: t.Optional[t.Dict[str, t.Any]] = None,
346
379
  ) -> ObjectApiResponse[t.Any]:
347
380
  """
348
- Create or update a query ruleset.
381
+ .. raw:: html
382
+
383
+ <p>Create or update a query ruleset.
384
+ There is a limit of 100 rules per ruleset.
385
+ This limit can be increased by using the <code>xpack.applications.rules.max_rules_per_ruleset</code> cluster setting.</p>
386
+ <p>IMPORTANT: Due to limitations within pinned queries, you can only select documents using <code>ids</code> or <code>docs</code>, but cannot use both in single rule.
387
+ It is advised to use one or the other in query rulesets, to avoid errors.
388
+ Additionally, pinned queries have a maximum limit of 100 pinned hits.
389
+ If multiple matching rules pin more than 100 documents, only the first 100 documents are pinned in the order they are specified in the ruleset.</p>
390
+
349
391
 
350
392
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/put-query-ruleset.html>`_
351
393
 
352
394
  :param ruleset_id: The unique identifier of the query ruleset to be created or
353
- updated
395
+ updated.
354
396
  :param rules:
355
397
  """
356
398
  if ruleset_id in SKIP_IN_PATH:
@@ -398,14 +440,19 @@ class QueryRulesClient(NamespacedClient):
398
440
  body: t.Optional[t.Dict[str, t.Any]] = None,
399
441
  ) -> ObjectApiResponse[t.Any]:
400
442
  """
401
- Test a query ruleset. Evaluate match criteria against a query ruleset to identify
402
- the rules that would match that criteria.
443
+ .. raw:: html
444
+
445
+ <p>Test a query ruleset.
446
+ Evaluate match criteria against a query ruleset to identify the rules that would match that criteria.</p>
447
+
403
448
 
404
449
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/test-query-ruleset.html>`_
405
450
 
406
451
  :param ruleset_id: The unique identifier of the query ruleset to be created or
407
452
  updated
408
- :param match_criteria:
453
+ :param match_criteria: The match criteria to apply to rules in the given query
454
+ ruleset. Match criteria should match the keys defined in the `criteria.metadata`
455
+ field of the rule.
409
456
  """
410
457
  if ruleset_id in SKIP_IN_PATH:
411
458
  raise ValueError("Empty value passed for parameter 'ruleset_id'")
@@ -43,7 +43,29 @@ class RollupClient(NamespacedClient):
43
43
  pretty: t.Optional[bool] = None,
44
44
  ) -> ObjectApiResponse[t.Any]:
45
45
  """
46
- Deletes an existing rollup job.
46
+ .. raw:: html
47
+
48
+ <p>Delete a rollup job.</p>
49
+ <p>A job must be stopped before it can be deleted.
50
+ If you attempt to delete a started job, an error occurs.
51
+ Similarly, if you attempt to delete a nonexistent job, an exception occurs.</p>
52
+ <p>IMPORTANT: When you delete a job, you remove only the process that is actively monitoring and rolling up data.
53
+ The API does not delete any previously rolled up data.
54
+ This is by design; a user may wish to roll up a static data set.
55
+ Because the data set is static, after it has been fully rolled up there is no need to keep the indexing rollup job around (as there will be no new data).
56
+ Thus the job can be deleted, leaving behind the rolled up data for analysis.
57
+ If you wish to also remove the rollup data and the rollup index contains the data for only a single job, you can delete the whole rollup index.
58
+ If the rollup index stores data from several jobs, you must issue a delete-by-query that targets the rollup job's identifier in the rollup index. For example:</p>
59
+ <pre><code>POST my_rollup_index/_delete_by_query
60
+ {
61
+ &quot;query&quot;: {
62
+ &quot;term&quot;: {
63
+ &quot;_rollup.id&quot;: &quot;the_rollup_job_id&quot;
64
+ }
65
+ }
66
+ }
67
+ </code></pre>
68
+
47
69
 
48
70
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/rollup-delete-job.html>`_
49
71
 
@@ -84,7 +106,14 @@ class RollupClient(NamespacedClient):
84
106
  pretty: t.Optional[bool] = None,
85
107
  ) -> ObjectApiResponse[t.Any]:
86
108
  """
87
- Retrieves the configuration, stats, and status of rollup jobs.
109
+ .. raw:: html
110
+
111
+ <p>Get rollup job information.
112
+ Get the configuration, stats, and status of rollup jobs.</p>
113
+ <p>NOTE: This API returns only active (both <code>STARTED</code> and <code>STOPPED</code>) jobs.
114
+ If a job was created, ran for a while, then was deleted, the API does not return any details about it.
115
+ For details about a historical rollup job, the rollup capabilities API may be more useful.</p>
116
+
88
117
 
89
118
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/rollup-get-job.html>`_
90
119
 
@@ -129,8 +158,18 @@ class RollupClient(NamespacedClient):
129
158
  pretty: t.Optional[bool] = None,
130
159
  ) -> ObjectApiResponse[t.Any]:
131
160
  """
132
- Returns the capabilities of any rollup jobs that have been configured for a specific
133
- index or index pattern.
161
+ .. raw:: html
162
+
163
+ <p>Get the rollup job capabilities.
164
+ Get the capabilities of any rollup jobs that have been configured for a specific index or index pattern.</p>
165
+ <p>This API is useful because a rollup job is often configured to rollup only a subset of fields from the source index.
166
+ Furthermore, only certain aggregations can be configured for various fields, leading to a limited subset of functionality depending on that configuration.
167
+ This API enables you to inspect an index and determine:</p>
168
+ <ol>
169
+ <li>Does this index have associated rollup data somewhere in the cluster?</li>
170
+ <li>If yes to the first question, what fields were rolled up, what aggregations can be performed, and where does the data live?</li>
171
+ </ol>
172
+
134
173
 
135
174
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/rollup-get-rollup-caps.html>`_
136
175
 
@@ -175,8 +214,16 @@ class RollupClient(NamespacedClient):
175
214
  pretty: t.Optional[bool] = None,
176
215
  ) -> ObjectApiResponse[t.Any]:
177
216
  """
178
- Returns the rollup capabilities of all jobs inside of a rollup index (for example,
179
- the index where rollup data is stored).
217
+ .. raw:: html
218
+
219
+ <p>Get the rollup index capabilities.
220
+ Get the rollup capabilities of all jobs inside of a rollup index.
221
+ A single rollup index may store the data for multiple rollup jobs and may have a variety of capabilities depending on those jobs. This API enables you to determine:</p>
222
+ <ul>
223
+ <li>What jobs are stored in an index (or indices specified via a pattern)?</li>
224
+ <li>What target indices were rolled up, what fields were used in those rollups, and what aggregations can be performed on each job?</li>
225
+ </ul>
226
+
180
227
 
181
228
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/rollup-get-rollup-index-caps.html>`_
182
229
 
@@ -239,7 +286,14 @@ class RollupClient(NamespacedClient):
239
286
  body: t.Optional[t.Dict[str, t.Any]] = None,
240
287
  ) -> ObjectApiResponse[t.Any]:
241
288
  """
242
- Creates a rollup job.
289
+ .. raw:: html
290
+
291
+ <p>Create a rollup job.</p>
292
+ <p>WARNING: From 8.15.0, calling this API in a cluster with no rollup usage will fail with a message about the deprecation and planned removal of rollup features. A cluster needs to contain either a rollup job or a rollup index in order for this API to be allowed to run.</p>
293
+ <p>The rollup job configuration contains all the details about how the job should run, when it indexes documents, and what future queries will be able to run against the rollup index.</p>
294
+ <p>There are three main sections to the job configuration: the logistical details about the job (for example, the cron schedule), the fields that are used for grouping, and what metrics to collect for each group.</p>
295
+ <p>Jobs are created in a <code>STOPPED</code> state. You can start them with the start rollup jobs API.</p>
296
+
243
297
 
244
298
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/rollup-put-job.html>`_
245
299
 
@@ -356,14 +410,54 @@ class RollupClient(NamespacedClient):
356
410
  body: t.Optional[t.Dict[str, t.Any]] = None,
357
411
  ) -> ObjectApiResponse[t.Any]:
358
412
  """
359
- Enables searching rolled-up data using the standard Query DSL.
413
+ .. raw:: html
414
+
415
+ <p>Search rolled-up data.
416
+ The rollup search endpoint is needed because, internally, rolled-up documents utilize a different document structure than the original data.
417
+ It rewrites standard Query DSL into a format that matches the rollup documents then takes the response and rewrites it back to what a client would expect given the original query.</p>
418
+ <p>The request body supports a subset of features from the regular search API.
419
+ The following functionality is not available:</p>
420
+ <p><code>size</code>: Because rollups work on pre-aggregated data, no search hits can be returned and so size must be set to zero or omitted entirely.
421
+ <code>highlighter</code>, <code>suggestors</code>, <code>post_filter</code>, <code>profile</code>, <code>explain</code>: These are similarly disallowed.</p>
422
+ <p><strong>Searching both historical rollup and non-rollup data</strong></p>
423
+ <p>The rollup search API has the capability to search across both &quot;live&quot; non-rollup data and the aggregated rollup data.
424
+ This is done by simply adding the live indices to the URI. For example:</p>
425
+ <pre><code>GET sensor-1,sensor_rollup/_rollup_search
426
+ {
427
+ &quot;size&quot;: 0,
428
+ &quot;aggregations&quot;: {
429
+ &quot;max_temperature&quot;: {
430
+ &quot;max&quot;: {
431
+ &quot;field&quot;: &quot;temperature&quot;
432
+ }
433
+ }
434
+ }
435
+ }
436
+ </code></pre>
437
+ <p>The rollup search endpoint does two things when the search runs:</p>
438
+ <ul>
439
+ <li>The original request is sent to the non-rollup index unaltered.</li>
440
+ <li>A rewritten version of the original request is sent to the rollup index.</li>
441
+ </ul>
442
+ <p>When the two responses are received, the endpoint rewrites the rollup response and merges the two together.
443
+ During the merging process, if there is any overlap in buckets between the two responses, the buckets from the non-rollup index are used.</p>
444
+
360
445
 
361
446
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/rollup-search.html>`_
362
447
 
363
- :param index: Enables searching rolled-up data using the standard Query DSL.
448
+ :param index: A comma-separated list of data streams and indices used to limit
449
+ the request. This parameter has the following rules: * At least one data
450
+ stream, index, or wildcard expression must be specified. This target can
451
+ include a rollup or non-rollup index. For data streams, the stream's backing
452
+ indices can only serve as non-rollup indices. Omitting the parameter or using
453
+ `_all` are not permitted. * Multiple non-rollup indices may be specified.
454
+ * Only one rollup index may be specified. If more than one are supplied,
455
+ an exception occurs. * Wildcard expressions (`*`) may be used. If they match
456
+ more than one rollup index, an exception occurs. However, you can use an
457
+ expression to match multiple non-rollup indices or data streams.
364
458
  :param aggregations: Specifies aggregations.
365
459
  :param aggs: Specifies aggregations.
366
- :param query: Specifies a DSL query.
460
+ :param query: Specifies a DSL query that is subject to some limitations.
367
461
  :param rest_total_hits_as_int: Indicates whether hits.total should be rendered
368
462
  as an integer or an object in the rest search response
369
463
  :param size: Must be zero if set, as rollups work on pre-aggregated data.
@@ -420,7 +514,12 @@ class RollupClient(NamespacedClient):
420
514
  pretty: t.Optional[bool] = None,
421
515
  ) -> ObjectApiResponse[t.Any]:
422
516
  """
423
- Starts an existing, stopped rollup job.
517
+ .. raw:: html
518
+
519
+ <p>Start rollup jobs.
520
+ If you try to start a job that does not exist, an exception occurs.
521
+ If you try to start a job that is already started, nothing happens.</p>
522
+
424
523
 
425
524
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/rollup-start-job.html>`_
426
525
 
@@ -463,14 +562,28 @@ class RollupClient(NamespacedClient):
463
562
  wait_for_completion: t.Optional[bool] = None,
464
563
  ) -> ObjectApiResponse[t.Any]:
465
564
  """
466
- Stops an existing, started rollup job.
565
+ .. raw:: html
566
+
567
+ <p>Stop rollup jobs.
568
+ If you try to stop a job that does not exist, an exception occurs.
569
+ If you try to stop a job that is already stopped, nothing happens.</p>
570
+ <p>Since only a stopped job can be deleted, it can be useful to block the API until the indexer has fully stopped.
571
+ This is accomplished with the <code>wait_for_completion</code> query parameter, and optionally a timeout. For example:</p>
572
+ <pre><code>POST _rollup/job/sensor/_stop?wait_for_completion=true&amp;timeout=10s
573
+ </code></pre>
574
+ <p>The parameter blocks the API call from returning until either the job has moved to STOPPED or the specified time has elapsed.
575
+ If the specified time elapses without the job moving to STOPPED, a timeout exception occurs.</p>
576
+
467
577
 
468
578
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/rollup-stop-job.html>`_
469
579
 
470
580
  :param id: Identifier for the rollup job.
471
581
  :param timeout: If `wait_for_completion` is `true`, the API blocks for (at maximum)
472
582
  the specified duration while waiting for the job to stop. If more than `timeout`
473
- time has passed, the API throws a timeout exception.
583
+ time has passed, the API throws a timeout exception. NOTE: Even if a timeout
584
+ occurs, the stop request is still processing and eventually moves the job
585
+ to STOPPED. The timeout simply means the API call itself timed out while
586
+ waiting for the status change.
474
587
  :param wait_for_completion: If set to `true`, causes the API to block until the
475
588
  indexer state completely stops. If set to `false`, the API returns immediately
476
589
  and the indexer is stopped asynchronously in the background.