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
@@ -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
  async 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
  async 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
  async 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
  async 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
  async 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
  async 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
  async 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
  async 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
  async 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
  async 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
  async 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
  async 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
  async 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
  async 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
  async 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
  async 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
  async 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
  async 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
  async 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.
@@ -40,8 +40,8 @@ class SlmClient(NamespacedClient):
40
40
  """
41
41
  .. raw:: html
42
42
 
43
- <p>Delete a policy.
44
- Delete a snapshot lifecycle policy definition.
43
+ <p>Delete a policy.</p>
44
+ <p>Delete a snapshot lifecycle policy definition.
45
45
  This operation prevents any future snapshots from being taken but does not cancel in-progress snapshots or remove previously-taken snapshots.</p>
46
46
 
47
47
 
@@ -96,8 +96,8 @@ class SlmClient(NamespacedClient):
96
96
  """
97
97
  .. raw:: html
98
98
 
99
- <p>Run a policy.
100
- Immediately create a snapshot according to the snapshot lifecycle policy without waiting for the scheduled time.
99
+ <p>Run a policy.</p>
100
+ <p>Immediately create a snapshot according to the snapshot lifecycle policy without waiting for the scheduled time.
101
101
  The snapshot policy is normally applied according to its schedule, but you might want to manually run a policy before performing an upgrade or other maintenance.</p>
102
102
 
103
103
 
@@ -151,8 +151,8 @@ class SlmClient(NamespacedClient):
151
151
  """
152
152
  .. raw:: html
153
153
 
154
- <p>Run a retention policy.
155
- Manually apply the retention policy to force immediate removal of snapshots that are expired according to the snapshot lifecycle policy retention rules.
154
+ <p>Run a retention policy.</p>
155
+ <p>Manually apply the retention policy to force immediate removal of snapshots that are expired according to the snapshot lifecycle policy retention rules.
156
156
  The retention policy is normally applied according to its schedule.</p>
157
157
 
158
158
 
@@ -204,13 +204,13 @@ class SlmClient(NamespacedClient):
204
204
  """
205
205
  .. raw:: html
206
206
 
207
- <p>Get policy information.
208
- Get snapshot lifecycle policy definitions and information about the latest snapshot attempts.</p>
207
+ <p>Get policy information.</p>
208
+ <p>Get snapshot lifecycle policy definitions and information about the latest snapshot attempts.</p>
209
209
 
210
210
 
211
211
  `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-slm-get-lifecycle>`_
212
212
 
213
- :param policy_id: Comma-separated list of snapshot lifecycle policies to retrieve
213
+ :param policy_id: A comma-separated list of snapshot lifecycle policy identifiers.
214
214
  :param master_timeout: The period to wait for a connection to the master node.
215
215
  If no response is received before the timeout expires, the request fails
216
216
  and returns an error.
@@ -261,8 +261,8 @@ class SlmClient(NamespacedClient):
261
261
  """
262
262
  .. raw:: html
263
263
 
264
- <p>Get snapshot lifecycle management statistics.
265
- Get global and policy-level statistics about actions taken by snapshot lifecycle management.</p>
264
+ <p>Get snapshot lifecycle management statistics.</p>
265
+ <p>Get global and policy-level statistics about actions taken by snapshot lifecycle management.</p>
266
266
 
267
267
 
268
268
  `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-slm-get-stats>`_
@@ -373,8 +373,8 @@ class SlmClient(NamespacedClient):
373
373
  """
374
374
  .. raw:: html
375
375
 
376
- <p>Create or update a policy.
377
- Create or update a snapshot lifecycle policy.
376
+ <p>Create or update a policy.</p>
377
+ <p>Create or update a snapshot lifecycle policy.
378
378
  If the policy already exists, this request increments the policy version.
379
379
  Only the latest version of a policy is stored.</p>
380
380
 
