elasticsearch 8.17.1__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 +1971 -779
  3. elasticsearch/_async/client/async_search.py +33 -22
  4. elasticsearch/_async/client/autoscaling.py +27 -21
  5. elasticsearch/_async/client/cat.py +216 -141
  6. elasticsearch/_async/client/ccr.py +96 -70
  7. elasticsearch/_async/client/cluster.py +150 -142
  8. elasticsearch/_async/client/connector.py +182 -86
  9. elasticsearch/_async/client/dangling_indices.py +19 -13
  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 +85 -55
  17. elasticsearch/_async/client/indices.py +692 -549
  18. elasticsearch/_async/client/inference.py +32 -28
  19. elasticsearch/_async/client/ingest.py +61 -22
  20. elasticsearch/_async/client/license.py +48 -31
  21. elasticsearch/_async/client/logstash.py +17 -6
  22. elasticsearch/_async/client/migration.py +23 -14
  23. elasticsearch/_async/client/ml.py +532 -284
  24. elasticsearch/_async/client/monitoring.py +5 -2
  25. elasticsearch/_async/client/nodes.py +43 -27
  26. elasticsearch/_async/client/query_rules.py +51 -25
  27. elasticsearch/_async/client/rollup.py +111 -73
  28. elasticsearch/_async/client/search_application.py +49 -21
  29. elasticsearch/_async/client/searchable_snapshots.py +21 -8
  30. elasticsearch/_async/client/security.py +810 -472
  31. elasticsearch/_async/client/shutdown.py +31 -26
  32. elasticsearch/_async/client/simulate.py +16 -22
  33. elasticsearch/_async/client/slm.py +55 -30
  34. elasticsearch/_async/client/snapshot.py +173 -192
  35. elasticsearch/_async/client/sql.py +37 -16
  36. elasticsearch/_async/client/ssl.py +16 -17
  37. elasticsearch/_async/client/synonyms.py +50 -29
  38. elasticsearch/_async/client/tasks.py +74 -39
  39. elasticsearch/_async/client/text_structure.py +61 -52
  40. elasticsearch/_async/client/transform.py +108 -79
  41. elasticsearch/_async/client/watcher.py +93 -57
  42. elasticsearch/_async/client/xpack.py +16 -7
  43. elasticsearch/_async/helpers.py +1 -1
  44. elasticsearch/_sync/client/__init__.py +1971 -779
  45. elasticsearch/_sync/client/async_search.py +33 -22
  46. elasticsearch/_sync/client/autoscaling.py +27 -21
  47. elasticsearch/_sync/client/cat.py +216 -141
  48. elasticsearch/_sync/client/ccr.py +96 -70
  49. elasticsearch/_sync/client/cluster.py +150 -142
  50. elasticsearch/_sync/client/connector.py +182 -86
  51. elasticsearch/_sync/client/dangling_indices.py +19 -13
  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 +85 -55
  59. elasticsearch/_sync/client/indices.py +692 -549
  60. elasticsearch/_sync/client/inference.py +32 -28
  61. elasticsearch/_sync/client/ingest.py +61 -22
  62. elasticsearch/_sync/client/license.py +48 -31
  63. elasticsearch/_sync/client/logstash.py +17 -6
  64. elasticsearch/_sync/client/migration.py +23 -14
  65. elasticsearch/_sync/client/ml.py +532 -284
  66. elasticsearch/_sync/client/monitoring.py +5 -2
  67. elasticsearch/_sync/client/nodes.py +43 -27
  68. elasticsearch/_sync/client/query_rules.py +51 -25
  69. elasticsearch/_sync/client/rollup.py +111 -73
  70. elasticsearch/_sync/client/search_application.py +49 -21
  71. elasticsearch/_sync/client/searchable_snapshots.py +21 -8
  72. elasticsearch/_sync/client/security.py +810 -472
  73. elasticsearch/_sync/client/shutdown.py +31 -26
  74. elasticsearch/_sync/client/simulate.py +16 -22
  75. elasticsearch/_sync/client/slm.py +55 -30
  76. elasticsearch/_sync/client/snapshot.py +173 -192
  77. elasticsearch/_sync/client/sql.py +37 -16
  78. elasticsearch/_sync/client/ssl.py +16 -17
  79. elasticsearch/_sync/client/synonyms.py +50 -29
  80. elasticsearch/_sync/client/tasks.py +74 -39
  81. elasticsearch/_sync/client/text_structure.py +61 -52
  82. elasticsearch/_sync/client/transform.py +108 -79
  83. elasticsearch/_sync/client/utils.py +1 -1
  84. elasticsearch/_sync/client/watcher.py +93 -57
  85. elasticsearch/_sync/client/xpack.py +16 -7
  86. elasticsearch/_version.py +1 -1
  87. elasticsearch/client.py +2 -0
  88. elasticsearch/helpers/actions.py +1 -1
  89. elasticsearch/helpers/vectorstore/_sync/vectorstore.py +4 -1
  90. {elasticsearch-8.17.1.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.1.dist-info/RECORD +0 -119
  93. {elasticsearch-8.17.1.dist-info → elasticsearch-8.17.2.dist-info}/WHEEL +0 -0
  94. {elasticsearch-8.17.1.dist-info → elasticsearch-8.17.2.dist-info}/licenses/LICENSE +0 -0
  95. {elasticsearch-8.17.1.dist-info → elasticsearch-8.17.2.dist-info}/licenses/NOTICE +0 -0
@@ -44,8 +44,11 @@ class SnapshotClient(NamespacedClient):
44
44
  timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
45
45
  ) -> ObjectApiResponse[t.Any]:
