elasticsearch 9.2.0__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.
Files changed (125) hide show
  1. elasticsearch/_async/client/__init__.py +108 -85
  2. elasticsearch/_async/client/async_search.py +7 -6
  3. elasticsearch/_async/client/autoscaling.py +15 -4
  4. elasticsearch/_async/client/cat.py +203 -10
  5. elasticsearch/_async/client/ccr.py +10 -10
  6. elasticsearch/_async/client/cluster.py +98 -66
  7. elasticsearch/_async/client/connector.py +42 -41
  8. elasticsearch/_async/client/dangling_indices.py +8 -12
  9. elasticsearch/_async/client/enrich.py +10 -10
  10. elasticsearch/_async/client/eql.py +17 -16
  11. elasticsearch/_async/client/esql.py +173 -24
  12. elasticsearch/_async/client/features.py +6 -6
  13. elasticsearch/_async/client/fleet.py +8 -8
  14. elasticsearch/_async/client/graph.py +3 -3
  15. elasticsearch/_async/client/ilm.py +18 -18
  16. elasticsearch/_async/client/indices.py +564 -149
  17. elasticsearch/_async/client/inference.py +374 -64
  18. elasticsearch/_async/client/ingest.py +9 -9
  19. elasticsearch/_async/client/license.py +5 -7
  20. elasticsearch/_async/client/logstash.py +4 -4
  21. elasticsearch/_async/client/migration.py +6 -6
  22. elasticsearch/_async/client/ml.py +132 -88
  23. elasticsearch/_async/client/monitoring.py +4 -3
  24. elasticsearch/_async/client/nodes.py +182 -20
  25. elasticsearch/_async/client/project.py +13 -4
  26. elasticsearch/_async/client/query_rules.py +16 -16
  27. elasticsearch/_async/client/rollup.py +21 -21
  28. elasticsearch/_async/client/search_application.py +19 -19
  29. elasticsearch/_async/client/searchable_snapshots.py +10 -10
  30. elasticsearch/_async/client/security.py +34 -10
  31. elasticsearch/_async/client/shutdown.py +15 -4
  32. elasticsearch/_async/client/simulate.py +4 -4
  33. elasticsearch/_async/client/slm.py +17 -17
  34. elasticsearch/_async/client/snapshot.py +21 -21
  35. elasticsearch/_async/client/sql.py +17 -16
  36. elasticsearch/_async/client/streams.py +6 -7
  37. elasticsearch/_async/client/synonyms.py +10 -10
  38. elasticsearch/_async/client/tasks.py +8 -8
  39. elasticsearch/_async/client/text_structure.py +16 -12
  40. elasticsearch/_async/client/transform.py +51 -12
  41. elasticsearch/_async/client/utils.py +4 -2
  42. elasticsearch/_async/client/watcher.py +26 -26
  43. elasticsearch/_async/client/xpack.py +6 -5
  44. elasticsearch/_sync/client/__init__.py +110 -85
  45. elasticsearch/_sync/client/async_search.py +7 -6
  46. elasticsearch/_sync/client/autoscaling.py +15 -4
  47. elasticsearch/_sync/client/cat.py +203 -10
  48. elasticsearch/_sync/client/ccr.py +10 -10
  49. elasticsearch/_sync/client/cluster.py +98 -66
  50. elasticsearch/_sync/client/connector.py +42 -41
  51. elasticsearch/_sync/client/dangling_indices.py +8 -12
  52. elasticsearch/_sync/client/enrich.py +10 -10
  53. elasticsearch/_sync/client/eql.py +17 -16
  54. elasticsearch/_sync/client/esql.py +173 -24
  55. elasticsearch/_sync/client/features.py +6 -6
  56. elasticsearch/_sync/client/fleet.py +8 -8
  57. elasticsearch/_sync/client/graph.py +3 -3
  58. elasticsearch/_sync/client/ilm.py +18 -18
  59. elasticsearch/_sync/client/indices.py +564 -149
  60. elasticsearch/_sync/client/inference.py +374 -64
  61. elasticsearch/_sync/client/ingest.py +9 -9
  62. elasticsearch/_sync/client/license.py +5 -7
  63. elasticsearch/_sync/client/logstash.py +4 -4
  64. elasticsearch/_sync/client/migration.py +6 -6
  65. elasticsearch/_sync/client/ml.py +132 -88
  66. elasticsearch/_sync/client/monitoring.py +4 -3
  67. elasticsearch/_sync/client/nodes.py +182 -20
  68. elasticsearch/_sync/client/project.py +13 -4
  69. elasticsearch/_sync/client/project_routing.py +264 -0
  70. elasticsearch/_sync/client/query_rules.py +16 -16
  71. elasticsearch/_sync/client/rollup.py +21 -21
  72. elasticsearch/_sync/client/search_application.py +19 -19
  73. elasticsearch/_sync/client/searchable_snapshots.py +10 -10
  74. elasticsearch/_sync/client/security.py +34 -10
  75. elasticsearch/_sync/client/shutdown.py +15 -4
  76. elasticsearch/_sync/client/simulate.py +4 -4
  77. elasticsearch/_sync/client/slm.py +17 -17
  78. elasticsearch/_sync/client/snapshot.py +21 -21
  79. elasticsearch/_sync/client/sql.py +17 -16
  80. elasticsearch/_sync/client/streams.py +6 -7
  81. elasticsearch/_sync/client/synonyms.py +10 -10
  82. elasticsearch/_sync/client/tasks.py +8 -8
  83. elasticsearch/_sync/client/text_structure.py +16 -12
  84. elasticsearch/_sync/client/transform.py +51 -12
  85. elasticsearch/_sync/client/utils.py +16 -2
  86. elasticsearch/_sync/client/watcher.py +26 -26
  87. elasticsearch/_sync/client/xpack.py +6 -5
  88. elasticsearch/_version.py +2 -2
  89. elasticsearch/dsl/__init__.py +4 -0
  90. elasticsearch/dsl/_async/document.py +4 -5
  91. elasticsearch/dsl/_async/index.py +1 -1
  92. elasticsearch/dsl/_async/search.py +2 -3
  93. elasticsearch/dsl/_sync/document.py +4 -5
  94. elasticsearch/dsl/_sync/index.py +1 -1
  95. elasticsearch/dsl/_sync/search.py +2 -3
  96. elasticsearch/dsl/aggs.py +9 -9
  97. elasticsearch/dsl/async_connections.py +1 -2
  98. elasticsearch/dsl/connections.py +1 -2
  99. elasticsearch/dsl/document_base.py +1 -1
  100. elasticsearch/dsl/field.py +90 -6
  101. elasticsearch/dsl/pydantic.py +1 -1
  102. elasticsearch/dsl/query.py +25 -2
  103. elasticsearch/dsl/response/__init__.py +2 -0
  104. elasticsearch/dsl/serializer.py +1 -2
  105. elasticsearch/dsl/types.py +63 -8
  106. elasticsearch/dsl/utils.py +12 -4
  107. elasticsearch/esql/esql.py +1 -1
  108. elasticsearch/esql/functions.py +926 -252
  109. elasticsearch/helpers/__init__.py +2 -0
  110. elasticsearch/helpers/actions.py +21 -0
  111. elasticsearch/helpers/vectorstore/__init__.py +7 -7
  112. elasticsearch/helpers/vectorstore/_async/_utils.py +1 -1
  113. elasticsearch/helpers/vectorstore/_async/embedding_service.py +2 -2
  114. elasticsearch/helpers/vectorstore/_async/strategies.py +3 -3
  115. elasticsearch/helpers/vectorstore/_async/vectorstore.py +8 -5
  116. elasticsearch/helpers/vectorstore/_sync/_utils.py +1 -1
  117. elasticsearch/helpers/vectorstore/_sync/embedding_service.py +2 -2
  118. elasticsearch/helpers/vectorstore/_sync/strategies.py +3 -3
  119. elasticsearch/helpers/vectorstore/_sync/vectorstore.py +8 -5
  120. {elasticsearch-9.2.0.dist-info → elasticsearch-9.3.0.dist-info}/METADATA +2 -1
  121. elasticsearch-9.3.0.dist-info/RECORD +169 -0
  122. {elasticsearch-9.2.0.dist-info → elasticsearch-9.3.0.dist-info}/WHEEL +1 -1
  123. elasticsearch-9.2.0.dist-info/RECORD +0 -168
  124. {elasticsearch-9.2.0.dist-info → elasticsearch-9.3.0.dist-info}/licenses/LICENSE +0 -0
  125. {elasticsearch-9.2.0.dist-info → elasticsearch-9.3.0.dist-info}/licenses/NOTICE +0 -0