@@ -456,8 +456,8 @@ class SlmClient(NamespacedClient):
456
456
  """
457
457
  .. raw:: html
458
458
 
459
- <p>Start snapshot lifecycle management.
460
- Snapshot lifecycle management (SLM) starts automatically when a cluster is formed.
459
+ <p>Start snapshot lifecycle management.</p>
460
+ <p>Snapshot lifecycle management (SLM) starts automatically when a cluster is formed.
461
461
  Manually starting SLM is necessary only if it has been stopped using the stop SLM API.</p>
462
462
 
463
463
 
@@ -510,8 +510,8 @@ class SlmClient(NamespacedClient):
510
510
  """
511
511
  .. raw:: html
512
512
 
513
- <p>Stop snapshot lifecycle management.
514
- Stop all snapshot lifecycle management (SLM) operations and the SLM plugin.
513
+ <p>Stop snapshot lifecycle management.</p>
514
+ <p>Stop all snapshot lifecycle management (SLM) operations and the SLM plugin.
515
515
  This API is useful when you are performing maintenance on a cluster and need to prevent SLM from performing any actions on your data streams or indices.
516
516
  Stopping SLM does not stop any snapshots that are in progress.
517
517
  You can manually trigger snapshots with the run snapshot lifecycle policy API even if SLM is stopped.</p>
@@ -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
 
@@ -46,8 +46,8 @@ class SnapshotClient(NamespacedClient):
46
46
  """
47
47
  .. raw:: html
48
48
 
49
- <p>Clean up the snapshot repository.
50
- Trigger the review of the contents of a snapshot repository and delete any stale data not referenced by existing snapshots.</p>
49
+ <p>Clean up the snapshot repository.</p>
50
+ <p>Trigger the review of the contents of a snapshot repository and delete any stale data not referenced by existing snapshots.</p>
51
51
 
52
52
 
53
53
  `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-cleanup-repository>`_
@@ -110,8 +110,8 @@ class SnapshotClient(NamespacedClient):
110
110
  """
111
111
  .. raw:: html
112
112
 
113
- <p>Clone a snapshot.
114
- Clone part of all of a snapshot into another snapshot in the same repository.</p>
113
+ <p>Clone a snapshot.</p>
114
+ <p>Clone part of all of a snapshot into another snapshot in the same repository.</p>
115
115
 
116
116
 
117
117
  `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-clone>`_
@@ -207,8 +207,8 @@ class SnapshotClient(NamespacedClient):
207
207
  """
208
208
  .. raw:: html
209
209
 
210
- <p>Create a snapshot.
211
- Take a snapshot of a cluster or of data streams and indices.</p>
210
+ <p>Create a snapshot.</p>
211
+ <p>Take a snapshot of a cluster or of data streams and indices.</p>
212
212
 
213
213
 
214
214
  `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-create>`_
@@ -330,8 +330,8 @@ class SnapshotClient(NamespacedClient):
330
330
  """
331
331
  .. raw:: html
332
332
 
333
- <p>Create or update a snapshot repository.
334
- IMPORTANT: If you are migrating searchable snapshots, the repository name must be identical in the source and destination clusters.
333
+ <p>Create or update a snapshot repository.</p>
334
+ <p>IMPORTANT: If you are migrating searchable snapshots, the repository name must be identical in the source and destination clusters.
335
335
  To register a snapshot repository, the cluster's global metadata must be writeable.
336
336
  Ensure there are no cluster blocks (for example, <code>cluster.blocks.read_only</code> and <code>clsuter.blocks.read_only_allow_delete</code> settings) that prevent write access.</p>
337
337
  <p>Several options for this API can be specified using a query parameter or a request body parameter.
@@ -397,7 +397,7 @@ class SnapshotClient(NamespacedClient):
397
397
  self,
398
398
  *,
399
399
  repository: str,
400
- snapshot: str,
400
+ snapshot: t.Union[str, t.Sequence[str]],
401
401
  error_trace: t.Optional[bool] = None,