46
46
  """
47
- Clean up the snapshot repository. Trigger the review of the contents of a snapshot
48
- repository and delete any stale data not referenced by existing snapshots.
47
+ .. raw:: html
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>
51
+
49
52
 
50
53
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/clean-up-snapshot-repo-api.html>`_
51
54
 
@@ -99,8 +102,11 @@ class SnapshotClient(NamespacedClient):
99
102
  body: t.Optional[t.Dict[str, t.Any]] = None,
100
103
  ) -> ObjectApiResponse[t.Any]:
101
104
  """
102
- Clone a snapshot. Clone part of all of a snapshot into another snapshot in the
103
- same repository.
105
+ .. raw:: html
106
+
107
+ <p>Clone a snapshot.
108
+ Clone part of all of a snapshot into another snapshot in the same repository.</p>
109
+
104
110
 
105
111
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/clone-snapshot-api.html>`_
106
112
 
@@ -183,7 +189,11 @@ class SnapshotClient(NamespacedClient):
183
189
  body: t.Optional[t.Dict[str, t.Any]] = None,
184
190
  ) -> ObjectApiResponse[t.Any]:
185
191
  """
186
- Create a snapshot. Take a snapshot of a cluster or of data streams and indices.
192
+ .. raw:: html
193
+
194
+ <p>Create a snapshot.
195
+ Take a snapshot of a cluster or of data streams and indices.</p>
196
+
187
197
 
188
198
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/create-snapshot-api.html>`_
189
199
 
@@ -287,11 +297,13 @@ class SnapshotClient(NamespacedClient):
287
297
  verify: t.Optional[bool] = None,
288
298
  ) -> ObjectApiResponse[t.Any]:
289
299
  """
290
- Create or update a snapshot repository. IMPORTANT: If you are migrating searchable
291
- snapshots, the repository name must be identical in the source and destination
292
- clusters. To register a snapshot repository, the cluster's global metadata must
293
- be writeable. Ensure there are no cluster blocks (for example, `cluster.blocks.read_only`
294
- and `clsuter.blocks.read_only_allow_delete` settings) that prevent write access.
300
+ .. raw:: html
301
+
302
+ <p>Create or update a snapshot repository.
303
+ IMPORTANT: If you are migrating searchable snapshots, the repository name must be identical in the source and destination clusters.
304
+ To register a snapshot repository, the cluster's global metadata must be writeable.
305
+ 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>
306
+
295
307
 
296
308
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/modules-snapshots.html>`_
297
309
 
@@ -351,7 +363,10 @@ class SnapshotClient(NamespacedClient):
351
363
  pretty: t.Optional[bool] = None,
352
364
  ) -> ObjectApiResponse[t.Any]:
353
365
  """
354
- Delete snapshots.
366
+ .. raw:: html
367
+
368
+ <p>Delete snapshots.</p>
369
+
355
370
 
356
371
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/delete-snapshot-api.html>`_
357
372
 
@@ -402,9 +417,12 @@ class SnapshotClient(NamespacedClient):
402
417
  timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
403
418
  ) -> ObjectApiResponse[t.Any]:
404
419
  """
405
- Delete snapshot repositories. When a repository is unregistered, Elasticsearch
406
- removes only the reference to the location where the repository is storing the
407
- snapshots. The snapshots themselves are left untouched and in place.
420
+ .. raw:: html
421
+
422
+ <p>Delete snapshot repositories.
423
+ When a repository is unregistered, Elasticsearch removes only the reference to the location where the repository is storing the snapshots.
424
+ The snapshots themselves are left untouched and in place.</p>
425
+
408
426
 
409
427
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/delete-snapshot-repo-api.html>`_
410
428
 
@@ -478,7 +496,10 @@ class SnapshotClient(NamespacedClient):
478
496
  verbose: t.Optional[bool] = None,
479
497
  ) -> ObjectApiResponse[t.Any]:
480
498
  """
481
- Get snapshot information.
499
+ .. raw:: html
500
+
501
+ <p>Get snapshot information.</p>
502
+
482
503
 
483
504
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/get-snapshot-api.html>`_
484
505
 
@@ -590,7 +611,10 @@ class SnapshotClient(NamespacedClient):
590
611
  pretty: t.Optional[bool] = None,
591
612
  ) -> ObjectApiResponse[t.Any]:
592
613
  """
593
- Get snapshot repository information.
614
+ .. raw:: html
615
+
616
+ <p>Get snapshot repository information.</p>
617
+
594
618
 