@@ -39,8 +39,8 @@ class QueryRulesClient(NamespacedClient):
39
39
  """
40
40
  .. raw:: html
41
41
 
42
- <p>Delete a query rule.
43
- Delete a query rule within a query ruleset.
42
+ <p>Delete a query rule.</p>
43
+ <p>Delete a query rule within a query ruleset.
44
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
45
 
46
46
 
@@ -92,8 +92,8 @@ class QueryRulesClient(NamespacedClient):
92
92
  """
93
93
  .. raw:: html
94
94
 
95
- <p>Delete a query ruleset.
96
- Remove a query ruleset and its associated data.
95
+ <p>Delete a query ruleset.</p>
96
+ <p>Remove a query ruleset and its associated data.
97
97
  This is a destructive action that is not recoverable.</p>
98
98
 
99
99
 
@@ -138,8 +138,8 @@ class QueryRulesClient(NamespacedClient):
138
138
  """
139
139
  .. raw:: html
140
140
 
141
- <p>Get a query rule.
142
- Get details about a query rule within a query ruleset.</p>
141
+ <p>Get a query rule.</p>
142
+ <p>Get details about a query rule within a query ruleset.</p>
143
143
 
144
144
 
145
145
  `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-query-rules-get-rule>`_
@@ -190,8 +190,8 @@ class QueryRulesClient(NamespacedClient):
190
190
  """