402
402
  filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
403
403
  human: t.Optional[bool] = None,
@@ -470,8 +470,8 @@ class SnapshotClient(NamespacedClient):
470
470
  """
471
471
  .. raw:: html
472
472
 
473
- <p>Delete snapshot repositories.
474
- When a repository is unregistered, Elasticsearch removes only the reference to the location where the repository is storing the snapshots.
473
+ <p>Delete snapshot repositories.</p>
474
+ <p>When a repository is unregistered, Elasticsearch removes only the reference to the location where the repository is storing the snapshots.
475
475
  The snapshots themselves are left untouched and in place.</p>
476
476
 
477
477
 
@@ -955,7 +955,7 @@ class SnapshotClient(NamespacedClient):
955
955
  )
956
956
 
957
957
  @_rewrite_parameters()
958
- @_stability_warning(Stability.EXPERIMENTAL)
958
+ @_availability_warning(Stability.EXPERIMENTAL)
959
959
  async def repository_verify_integrity(
960
960
  self,
961
961
  *,
@@ -976,8 +976,8 @@ class SnapshotClient(NamespacedClient):
976
976
  """
977
977
  .. raw:: html
978
978
 
979
- <p>Verify the repository integrity.
980
- Verify the integrity of the contents of a snapshot repository.</p>
979
+ <p>Verify the repository integrity.</p>
980
+ <p>Verify the integrity of the contents of a snapshot repository.</p>
981
981
  <p>This API enables you to perform a comprehensive check of the contents of a repository, looking for any anomalies in its data or metadata which might prevent you from restoring snapshots from the repository or which might cause future snapshot create or delete operations to fail.</p>
982
982
  <p>If you suspect the integrity of the contents of one of your snapshot repositories, cease all write activity to this repository immediately, set its <code>read_only</code> option to <code>true</code>, and use this API to verify its integrity.
983
983
  Until you do so:</p>
@@ -1115,8 +1115,8 @@ class SnapshotClient(NamespacedClient):
1115
1115
  """
1116
1116
  .. raw:: html
1117
1117
 
1118
- <p>Restore a snapshot.
1119
- Restore a snapshot of a cluster or data streams and indices.</p>
1118
+ <p>Restore a snapshot.</p>
1119
+ <p>Restore a snapshot of a cluster or data streams and indices.</p>
1120
1120
  <p>You can restore a snapshot only to a running cluster with an elected master node.
1121
1121
  The snapshot repository must be registered and available to the cluster.
1122
1122
  The snapshot and cluster versions must be compatible.</p>
@@ -1264,8 +1264,8 @@ class SnapshotClient(NamespacedClient):
1264
1264
  """
1265
1265
  .. raw:: html
1266
1266
 
1267
- <p>Get the snapshot status.
1268
- Get a detailed description of the current state for each shard participating in the snapshot.</p>
1267
+ <p>Get the snapshot status.</p>
1268
+ <p>Get a detailed description of the current state for each shard participating in the snapshot.</p>
1269
1269
  <p>Note that this API should be used only to obtain detailed shard-level information for ongoing snapshots.
1270
1270
  If this detail is not needed or you want to obtain information about one or more existing snapshots, use the get snapshot API.</p>
1271
1271
  <p>If you omit the <code>&lt;snapshot&gt;</code> request path parameter, the request retrieves information only for currently running snapshots.
@@ -1347,8 +1347,8 @@ class SnapshotClient(NamespacedClient):
1347
1347
  """
1348
1348
  .. raw:: html
1349
1349
 
1350
- <p>Verify a snapshot repository.
1351
- Check for common misconfigurations in a snapshot repository.</p>
1350
+ <p>Verify a snapshot repository.</p>
1351
+ <p>Check for common misconfigurations in a snapshot repository.</p>
1352
1352
 
1353
1353
 
1354
1354
  `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-verify-repository>`_