595
619
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/get-snapshot-repo-api.html>`_
596
620
 
@@ -652,120 +676,83 @@ class SnapshotClient(NamespacedClient):
652
676
  timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
653
677
  ) -> ObjectApiResponse[t.Any]:
654
678
  """
655
- Analyze a snapshot repository. Analyze the performance characteristics and any
656
- incorrect behaviour found in a repository. The response exposes implementation
657
- details of the analysis which may change from version to version. The response
658
- body format is therefore not considered stable and may be different in newer
659
- versions. There are a large number of third-party storage systems available,
660
- not all of which are suitable for use as a snapshot repository by Elasticsearch.
661
- Some storage systems behave incorrectly, or perform poorly, especially when accessed
662
- concurrently by multiple clients as the nodes of an Elasticsearch cluster do.
663
- This API performs a collection of read and write operations on your repository
664
- which are designed to detect incorrect behaviour and to measure the performance
665
- characteristics of your storage system. The default values for the parameters
666
- are deliberately low to reduce the impact of running an analysis inadvertently
667
- and to provide a sensible starting point for your investigations. Run your first
668
- analysis with the default parameter values to check for simple problems. If successful,
669
- run a sequence of increasingly large analyses until you encounter a failure or
670
- you reach a `blob_count` of at least `2000`, a `max_blob_size` of at least `2gb`,
671
- a `max_total_data_size` of at least `1tb`, and a `register_operation_count` of
672
- at least `100`. Always specify a generous timeout, possibly `1h` or longer, to
673
- allow time for each analysis to run to completion. Perform the analyses using
674
- a multi-node cluster of a similar size to your production cluster so that it
675
- can detect any problems that only arise when the repository is accessed by many
676
- nodes at once. If the analysis fails, Elasticsearch detected that your repository
677
- behaved unexpectedly. This usually means you are using a third-party storage
678
- system with an incorrect or incompatible implementation of the API it claims
679
- to support. If so, this storage system is not suitable for use as a snapshot
680
- repository. You will need to work with the supplier of your storage system to
681
- address the incompatibilities that Elasticsearch detects. If the analysis is
682
- successful, the API returns details of the testing process, optionally including
683
- how long each operation took. You can use this information to determine the performance
684
- of your storage system. If any operation fails or returns an incorrect result,
685
- the API returns an error. If the API returns an error, it may not have removed
686
- all the data it wrote to the repository. The error will indicate the location
687
- of any leftover data and this path is also recorded in the Elasticsearch logs.
688
- You should verify that this location has been cleaned up correctly. If there
689
- is still leftover data at the specified location, you should manually remove
690
- it. If the connection from your client to Elasticsearch is closed while the client
691
- is waiting for the result of the analysis, the test is cancelled. Some clients
692
- are configured to close their connection if no response is received within a
693
- certain timeout. An analysis takes a long time to complete so you might need
694
- to relax any such client-side timeouts. On cancellation the analysis attempts
695
- to clean up the data it was writing, but it may not be able to remove it all.
696
- The path to the leftover data is recorded in the Elasticsearch logs. You should
697
- verify that this location has been cleaned up correctly. If there is still leftover
698
- data at the specified location, you should manually remove it. If the analysis
699
- is successful then it detected no incorrect behaviour, but this does not mean
700
- that correct behaviour is guaranteed. The analysis attempts to detect common
701
- bugs but it does not offer 100% coverage. Additionally, it does not test the
702
- following: * Your repository must perform durable writes. Once a blob has been
703
- written it must remain in place until it is deleted, even after a power loss
704
- or similar disaster. * Your repository must not suffer from silent data corruption.
705
- Once a blob has been written, its contents must remain unchanged until it is
706
- deliberately modified or deleted. * Your repository must behave correctly even
707
- if connectivity from the cluster is disrupted. Reads and writes may fail in this
708
- case, but they must not return incorrect results. IMPORTANT: An analysis writes
709
- a substantial amount of data to your repository and then reads it back again.
710
- This consumes bandwidth on the network between the cluster and the repository,
711
- and storage space and I/O bandwidth on the repository itself. You must ensure
712
- this load does not affect other users of these systems. Analyses respect the
713
- repository settings `max_snapshot_bytes_per_sec` and `max_restore_bytes_per_sec`
714
- if available and the cluster setting `indices.recovery.max_bytes_per_sec` which
715
- you can use to limit the bandwidth they consume. NOTE: This API is intended for
716
- exploratory use by humans. You should expect the request parameters and the response
717
- format to vary in future versions. NOTE: Different versions of Elasticsearch
718
- may perform different checks for repository compatibility, with newer versions
719
- typically being stricter than older ones. A storage system that passes repository
720
- analysis with one version of Elasticsearch may fail with a different version.
721
- This indicates it behaves incorrectly in ways that the former version did not
722
- detect. You must work with the supplier of your storage system to address the
723
- incompatibilities detected by the repository analysis API in any version of Elasticsearch.
724
- NOTE: This API may not work correctly in a mixed-version cluster. *Implementation
725
- details* NOTE: This section of documentation describes how the repository analysis
726
- API works in this version of Elasticsearch, but you should expect the implementation
727
- to vary between versions. The request parameters and response format depend on
728
- details of the implementation so may also be different in newer versions. The
729
- analysis comprises a number of blob-level tasks, as set by the `blob_count` parameter
730
- and a number of compare-and-exchange operations on linearizable registers, as
731
- set by the `register_operation_count` parameter. These tasks are distributed
732
- over the data and master-eligible nodes in the cluster for execution. For most
733
- blob-level tasks, the executing node first writes a blob to the repository and
734
- then instructs some of the other nodes in the cluster to attempt to read the
735
- data it just wrote. The size of the blob is chosen randomly, according to the
736
- `max_blob_size` and `max_total_data_size` parameters. If any of these reads fails
737
- then the repository does not implement the necessary read-after-write semantics
738
- that Elasticsearch requires. For some blob-level tasks, the executing node will
739
- instruct some of its peers to attempt to read the data before the writing process
740
- completes. These reads are permitted to fail, but must not return partial data.
741
- If any read returns partial data then the repository does not implement the necessary
742
- atomicity semantics that Elasticsearch requires. For some blob-level tasks, the
743
- executing node will overwrite the blob while its peers are reading it. In this
744
- case the data read may come from either the original or the overwritten blob,
745
- but the read operation must not return partial data or a mix of data from the
746
- two blobs. If any of these reads returns partial data or a mix of the two blobs
747
- then the repository does not implement the necessary atomicity semantics that
748
- Elasticsearch requires for overwrites. The executing node will use a variety
749
- of different methods to write the blob. For instance, where applicable, it will
750
- use both single-part and multi-part uploads. Similarly, the reading nodes will
751
- use a variety of different methods to read the data back again. For instance
752
- they may read the entire blob from start to end or may read only a subset of
753
- the data. For some blob-level tasks, the executing node will cancel the write
754
- before it is complete. In this case, it still instructs some of the other nodes
755
- in the cluster to attempt to read the blob but all of these reads must fail to
756
- find the blob. Linearizable registers are special blobs that Elasticsearch manipulates
757
- using an atomic compare-and-exchange operation. This operation ensures correct
758
- and strongly-consistent behavior even when the blob is accessed by multiple nodes
759
- at the same time. The detailed implementation of the compare-and-exchange operation
760
- on linearizable registers varies by repository type. Repository analysis verifies
761
- that that uncontended compare-and-exchange operations on a linearizable register
762
- blob always succeed. Repository analysis also verifies that contended operations
763
- either succeed or report the contention but do not return incorrect results.
764
- If an operation fails due to contention, Elasticsearch retries the operation
765
- until it succeeds. Most of the compare-and-exchange operations performed by repository
766
- analysis atomically increment a counter which is represented as an 8-byte blob.
767
- Some operations also verify the behavior on small blobs with sizes other than
768
- 8 bytes.
679
+ .. raw:: html
680
+
681
+ <p>Analyze a snapshot repository.
682
+ Analyze the performance characteristics and any incorrect behaviour found in a repository.</p>
683
+ <p>The response exposes implementation details of the analysis which may change from version to version.
684
+ The response body format is therefore not considered stable and may be different in newer versions.</p>
685
+ <p>There are a large number of third-party storage systems available, not all of which are suitable for use as a snapshot repository by Elasticsearch.
686
+ Some storage systems behave incorrectly, or perform poorly, especially when accessed concurrently by multiple clients as the nodes of an Elasticsearch cluster do. This API performs a collection of read and write operations on your repository which are designed to detect incorrect behaviour and to measure the performance characteristics of your storage system.</p>
687
+ <p>The default values for the parameters are deliberately low to reduce the impact of running an analysis inadvertently and to provide a sensible starting point for your investigations.
688
+ Run your first analysis with the default parameter values to check for simple problems.
689
+ If successful, run a sequence of increasingly large analyses until you encounter a failure or you reach a <code>blob_count</code> of at least <code>2000</code>, a <code>max_blob_size</code> of at least <code>2gb</code>, a <code>max_total_data_size</code> of at least <code>1tb</code>, and a <code>register_operation_count</code> of at least <code>100</code>.
690
+ Always specify a generous timeout, possibly <code>1h</code> or longer, to allow time for each analysis to run to completion.
691
+ Perform the analyses using a multi-node cluster of a similar size to your production cluster so that it can detect any problems that only arise when the repository is accessed by many nodes at once.</p>
692
+ <p>If the analysis fails, Elasticsearch detected that your repository behaved unexpectedly.
693
+ This usually means you are using a third-party storage system with an incorrect or incompatible implementation of the API it claims to support.
694
+ If so, this storage system is not suitable for use as a snapshot repository.
695
+ You will need to work with the supplier of your storage system to address the incompatibilities that Elasticsearch detects.</p>
696
+ <p>If the analysis is successful, the API returns details of the testing process, optionally including how long each operation took.
697
+ You can use this information to determine the performance of your storage system.
698
+ If any operation fails or returns an incorrect result, the API returns an error.
699
+ If the API returns an error, it may not have removed all the data it wrote to the repository.
700
+ The error will indicate the location of any leftover data and this path is also recorded in the Elasticsearch logs.
701
+ You should verify that this location has been cleaned up correctly.
702
+ If there is still leftover data at the specified location, you should manually remove it.</p>
703
+ <p>If the connection from your client to Elasticsearch is closed while the client is waiting for the result of the analysis, the test is cancelled.
704
+ Some clients are configured to close their connection if no response is received within a certain timeout.
705
+ An analysis takes a long time to complete so you might need to relax any such client-side timeouts.
706
+ On cancellation the analysis attempts to clean up the data it was writing, but it may not be able to remove it all.
707
+ The path to the leftover data is recorded in the Elasticsearch logs.
708
+ You should verify that this location has been cleaned up correctly.
709
+ If there is still leftover data at the specified location, you should manually remove it.</p>
710
+ <p>If the analysis is successful then it detected no incorrect behaviour, but this does not mean that correct behaviour is guaranteed.
711
+ The analysis attempts to detect common bugs but it does not offer 100% coverage.
712
+ Additionally, it does not test the following:</p>
713
+ <ul>
714
+ <li>Your repository must perform durable writes. Once a blob has been written it must remain in place until it is deleted, even after a power loss or similar disaster.</li>
715
+ <li>Your repository must not suffer from silent data corruption. Once a blob has been written, its contents must remain unchanged until it is deliberately modified or deleted.</li>
716
+ <li>Your repository must behave correctly even if connectivity from the cluster is disrupted. Reads and writes may fail in this case, but they must not return incorrect results.</li>
717
+ </ul>
718
+ <p>IMPORTANT: An analysis writes a substantial amount of data to your repository and then reads it back again.
719
+ This consumes bandwidth on the network between the cluster and the repository, and storage space and I/O bandwidth on the repository itself.
720
+ You must ensure this load does not affect other users of these systems.
721
+ Analyses respect the repository settings <code>max_snapshot_bytes_per_sec</code> and <code>max_restore_bytes_per_sec</code> if available and the cluster setting <code>indices.recovery.max_bytes_per_sec</code> which you can use to limit the bandwidth they consume.</p>
722
+ <p>NOTE: This API is intended for exploratory use by humans. You should expect the request parameters and the response format to vary in future versions.</p>
723
+ <p>NOTE: Different versions of Elasticsearch may perform different checks for repository compatibility, with newer versions typically being stricter than older ones.
724
+ A storage system that passes repository analysis with one version of Elasticsearch may fail with a different version.
725
+ This indicates it behaves incorrectly in ways that the former version did not detect.
726
+ You must work with the supplier of your storage system to address the incompatibilities detected by the repository analysis API in any version of Elasticsearch.</p>
727
+ <p>NOTE: This API may not work correctly in a mixed-version cluster.</p>
728
+ <p><em>Implementation details</em></p>
729
+ <p>NOTE: This section of documentation describes how the repository analysis API works in this version of Elasticsearch, but you should expect the implementation to vary between versions. The request parameters and response format depend on details of the implementation so may also be different in newer versions.</p>
730
+ <p>The analysis comprises a number of blob-level tasks, as set by the <code>blob_count</code> parameter and a number of compare-and-exchange operations on linearizable registers, as set by the <code>register_operation_count</code> parameter.
731
+ These tasks are distributed over the data and master-eligible nodes in the cluster for execution.</p>
732
+ <p>For most blob-level tasks, the executing node first writes a blob to the repository and then instructs some of the other nodes in the cluster to attempt to read the data it just wrote.
733
+ The size of the blob is chosen randomly, according to the <code>max_blob_size</code> and <code>max_total_data_size</code> parameters.
734
+ If any of these reads fails then the repository does not implement the necessary read-after-write semantics that Elasticsearch requires.</p>
735
+ <p>For some blob-level tasks, the executing node will instruct some of its peers to attempt to read the data before the writing process completes.
736
+ These reads are permitted to fail, but must not return partial data.
737
+ If any read returns partial data then the repository does not implement the necessary atomicity semantics that Elasticsearch requires.</p>
738
+ <p>For some blob-level tasks, the executing node will overwrite the blob while its peers are reading it.
739
+ In this case the data read may come from either the original or the overwritten blob, but the read operation must not return partial data or a mix of data from the two blobs.
740
+ If any of these reads returns partial data or a mix of the two blobs then the repository does not implement the necessary atomicity semantics that Elasticsearch requires for overwrites.</p>
741
+ <p>The executing node will use a variety of different methods to write the blob.
742
+ For instance, where applicable, it will use both single-part and multi-part uploads.
743
+ Similarly, the reading nodes will use a variety of different methods to read the data back again.
744
+ For instance they may read the entire blob from start to end or may read only a subset of the data.</p>
745
+ <p>For some blob-level tasks, the executing node will cancel the write before it is complete.
746
+ In this case, it still instructs some of the other nodes in the cluster to attempt to read the blob but all of these reads must fail to find the blob.</p>
747
+ <p>Linearizable registers are special blobs that Elasticsearch manipulates using an atomic compare-and-exchange operation.
748
+ This operation ensures correct and strongly-consistent behavior even when the blob is accessed by multiple nodes at the same time.
749
+ The detailed implementation of the compare-and-exchange operation on linearizable registers varies by repository type.
750
+ Repository analysis verifies that that uncontended compare-and-exchange operations on a linearizable register blob always succeed.
751
+ Repository analysis also verifies that contended operations either succeed or report the contention but do not return incorrect results.
752
+ If an operation fails due to contention, Elasticsearch retries the operation until it succeeds.
753
+ Most of the compare-and-exchange operations performed by repository analysis atomically increment a counter which is represented as an 8-byte blob.
754
+ Some operations also verify the behavior on small blobs with sizes other than 8 bytes.</p>
755
+
769
756
 
770
757
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/repo-analysis-api.html>`_
771
758
 