191
191
  .. raw:: html
192
192
 
193
- <p>Get a query ruleset.
194
- Get details about a query ruleset.</p>
193
+ <p>Get a query ruleset.</p>
194
+ <p>Get details about a query ruleset.</p>
195
195
 
196
196
 
197
197
  `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-query-rules-get-ruleset>`_
@@ -237,8 +237,8 @@ class QueryRulesClient(NamespacedClient):
237
237
  """
238
238
  .. raw:: html
239
239
 
240
- <p>Get all query rulesets.
241
- Get summarized information about the query rulesets.</p>
240
+ <p>Get all query rulesets.</p>
241
+ <p>Get summarized information about the query rulesets.</p>
242
242
 
243
243
 
244
244
  `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-query-rules-list-rulesets>`_
@@ -294,8 +294,8 @@ class QueryRulesClient(NamespacedClient):
294
294
  """
295
295
  .. raw:: html
296
296
 
297
- <p>Create or update a query rule.
298
- Create or update a query rule within a query ruleset.</p>
297
+ <p>Create or update a query rule.</p>
298
+ <p>Create or update a query rule within a query ruleset.</p>
299
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
300
  It is advised to use one or the other in query rulesets, to avoid errors.
301
301
  Additionally, pinned queries have a maximum limit of 100 pinned hits.
@@ -380,8 +380,8 @@ class QueryRulesClient(NamespacedClient):
380
380
  """
381
381
  .. raw:: html
382
382
 
383
- <p>Create or update a query ruleset.
384
- There is a limit of 100 rules per ruleset.
383
+ <p>Create or update a query ruleset.</p>
384
+ <p>There is a limit of 100 rules per ruleset.
385
385
  This limit can be increased by using the <code>xpack.applications.rules.max_rules_per_ruleset</code> cluster setting.</p>
386
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
387
  It is advised to use one or the other in query rulesets, to avoid errors.
@@ -442,8 +442,8 @@ class QueryRulesClient(NamespacedClient):
442
442
  """
443
443
  .. raw:: html
444
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>
445
+ <p>Test a query ruleset.</p>
446
+ <p>Evaluate match criteria against a query ruleset to identify the rules that would match that criteria.</p>
447
447
 
448
448
 
449
449
  `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-query-rules-test>`_
@@ -23,16 +23,16 @@ from ._base import NamespacedClient
23
23
  from .utils import (
24
24
  SKIP_IN_PATH,
25
25
  Stability,
26
+ _availability_warning,
26
27
  _quote,
27
28
  _rewrite_parameters,
28
- _stability_warning,
29
29
  )
30
30
 
31
31
 
32
32
  class RollupClient(NamespacedClient):
33
33
 
34
34
  @_rewrite_parameters()
35
- @_stability_warning(Stability.EXPERIMENTAL)
35
+ @_availability_warning(Stability.EXPERIMENTAL)
36
36
  def delete_job(
37
37
  self,
38
38
  *,
@@ -95,7 +95,7 @@ class RollupClient(NamespacedClient):
95
95
  )
96
96
 
97
97
  @_rewrite_parameters()