@@ -868,40 +855,31 @@ class SnapshotClient(NamespacedClient):
868
855
  verify_blob_contents: t.Optional[bool] = None,
869
856
  ) -> ObjectApiResponse[t.Any]:
870
857
  """
871
- Verify the repository integrity. Verify the integrity of the contents of a snapshot
872
- repository. This API enables you to perform a comprehensive check of the contents
873
- of a repository, looking for any anomalies in its data or metadata which might
874
- prevent you from restoring snapshots from the repository or which might cause
875
- future snapshot create or delete operations to fail. If you suspect the integrity
876
- of the contents of one of your snapshot repositories, cease all write activity
877
- to this repository immediately, set its `read_only` option to `true`, and use
878
- this API to verify its integrity. Until you do so: * It may not be possible to
879
- restore some snapshots from this repository. * Searchable snapshots may report
880
- errors when searched or may have unassigned shards. * Taking snapshots into this
881
- repository may fail or may appear to succeed but have created a snapshot which
882
- cannot be restored. * Deleting snapshots from this repository may fail or may
883
- appear to succeed but leave the underlying data on disk. * Continuing to write
884
- to the repository while it is in an invalid state may causing additional damage
885
- to its contents. If the API finds any problems with the integrity of the contents
886
- of your repository, Elasticsearch will not be able to repair the damage. The
887
- only way to bring the repository back into a fully working state after its contents
888
- have been damaged is by restoring its contents from a repository backup which
889
- was taken before the damage occurred. You must also identify what caused the
890
- damage and take action to prevent it from happening again. If you cannot restore
891
- a repository backup, register a new repository and use this for all future snapshot
892
- operations. In some cases it may be possible to recover some of the contents
893
- of a damaged repository, either by restoring as many of its snapshots as needed
894
- and taking new snapshots of the restored data, or by using the reindex API to
895
- copy data from any searchable snapshots mounted from the damaged repository.
896
- Avoid all operations which write to the repository while the verify repository
897
- integrity API is running. If something changes the repository contents while
898
- an integrity verification is running then Elasticsearch may incorrectly report
899
- having detected some anomalies in its contents due to the concurrent writes.
900
- It may also incorrectly fail to report some anomalies that the concurrent writes
901
- prevented it from detecting. NOTE: This API is intended for exploratory use by
902
- humans. You should expect the request parameters and the response format to vary
903
- in future versions. NOTE: This API may not work correctly in a mixed-version
904
- cluster.
858
+ .. raw:: html
859
+
860
+ <p>Verify the repository integrity.
861
+ Verify the integrity of the contents of a snapshot repository.</p>
862
+ <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>
863
+ <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.
864
+ Until you do so:</p>
865
+ <ul>
866
+ <li>It may not be possible to restore some snapshots from this repository.</li>
867
+ <li>Searchable snapshots may report errors when searched or may have unassigned shards.</li>
868
+ <li>Taking snapshots into this repository may fail or may appear to succeed but have created a snapshot which cannot be restored.</li>
869
+ <li>Deleting snapshots from this repository may fail or may appear to succeed but leave the underlying data on disk.</li>
870
+ <li>Continuing to write to the repository while it is in an invalid state may causing additional damage to its contents.</li>
871
+ </ul>
872
+ <p>If the API finds any problems with the integrity of the contents of your repository, Elasticsearch will not be able to repair the damage.
873
+ The only way to bring the repository back into a fully working state after its contents have been damaged is by restoring its contents from a repository backup which was taken before the damage occurred.
874
+ You must also identify what caused the damage and take action to prevent it from happening again.</p>
875
+ <p>If you cannot restore a repository backup, register a new repository and use this for all future snapshot operations.
876
+ In some cases it may be possible to recover some of the contents of a damaged repository, either by restoring as many of its snapshots as needed and taking new snapshots of the restored data, or by using the reindex API to copy data from any searchable snapshots mounted from the damaged repository.</p>
877
+ <p>Avoid all operations which write to the repository while the verify repository integrity API is running.
878
+ If something changes the repository contents while an integrity verification is running then Elasticsearch may incorrectly report having detected some anomalies in its contents due to the concurrent writes.
879
+ It may also incorrectly fail to report some anomalies that the concurrent writes prevented it from detecting.</p>
880
+ <p>NOTE: This API is intended for exploratory use by humans. You should expect the request parameters and the response format to vary in future versions.</p>
881
+ <p>NOTE: This API may not work correctly in a mixed-version cluster.</p>
882
+
905
883
 
906
884
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/verify-repo-integrity-api.html>`_
907
885
 
@@ -998,20 +976,20 @@ class SnapshotClient(NamespacedClient):
998
976
  body: t.Optional[t.Dict[str, t.Any]] = None,
999
977
  ) -> ObjectApiResponse[t.Any]:
1000
978
  """
1001
- Restore a snapshot. Restore a snapshot of a cluster or data streams and indices.
1002
- You can restore a snapshot only to a running cluster with an elected master node.
1003
- The snapshot repository must be registered and available to the cluster. The
1004
- snapshot and cluster versions must be compatible. To restore a snapshot, the
1005
- cluster's global metadata must be writable. Ensure there are't any cluster blocks
1006
- that prevent writes. The restore operation ignores index blocks. Before you restore
1007
- a data stream, ensure the cluster contains a matching index template with data
1008
- streams enabled. To check, use the index management feature in Kibana or the
1009
- get index template API: ``` GET _index_template/*?filter_path=index_templates.name,index_templates.index_template.index_patterns,index_templates.index_template.data_stream
1010
- ``` If no such template exists, you can create one or restore a cluster state
1011
- that contains one. Without a matching index template, a data stream can't roll
1012
- over or create backing indices. If your snapshot contains data from App Search
1013
- or Workplace Search, you must restore the Enterprise Search encryption key before
1014
- you restore the snapshot.
979
+ .. raw:: html
980
+
981
+ <p>Restore a snapshot.
982
+ Restore a snapshot of a cluster or data streams and indices.</p>
983
+ <p>You can restore a snapshot only to a running cluster with an elected master node.
984
+ The snapshot repository must be registered and available to the cluster.
985
+ The snapshot and cluster versions must be compatible.</p>
986
+ <p>To restore a snapshot, the cluster's global metadata must be writable. Ensure there are't any cluster blocks that prevent writes. The restore operation ignores index blocks.</p>
987
+ <p>Before you restore a data stream, ensure the cluster contains a matching index template with data streams enabled. To check, use the index management feature in Kibana or the get index template API:</p>
988
+ <pre><code>GET _index_template/*?filter_path=index_templates.name,index_templates.index_template.index_patterns,index_templates.index_template.data_stream
989
+ </code></pre>
990
+ <p>If no such template exists, you can create one or restore a cluster state that contains one. Without a matching index template, a data stream can't roll over or create backing indices.</p>
991
+ <p>If your snapshot contains data from App Search or Workplace Search, you must restore the Enterprise Search encryption key before you restore the snapshot.</p>
992
+
1015
993
 
1016
994
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/restore-snapshot-api.html>`_
1017
995
 
@@ -1104,18 +1082,18 @@ class SnapshotClient(NamespacedClient):
1104
1082
  pretty: t.Optional[bool] = None,
1105
1083
  ) -> ObjectApiResponse[t.Any]:
1106
1084
  """
1107
- Get the snapshot status. Get a detailed description of the current state for
1108
- each shard participating in the snapshot. Note that this API should be used only
1109
- to obtain detailed shard-level information for ongoing snapshots. If this detail
1110
- is not needed or you want to obtain information about one or more existing snapshots,
1111
- use the get snapshot API. WARNING: Using the API to return the status of any
1112
- snapshots other than currently running snapshots can be expensive. The API requires
1113
- a read from the repository for each shard in each snapshot. For example, if you
1114
- have 100 snapshots with 1,000 shards each, an API request that includes all snapshots
1115
- will require 100,000 reads (100 snapshots x 1,000 shards). Depending on the latency
1116
- of your storage, such requests can take an extremely long time to return results.
1117
- These requests can also tax machine resources and, when using cloud storage,
1118
- incur high processing costs.
1085
+ .. raw:: html
1086
+
1087
+ <p>Get the snapshot status.
1088
+ Get a detailed description of the current state for each shard participating in the snapshot.
1089
+ Note that this API should be used only to obtain detailed shard-level information for ongoing snapshots.
1090
+ If this detail is not needed or you want to obtain information about one or more existing snapshots, use the get snapshot API.</p>
1091
+ <p>WARNING: Using the API to return the status of any snapshots other than currently running snapshots can be expensive.
1092
+ The API requires a read from the repository for each shard in each snapshot.
1093
+ For example, if you have 100 snapshots with 1,000 shards each, an API request that includes all snapshots will require 100,000 reads (100 snapshots x 1,000 shards).</p>
1094
+ <p>Depending on the latency of your storage, such requests can take an extremely long time to return results.
1095
+ These requests can also tax machine resources and, when using cloud storage, incur high processing costs.</p>
1096
+
1119
1097
 
1120
1098
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/get-snapshot-status-api.html>`_
1121
1099
 
@@ -1174,8 +1152,11 @@ class SnapshotClient(NamespacedClient):
1174
1152
  timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
1175
1153
  ) -> ObjectApiResponse[t.Any]:
1176
1154
  """
1177
- Verify a snapshot repository. Check for common misconfigurations in a snapshot
1178
- repository.
1155
+ .. raw:: html
1156
+
1157
+ <p>Verify a snapshot repository.
1158
+ Check for common misconfigurations in a snapshot repository.</p>
1159
+
1179
1160
 
1180
1161
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/verify-snapshot-repo-api.html>`_
1181
1162
 
@@ -39,7 +39,10 @@ class SqlClient(NamespacedClient):
39
39
  body: t.Optional[t.Dict[str, t.Any]] = None,
40
40
  ) -> ObjectApiResponse[t.Any]:
41
41
  """
42
- Clear an SQL search cursor.
42
+ .. raw:: html
43
+
44
+ <p>Clear an SQL search cursor.</p>
45
+
43
46
 
44
47
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/clear-sql-cursor-api.html>`_
45
48
 
@@ -84,11 +87,17 @@ class SqlClient(NamespacedClient):
84
87
  pretty: t.Optional[bool] = None,
85
88
  ) -> ObjectApiResponse[t.Any]:
86
89
  """
87
- Delete an async SQL search. Delete an async SQL search or a stored synchronous
88
- SQL search. If the search is still running, the API cancels it. If the Elasticsearch
89
- security features are enabled, only the following users can use this API to delete
90
- a search: * Users with the `cancel_task` cluster privilege. * The user who first
91
- submitted the search.
90
+ .. raw:: html
91
+
92
+ <p>Delete an async SQL search.
93
+ Delete an async SQL search or a stored synchronous SQL search.
94
+ If the search is still running, the API cancels it.</p>
95
+ <p>If the Elasticsearch security features are enabled, only the following users can use this API to delete a search:</p>
96
+ <ul>
97
+ <li>Users with the <code>cancel_task</code> cluster privilege.</li>
98
+ <li>The user who first submitted the search.</li>
99
+ </ul>
100
+
92
101
 
93
102
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/delete-async-sql-search-api.html>`_
94
103
 
@@ -134,10 +143,12 @@ class SqlClient(NamespacedClient):
134
143
  ] = None,
135
144
  ) -> ObjectApiResponse[t.Any]:
136
145
  """
137
- Get async SQL search results. Get the current status and available results for
138
- an async SQL search or stored synchronous SQL search. If the Elasticsearch security
139
- features are enabled, only the user who first submitted the SQL search can retrieve
140
- the search using this API.
146
+ .. raw:: html
147
+
148
+ <p>Get async SQL search results.
149
+ Get the current status and available results for an async SQL search or stored synchronous SQL search.</p>
150
+ <p>If the Elasticsearch security features are enabled, only the user who first submitted the SQL search can retrieve the search using this API.</p>
151
+
141
152
 
142
153
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/get-async-sql-search-api.html>`_
143
154
 
@@ -195,8 +206,11 @@ class SqlClient(NamespacedClient):
195
206
  pretty: t.Optional[bool] = None,
196
207
  ) -> ObjectApiResponse[t.Any]:
197
208
  """
198
- Get the async SQL search status. Get the current status of an async SQL search
199
- or a stored synchronous SQL search.
209
+ .. raw:: html
210
+
211
+ <p>Get the async SQL search status.
212
+ Get the current status of an async SQL search or a stored synchronous SQL search.</p>
213
+
200
214
 
201
215
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/get-async-sql-search-status-api.html>`_
202
216
 
@@ -281,7 +295,11 @@ class SqlClient(NamespacedClient):
281
295
  body: t.Optional[t.Dict[str, t.Any]] = None,
282
296
  ) -> ObjectApiResponse[t.Any]:
283
297
  """
284
- Get SQL search results. Run an SQL request.
298
+ .. raw:: html
299
+
300
+ <p>Get SQL search results.
301
+ Run an SQL request.</p>
302
+
285
303
 
286
304
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/sql-search-api.html>`_
287
305
 
@@ -402,9 +420,12 @@ class SqlClient(NamespacedClient):
402
420
  body: t.Optional[t.Dict[str, t.Any]] = None,
403
421
  ) -> ObjectApiResponse[t.Any]:
404
422
  """
405
- Translate SQL into Elasticsearch queries. Translate an SQL search into a search
406
- API request containing Query DSL. It accepts the same request body parameters
407
- as the SQL search API, excluding `cursor`.
423
+ .. raw:: html
424
+
425
+ <p>Translate SQL into Elasticsearch queries.
426
+ Translate an SQL search into a search API request containing Query DSL.
427
+ It accepts the same request body parameters as the SQL search API, excluding <code>cursor</code>.</p>
428
+
408
429
 
409
430
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/sql-translate-api.html>`_
410
431