98
- @_stability_warning(Stability.EXPERIMENTAL)
98
+ @_availability_warning(Stability.EXPERIMENTAL)
99
99
  def get_jobs(
100
100
  self,
101
101
  *,
@@ -108,8 +108,8 @@ class RollupClient(NamespacedClient):
108
108
  """
109
109
  .. raw:: html
110
110
 
111
- <p>Get rollup job information.
112
- Get the configuration, stats, and status of rollup jobs.</p>
111
+ <p>Get rollup job information.</p>
112
+ <p>Get the configuration, stats, and status of rollup jobs.</p>
113
113
  <p>NOTE: This API returns only active (both <code>STARTED</code> and <code>STOPPED</code>) jobs.
114
114
  If a job was created, ran for a while, then was deleted, the API does not return any details about it.
115
115
  For details about a historical rollup job, the rollup capabilities API may be more useful.</p>
@@ -147,7 +147,7 @@ class RollupClient(NamespacedClient):
147
147
  )
148
148
 
149
149
  @_rewrite_parameters()
150
- @_stability_warning(Stability.EXPERIMENTAL)
150
+ @_availability_warning(Stability.EXPERIMENTAL)
151
151
  def get_rollup_caps(
152
152
  self,
153
153
  *,
@@ -160,8 +160,8 @@ class RollupClient(NamespacedClient):
160
160
  """
161
161
  .. raw:: html
162
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>
163
+ <p>Get the rollup job capabilities.</p>
164
+ <p>Get the capabilities of any rollup jobs that have been configured for a specific index or index pattern.</p>
165
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
166
  Furthermore, only certain aggregations can be configured for various fields, leading to a limited subset of functionality depending on that configuration.
167
167
  This API enables you to inspect an index and determine:</p>
@@ -203,7 +203,7 @@ class RollupClient(NamespacedClient):
203
203
  )
204
204
 
205
205
  @_rewrite_parameters()
206
- @_stability_warning(Stability.EXPERIMENTAL)
206
+ @_availability_warning(Stability.EXPERIMENTAL)
207
207
  def get_rollup_index_caps(
208
208
  self,
209
209
  *,
@@ -216,8 +216,8 @@ class RollupClient(NamespacedClient):
216
216
  """
217
217
  .. raw:: html
218
218
 
219
- <p>Get the rollup index capabilities.
220
- Get the rollup capabilities of all jobs inside of a rollup index.
219
+ <p>Get the rollup index capabilities.</p>
220
+ <p>Get the rollup capabilities of all jobs inside of a rollup index.
221
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
222
  <ul>
223
223
  <li>What jobs are stored in an index (or indices specified via a pattern)?</li>
@@ -266,7 +266,7 @@ class RollupClient(NamespacedClient):
266
266
  ),
267
267
  ignore_deprecated_options={"headers"},
268
268
  )
269
- @_stability_warning(Stability.EXPERIMENTAL)
269
+ @_availability_warning(Stability.EXPERIMENTAL)
270
270
  def put_job(
271
271
  self,
272
272
  *,
@@ -392,7 +392,7 @@ class RollupClient(NamespacedClient):
392
392
  @_rewrite_parameters(
393
393
  body_fields=("aggregations", "aggs", "query", "size"),
394
394
  )
395
- @_stability_warning(Stability.EXPERIMENTAL)
395
+ @_availability_warning(Stability.EXPERIMENTAL)
396
396
  def rollup_search(
397
397
  self,
398
398
  *,
@@ -412,8 +412,8 @@ class RollupClient(NamespacedClient):
412
412
  """
413
413
  .. raw:: html
414
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.
415
+ <p>Search rolled-up data.</p>
416
+ <p>The rollup search endpoint is needed because, internally, rolled-up documents utilize a different document structure than the original data.
417
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
418
  <p>The request body supports a subset of features from the regular search API.
419
419
  The following functionality is not available:</p>
@@ -482,7 +482,7 @@ class RollupClient(NamespacedClient):
482
482
  )
483
483
 
484
484
  @_rewrite_parameters()
485
- @_stability_warning(Stability.EXPERIMENTAL)
485
+ @_availability_warning(Stability.EXPERIMENTAL)
486
486
  def start_job(
487
487
  self,
488
488
  *,
@@ -495,8 +495,8 @@ class RollupClient(NamespacedClient):
495
495
  """
496
496
  .. raw:: html
497
497
 
498
- <p>Start rollup jobs.
499
- If you try to start a job that does not exist, an exception occurs.
498
+ <p>Start rollup jobs.</p>
499
+ <p>If you try to start a job that does not exist, an exception occurs.
500
500
  If you try to start a job that is already started, nothing happens.</p>
501
501
 
502
502
 
@@ -528,7 +528,7 @@ class RollupClient(NamespacedClient):
528
528
  )
529
529
 
530
530
  @_rewrite_parameters()
531
- @_stability_warning(Stability.EXPERIMENTAL)
531
+ @_availability_warning(Stability.EXPERIMENTAL)
532
532
  def stop_job(
533
533
  self,
534
534
  *,
@@ -543,8 +543,8 @@ class RollupClient(NamespacedClient):
543
543
  """
544
544
  .. raw:: html
545
545
 
546
- <p>Stop rollup jobs.
547
- If you try to stop a job that does not exist, an exception occurs.
546
+ <p>Stop rollup jobs.</p>
547
+ <p>If you try to stop a job that does not exist, an exception occurs.
548
548
  If you try to stop a job that is already stopped, nothing happens.</p>
549
549
  <p>Since only a stopped job can be deleted, it can be useful to block the API until the indexer has fully stopped.
550
550
  This is accomplished with the <code>wait_for_completion</code> query parameter, and optionally a timeout. For example:</p>
@@ -23,16 +23,16 @@ from ._base import NamespacedClient
23
23
  from .utils import (
24
24
  SKIP_IN_PATH,
25
25
  Stability,
26
+ _availability_warning,
26
27
  _quote,
27
28
  _rewrite_parameters,
28
- _stability_warning,
29
29
  )
30
30
 
31
31
 
32
32
  class SearchApplicationClient(NamespacedClient):
33
33
 
34
34
  @_rewrite_parameters()
35
- @_stability_warning(Stability.BETA)
35
+ @_availability_warning(Stability.BETA)
36
36
  def delete(
37
37
  self,
38
38
  *,
@@ -77,7 +77,7 @@ class SearchApplicationClient(NamespacedClient):
77
77
  )
78
78
 
79
79
  @_rewrite_parameters()
80
- @_stability_warning(Stability.EXPERIMENTAL)
80
+ @_availability_warning(Stability.EXPERIMENTAL)
81
81
  def delete_behavioral_analytics(
82
82
  self,
83
83
  *,
@@ -90,8 +90,8 @@ class SearchApplicationClient(NamespacedClient):
90
90
  """
91
91
  .. raw:: html
92
92
 
93
- <p>Delete a behavioral analytics collection.
94
- The associated data stream is also deleted.</p>
93
+ <p>Delete a behavioral analytics collection.</p>
94
+ <p>The associated data stream is also deleted.</p>
95
95
 
96
96
 
97
97
  `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-search-application-delete-behavioral-analytics>`_
@@ -122,7 +122,7 @@ class SearchApplicationClient(NamespacedClient):
122
122
  )
123
123
 
124
124
  @_rewrite_parameters()
125
- @_stability_warning(Stability.BETA)
125
+ @_availability_warning(Stability.BETA)
126
126
  def get(
127
127
  self,
128
128
  *,
@@ -166,7 +166,7 @@ class SearchApplicationClient(NamespacedClient):
166
166
  )
167
167
 
168
168
  @_rewrite_parameters()
169
- @_stability_warning(Stability.EXPERIMENTAL)
169
+ @_availability_warning(Stability.EXPERIMENTAL)
170
170
  def get_behavioral_analytics(
171
171
  self,
172
172
  *,
@@ -215,7 +215,7 @@ class SearchApplicationClient(NamespacedClient):
215
215
  @_rewrite_parameters(
216
216
  parameter_aliases={"from": "from_"},
217
217
  )
218
- @_stability_warning(Stability.BETA)
218
+ @_availability_warning(Stability.BETA)
219
219
  def list(
220
220
  self,
221
221
  *,
@@ -230,8 +230,8 @@ class SearchApplicationClient(NamespacedClient):
230
230
  """
231
231
  .. raw:: html
232
232
 
233
- <p>Get search applications.
234
- Get information about search applications.</p>
233
+ <p>Get search applications.</p>
234
+ <p>Get information about search applications.</p>
235
235
 
236
236
 
237
237
  `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-search-application-get-behavioral-analytics>`_
@@ -270,7 +270,7 @@ class SearchApplicationClient(NamespacedClient):
270
270
  @_rewrite_parameters(
271
271
  body_name="payload",
272
272
  )
273
- @_stability_warning(Stability.EXPERIMENTAL)
273
+ @_availability_warning(Stability.EXPERIMENTAL)
274
274
  def post_behavioral_analytics_event(
275
275
  self,
276
276
  *,
@@ -338,7 +338,7 @@ class SearchApplicationClient(NamespacedClient):
338
338
  @_rewrite_parameters(
339
339
  body_name="search_application",
340
340
  )
341
- @_stability_warning(Stability.BETA)
341
+ @_availability_warning(Stability.BETA)
342
342
  def put(
343
343
  self,
344
344
  *,
@@ -398,7 +398,7 @@ class SearchApplicationClient(NamespacedClient):
398
398
  )
399
399
 
400
400
  @_rewrite_parameters()
401
- @_stability_warning(Stability.EXPERIMENTAL)
401
+ @_availability_warning(Stability.EXPERIMENTAL)
402
402
  def put_behavioral_analytics(
403
403
  self,
404
404
  *,
@@ -445,7 +445,7 @@ class SearchApplicationClient(NamespacedClient):
445
445
  body_fields=("params",),
446
446
  ignore_deprecated_options={"params"},
447
447
  )
448
- @_stability_warning(Stability.EXPERIMENTAL)
448
+ @_availability_warning(Stability.EXPERIMENTAL)
449
449
  def render_query(
450
450
  self,
451
451
  *,
@@ -460,8 +460,8 @@ class SearchApplicationClient(NamespacedClient):
460
460
  """
461
461
  .. raw:: html
462
462
 
463
- <p>Render a search application query.
464
- Generate an Elasticsearch query using the specified query parameters and the search template associated with the search application or a default template if none is specified.
463
+ <p>Render a search application query.</p>
464
+ <p>Generate an Elasticsearch query using the specified query parameters and the search template associated with the search application or a default template if none is specified.
465
465
  If a parameter used in the search template is not specified in <code>params</code>, the parameter's default value will be used.
466
466
  The API returns the specific Elasticsearch query that would be generated and run by calling the search application search API.</p>
467
467
  <p>You must have <code>read</code> privileges on the backing alias of the search application.</p>
@@ -510,7 +510,7 @@ class SearchApplicationClient(NamespacedClient):
510
510
  body_fields=("params",),
511
511
  ignore_deprecated_options={"params"},
512
512
  )
513
- @_stability_warning(Stability.BETA)
513
+ @_availability_warning(Stability.BETA)
514
514
  def search(
515
515
  self,
516
516
  *,
@@ -526,8 +526,8 @@ class SearchApplicationClient(NamespacedClient):
526
526
  """
527
527
  .. raw:: html
528
528
 
529
- <p>Run a search application search.
530
- Generate and run an Elasticsearch query that uses the specified query parameteter and the search template associated with the search application or default template.
529
+ <p>Run a search application search.</p>
530
+ <p>Generate and run an Elasticsearch query that uses the specified query parameteter and the search template associated with the search application or default template.
531
531
  Unspecified template parameters are assigned their default values if applicable.</p>
532
532
 
533
533
 
@@ -23,16 +23,16 @@ from ._base import NamespacedClient
23
23
  from .utils import (
24
24
  SKIP_IN_PATH,
25
25
  Stability,
26
+ _availability_warning,
26
27
  _quote,
27
28
  _rewrite_parameters,
28
- _stability_warning,
29
29
  )
30
30
 
31
31
 
32
32
  class SearchableSnapshotsClient(NamespacedClient):
33
33
 
34
34
  @_rewrite_parameters()
35
- @_stability_warning(Stability.EXPERIMENTAL)
35
+ @_availability_warning(Stability.EXPERIMENTAL)
36
36
  def cache_stats(
37
37
  self,
38
38
  *,
@@ -46,8 +46,8 @@ class SearchableSnapshotsClient(NamespacedClient):
46
46
  """
47
47
  .. raw:: html
48
48
 
49
- <p>Get cache statistics.
50
- Get statistics about the shared cache for partially mounted indices.</p>
49
+ <p>Get cache statistics.</p>
50
+ <p>Get statistics about the shared cache for partially mounted indices.</p>
51
51
 
52
52
 
53
53
  `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-searchable-snapshots-cache-stats>`_
@@ -84,7 +84,7 @@ class SearchableSnapshotsClient(NamespacedClient):
84
84
  )
85
85
 
86
86
  @_rewrite_parameters()
87
- @_stability_warning(Stability.EXPERIMENTAL)
87
+ @_availability_warning(Stability.EXPERIMENTAL)
88
88
  def clear_cache(
89
89
  self,
90
90
  *,
@@ -107,8 +107,8 @@ class SearchableSnapshotsClient(NamespacedClient):
107
107
  """
108
108
  .. raw:: html
109
109
 
110
- <p>Clear the cache.
111
- Clear indices and data streams from the shared cache for partially mounted indices.</p>
110
+ <p>Clear the cache.</p>
111
+ <p>Clear indices and data streams from the shared cache for partially mounted indices.</p>
112
112
 
113
113
 
114
114
  `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-searchable-snapshots-clear-cache>`_
@@ -119,7 +119,7 @@ class SearchableSnapshotsClient(NamespacedClient):
119
119
  into no concrete indices. (This includes `_all` string or when no indices
120
120
  have been specified)
121
121
  :param expand_wildcards: Whether to expand wildcard expression to concrete indices
122
- that are open, closed or both.
122
+ that are open, closed or both
123
123
  :param ignore_unavailable: Whether specified concrete indices should be ignored
124
124
  when unavailable (missing or closed)
125
125
  """
@@ -184,8 +184,8 @@ class SearchableSnapshotsClient(NamespacedClient):
184
184
  """
185
185
  .. raw:: html
186
186
 
187
- <p>Mount a snapshot.
188
- Mount a snapshot as a searchable snapshot index.
187
+ <p>Mount a snapshot.</p>
188
+ <p>Mount a snapshot as a searchable snapshot index.
189
189
  Do not use this API for snapshots managed by index lifecycle management (ILM).
190
190
  Manually mounting ILM-managed snapshots can interfere with ILM processes.</p>
191
191
 
@@ -288,8 +288,8 @@ class SecurityClient(NamespacedClient):
288
288
  """
289
289
  .. raw:: html
290
290
 
291
- <p>Bulk update API keys.
292
- Update the attributes for multiple API keys.</p>
291
+ <p>Bulk update API keys.</p>
292
+ <p>Update the attributes for multiple API keys.</p>
293
293
  <p>IMPORTANT: It is not possible to use an API key as the authentication credential for this API. To update API keys, the owner user's credentials are required.</p>
294
294
  <p>This API is similar to the update API key API but enables you to apply the same update to multiple API keys in one API call. This operation can greatly improve performance over making individual updates.</p>
295
295
  <p>It is not possible to update expired or invalidated API keys.</p>
@@ -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=("access", "name", "expiration", "metadata"),
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:
@@ -892,8 +905,8 @@ class SecurityClient(NamespacedClient):
892
905
  Token names must be unique in the context of the associated service account.
893
906
  They must also be globally unique with their fully qualified names, which
894
907
  are comprised of the service account principal and token name, such as `<namespace>/<service>/<token-name>`.
895
- :param refresh: If `true` then refresh the affected shards to make this operation
896
- visible to search, if `wait_for` (the default) then wait for a refresh to
908
+ :param refresh: If `true` (the default) then refresh the affected shards to make
909
+ this operation visible to search, if `wait_for` then wait for a refresh to
897
910
  make this operation visible to search, if `false` then do nothing with refreshes.
898
911
  """
899
912
  if namespace in SKIP_IN_PATH:
@@ -1208,8 +1221,8 @@ class SecurityClient(NamespacedClient):
1208
1221
  :param namespace: The namespace, which is a top-level grouping of service accounts.
1209
1222
  :param service: The service name.
1210
1223
  :param name: The name of the service account token.
1211
- :param refresh: If `true` then refresh the affected shards to make this operation
1212
- visible to search, if `wait_for` (the default) then wait for a refresh to
1224
+ :param refresh: If `true` (the default) then refresh the affected shards to make
1225
+ this operation visible to search, if `wait_for` then wait for a refresh to
1213
1226
  make this operation visible to search, if `false` then do nothing with refreshes.
1214
1227
  """
1215
1228
  if namespace in SKIP_IN_PATH:
@@ -3750,7 +3763,8 @@ class SecurityClient(NamespacedClient):
3750
3763
  :param size: The number of hits to return. It must not be negative. By default,
3751
3764
  you cannot page through more than 10,000 hits using the `from` and `size`
3752
3765
  parameters. To page through more hits, use the `search_after` parameter.
3753
- :param sort: The sort definition. You can sort on `username`, `roles`, or `enabled`.
3766
+ :param sort: The sort definition. You can sort on `name`, `description`, `metadata`,
3767
+ `applications.application`, `applications.privileges`, and `applications.resources`.
3754
3768
  In addition, sort can also be applied to the `_doc` field to sort by index
3755
3769
  order.
3756
3770
  """
@@ -4473,13 +4487,14 @@ class SecurityClient(NamespacedClient):
4473
4487
  )
4474
4488
 
4475
4489
  @_rewrite_parameters(
4476
- body_fields=("access", "expiration", "metadata"),
4490
+ body_fields=("access", "certificate_identity", "expiration", "metadata"),
4477
4491
  )
4478
4492
  def update_cross_cluster_api_key(
4479
4493
  self,
4480
4494
  *,
4481
4495
  id: str,
4482
4496
  access: t.Optional[t.Mapping[str, t.Any]] = None,
4497
+ certificate_identity: t.Optional[str] = None,
4483
4498
  error_trace: t.Optional[bool] = None,
4484
4499
  expiration: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
4485
4500
  filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
@@ -4512,6 +4527,13 @@ class SecurityClient(NamespacedClient):
4512
4527
  of permissions for cross cluster search and cross cluster replication. At
4513
4528
  least one of them must be specified. When specified, the new access assignment
4514
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.
4515
4537
  :param expiration: The expiration time for the API key. By default, API keys
4516
4538
  never expire. This property can be omitted to leave the value unchanged.
4517
4539
  :param metadata: Arbitrary metadata that you want to associate with the API key.
@@ -4538,6 +4560,8 @@ class SecurityClient(NamespacedClient):
4538
4560
  if not __body:
4539
4561
  if access is not None:
4540
4562
  __body["access"] = access
4563
+ if certificate_identity is not None:
4564
+ __body["certificate_identity"] = certificate_identity
4541
4565
  if expiration is not None:
4542
4566
  __body["expiration"] = expiration
4543
4567
  if metadata is not None:
@@ -20,12 +20,20 @@ import typing as t
20
20
  from elastic_transport import ObjectApiResponse
21
21
 
22
22
  from ._base import NamespacedClient
23
- from .utils import SKIP_IN_PATH, _quote, _rewrite_parameters
23
+ from .utils import (
24
+ SKIP_IN_PATH,
25
+ Stability,
26
+ Visibility,
27
+ _availability_warning,
28
+ _quote,
29
+ _rewrite_parameters,
30
+ )
24
31
 
25
32
 
26
33
  class ShutdownClient(NamespacedClient):
27
34
 
28
35
  @_rewrite_parameters()
36
+ @_availability_warning(Stability.STABLE, Visibility.PRIVATE)
29
37
  def delete_node(
30
38
  self,
31
39
  *,
@@ -40,8 +48,8 @@ class ShutdownClient(NamespacedClient):
40
48
  """
41
49
  .. raw:: html
42
50
 
43
- <p>Cancel node shutdown preparations.
44
- Remove a node from the shutdown list so it can resume normal operations.
51
+ <p>Cancel node shutdown preparations.</p>
52
+ <p>Remove a node from the shutdown list so it can resume normal operations.
45
53
  You must explicitly clear the shutdown request when a node rejoins the cluster or when a node has permanently left the cluster.
46
54
  Shutdown requests are never removed automatically by Elasticsearch.</p>
47
55
  <p>NOTE: This feature is designed for indirect use by Elastic Cloud, Elastic Cloud Enterprise, and Elastic Cloud on Kubernetes.
@@ -86,6 +94,7 @@ class ShutdownClient(NamespacedClient):
86
94
  )
87
95
 
88
96
  @_rewrite_parameters()
97
+ @_availability_warning(Stability.STABLE, Visibility.PRIVATE)
89
98
  def get_node(
90
99
  self,
91
100
  *,
@@ -108,7 +117,8 @@ class ShutdownClient(NamespacedClient):
108
117
 
109
118
  `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-shutdown-get-node>`_
110
119
 
111
- :param node_id: Which node for which to retrieve the shutdown status
120
+ :param node_id: Comma-separated list of nodes for which to retrieve the shutdown
121
+ status
112
122
  :param master_timeout: Period to wait for a connection to the master node. If
113
123
  no response is received before the timeout expires, the request fails and
114
124
  returns an error.
@@ -144,6 +154,7 @@ class ShutdownClient(NamespacedClient):
144
154
  @_rewrite_parameters(
145
155
  body_fields=("reason", "type", "allocation_delay", "target_node_name"),
146
156
  )
157
+ @_availability_warning(Stability.STABLE, Visibility.PRIVATE)
147
158
  def put_node(
148
159
  self,
149
160
  *,
@@ -23,9 +23,9 @@ from ._base import NamespacedClient
23
23
  from .utils import (
24
24
  SKIP_IN_PATH,
25
25
  Stability,
26
+ _availability_warning,
26
27
  _quote,
27
28
  _rewrite_parameters,
28
- _stability_warning,
29
29
  )
30
30
 
31
31
 
@@ -40,7 +40,7 @@ class SimulateClient(NamespacedClient):
40
40
  "pipeline_substitutions",
41
41
  ),
42
42
  )
43
- @_stability_warning(Stability.EXPERIMENTAL)
43
+ @_availability_warning(Stability.EXPERIMENTAL)
44
44
  def ingest(
45
45
  self,
46
46
  *,
@@ -67,8 +67,8 @@ class SimulateClient(NamespacedClient):
67
67
  """
68
68
  .. raw:: html
69
69
 
70
- <p>Simulate data ingestion.
71
- Run ingest pipelines against a set of provided documents, optionally with substitute pipeline definitions, to simulate ingesting data into an index.</p>
70
+ <p>Simulate data ingestion.</p>
71
+ <p>Run ingest pipelines against a set of provided documents, optionally with substitute pipeline definitions, to simulate ingesting data into an index.</p>
72
72
  <p>This API is meant to be used for troubleshooting or pipeline development, as it does not actually index any data into Elasticsearch.</p>
73
73
  <p>The API runs the default and final pipeline for that index against a set of documents provided in the body of the request.
74
74
  If a pipeline contains a reroute processor, it follows that reroute processor to the new index, running that index's pipelines as well the same way that a non-simulated ingest would.