elasticsearch 9.0.2__py3-none-any.whl → 9.1.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 (110) hide show
  1. elasticsearch/__init__.py +3 -3
  2. elasticsearch/_async/client/__init__.py +88 -244
  3. elasticsearch/_async/client/async_search.py +4 -4
  4. elasticsearch/_async/client/autoscaling.py +4 -4
  5. elasticsearch/_async/client/cat.py +419 -51
  6. elasticsearch/_async/client/ccr.py +13 -13
  7. elasticsearch/_async/client/cluster.py +32 -22
  8. elasticsearch/_async/client/connector.py +30 -30
  9. elasticsearch/_async/client/dangling_indices.py +3 -3
  10. elasticsearch/_async/client/enrich.py +5 -5
  11. elasticsearch/_async/client/eql.py +14 -6
  12. elasticsearch/_async/client/esql.py +125 -9
  13. elasticsearch/_async/client/features.py +2 -2
  14. elasticsearch/_async/client/fleet.py +3 -3
  15. elasticsearch/_async/client/graph.py +1 -1
  16. elasticsearch/_async/client/ilm.py +11 -11
  17. elasticsearch/_async/client/indices.py +592 -113
  18. elasticsearch/_async/client/inference.py +521 -44
  19. elasticsearch/_async/client/ingest.py +9 -16
  20. elasticsearch/_async/client/license.py +11 -11
  21. elasticsearch/_async/client/logstash.py +3 -3
  22. elasticsearch/_async/client/migration.py +3 -3
  23. elasticsearch/_async/client/ml.py +75 -87
  24. elasticsearch/_async/client/monitoring.py +1 -1
  25. elasticsearch/_async/client/nodes.py +7 -7
  26. elasticsearch/_async/client/query_rules.py +8 -8
  27. elasticsearch/_async/client/rollup.py +9 -30
  28. elasticsearch/_async/client/search_application.py +10 -10
  29. elasticsearch/_async/client/searchable_snapshots.py +4 -4
  30. elasticsearch/_async/client/security.py +79 -81
  31. elasticsearch/_async/client/shutdown.py +3 -3
  32. elasticsearch/_async/client/simulate.py +1 -1
  33. elasticsearch/_async/client/slm.py +9 -9
  34. elasticsearch/_async/client/snapshot.py +64 -21
  35. elasticsearch/_async/client/sql.py +6 -6
  36. elasticsearch/_async/client/ssl.py +1 -1
  37. elasticsearch/_async/client/synonyms.py +26 -7
  38. elasticsearch/_async/client/tasks.py +4 -4
  39. elasticsearch/_async/client/text_structure.py +4 -4
  40. elasticsearch/_async/client/transform.py +11 -11
  41. elasticsearch/_async/client/watcher.py +17 -15
  42. elasticsearch/_async/client/xpack.py +2 -2
  43. elasticsearch/_otel.py +8 -8
  44. elasticsearch/_sync/client/__init__.py +88 -244
  45. elasticsearch/_sync/client/async_search.py +4 -4
  46. elasticsearch/_sync/client/autoscaling.py +4 -4
  47. elasticsearch/_sync/client/cat.py +419 -51
  48. elasticsearch/_sync/client/ccr.py +13 -13
  49. elasticsearch/_sync/client/cluster.py +32 -22
  50. elasticsearch/_sync/client/connector.py +30 -30
  51. elasticsearch/_sync/client/dangling_indices.py +3 -3
  52. elasticsearch/_sync/client/enrich.py +5 -5
  53. elasticsearch/_sync/client/eql.py +14 -6
  54. elasticsearch/_sync/client/esql.py +125 -9
  55. elasticsearch/_sync/client/features.py +2 -2
  56. elasticsearch/_sync/client/fleet.py +3 -3
  57. elasticsearch/_sync/client/graph.py +1 -1
  58. elasticsearch/_sync/client/ilm.py +11 -11
  59. elasticsearch/_sync/client/indices.py +592 -113
  60. elasticsearch/_sync/client/inference.py +521 -44
  61. elasticsearch/_sync/client/ingest.py +9 -16
  62. elasticsearch/_sync/client/license.py +11 -11
  63. elasticsearch/_sync/client/logstash.py +3 -3
  64. elasticsearch/_sync/client/migration.py +3 -3
  65. elasticsearch/_sync/client/ml.py +75 -87
  66. elasticsearch/_sync/client/monitoring.py +1 -1
  67. elasticsearch/_sync/client/nodes.py +7 -7
  68. elasticsearch/_sync/client/query_rules.py +8 -8
  69. elasticsearch/_sync/client/rollup.py +9 -30
  70. elasticsearch/_sync/client/search_application.py +10 -10
  71. elasticsearch/_sync/client/searchable_snapshots.py +4 -4
  72. elasticsearch/_sync/client/security.py +79 -81
  73. elasticsearch/_sync/client/shutdown.py +3 -3
  74. elasticsearch/_sync/client/simulate.py +1 -1
  75. elasticsearch/_sync/client/slm.py +9 -9
  76. elasticsearch/_sync/client/snapshot.py +64 -21
  77. elasticsearch/_sync/client/sql.py +6 -6
  78. elasticsearch/_sync/client/ssl.py +1 -1
  79. elasticsearch/_sync/client/synonyms.py +26 -7
  80. elasticsearch/_sync/client/tasks.py +4 -4
  81. elasticsearch/_sync/client/text_structure.py +4 -4
  82. elasticsearch/_sync/client/transform.py +11 -11
  83. elasticsearch/_sync/client/watcher.py +17 -15
  84. elasticsearch/_sync/client/xpack.py +2 -2
  85. elasticsearch/_version.py +1 -1
  86. elasticsearch/compat.py +5 -0
  87. elasticsearch/dsl/__init__.py +2 -1
  88. elasticsearch/dsl/aggs.py +20 -0
  89. elasticsearch/dsl/document_base.py +177 -17
  90. elasticsearch/dsl/field.py +230 -37
  91. elasticsearch/dsl/query.py +6 -3
  92. elasticsearch/dsl/response/__init__.py +1 -1
  93. elasticsearch/dsl/types.py +169 -11
  94. elasticsearch/dsl/utils.py +1 -1
  95. elasticsearch/{dsl/_sync/_sync_check → esql}/__init__.py +2 -0
  96. elasticsearch/esql/esql.py +1105 -0
  97. elasticsearch/esql/esql1.py1 +307 -0
  98. elasticsearch/esql/functions.py +1738 -0
  99. {elasticsearch-9.0.2.dist-info → elasticsearch-9.1.0.dist-info}/METADATA +3 -4
  100. elasticsearch-9.1.0.dist-info/RECORD +164 -0
  101. elasticsearch/dsl/_sync/_sync_check/document.py +0 -514
  102. elasticsearch/dsl/_sync/_sync_check/faceted_search.py +0 -50
  103. elasticsearch/dsl/_sync/_sync_check/index.py +0 -597
  104. elasticsearch/dsl/_sync/_sync_check/mapping.py +0 -49
  105. elasticsearch/dsl/_sync/_sync_check/search.py +0 -230
  106. elasticsearch/dsl/_sync/_sync_check/update_by_query.py +0 -45
  107. elasticsearch-9.0.2.dist-info/RECORD +0 -167
  108. {elasticsearch-9.0.2.dist-info → elasticsearch-9.1.0.dist-info}/WHEEL +0 -0
  109. {elasticsearch-9.0.2.dist-info → elasticsearch-9.1.0.dist-info}/licenses/LICENSE +0 -0
  110. {elasticsearch-9.0.2.dist-info → elasticsearch-9.1.0.dist-info}/licenses/NOTICE +0 -0
@@ -53,7 +53,7 @@ class ShutdownClient(NamespacedClient):
53
53
  <p>If the operator privileges feature is enabled, you must be an operator to use this API.</p>
54
54
 
55
55
 
56
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-shutdown-delete-node>`_
56
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-shutdown-delete-node>`_
57
57
 
58
58
  :param node_id: The node id of node to be removed from the shutdown state
59
59
  :param master_timeout: Period to wait for a connection to the master node. If
@@ -112,7 +112,7 @@ class ShutdownClient(NamespacedClient):
112
112
  <p>If the operator privileges feature is enabled, you must be an operator to use this API.</p>
113
113
 
114
114
 
115
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-shutdown-get-node>`_
115
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-shutdown-get-node>`_
116
116
 
117
117
  :param node_id: Which node for which to retrieve the shutdown status
118
118
  :param master_timeout: Period to wait for a connection to the master node. If
@@ -187,7 +187,7 @@ class ShutdownClient(NamespacedClient):
187
187
  Monitor the node shutdown status to determine when it is safe to stop Elasticsearch.</p>
188
188
 
189
189
 
190
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-shutdown-put-node>`_
190
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-shutdown-put-node>`_
191
191
 
192
192
  :param node_id: The node identifier. This parameter is not validated against
193
193
  the cluster's active nodes. This enables you to register a node for shut
@@ -81,7 +81,7 @@ class SimulateClient(NamespacedClient):
81
81
  These will be used in place of the pipeline definitions that are already in the system. This can be used to replace existing pipeline definitions or to create new ones. The pipeline substitutions are used only within this request.</p>
82
82
 
83
83
 
84
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-simulate-ingest>`_
84
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-simulate-ingest>`_
85
85
 
86
86
  :param docs: Sample documents to test in the pipeline.
87
87
  :param index: The index to simulate ingesting into. This value can be overridden
@@ -45,7 +45,7 @@ class SlmClient(NamespacedClient):
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
 
48
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-slm-delete-lifecycle>`_
48
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-slm-delete-lifecycle>`_
49
49
 
50
50
  :param policy_id: The id of the snapshot lifecycle policy to remove
51
51
  :param master_timeout: The period to wait for a connection to the master node.
@@ -101,7 +101,7 @@ class SlmClient(NamespacedClient):
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
 
104
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-slm-execute-lifecycle>`_
104
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-slm-execute-lifecycle>`_
105
105
 
106
106
  :param policy_id: The id of the snapshot lifecycle policy to be executed
107
107
  :param master_timeout: The period to wait for a connection to the master node.
@@ -156,7 +156,7 @@ class SlmClient(NamespacedClient):
156
156
  The retention policy is normally applied according to its schedule.</p>
157
157
 
158
158
 
159
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-slm-execute-retention>`_
159
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-slm-execute-retention>`_
160
160
 
161
161
  :param master_timeout: The period to wait for a connection to the master node.
162
162
  If no response is received before the timeout expires, the request fails
@@ -208,7 +208,7 @@ class SlmClient(NamespacedClient):
208
208
  Get snapshot lifecycle policy definitions and information about the latest snapshot attempts.</p>
209
209
 
210
210
 
211
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-slm-get-lifecycle>`_
211
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-slm-get-lifecycle>`_
212
212
 
213
213
  :param policy_id: Comma-separated list of snapshot lifecycle policies to retrieve
214
214
  :param master_timeout: The period to wait for a connection to the master node.
@@ -265,7 +265,7 @@ class SlmClient(NamespacedClient):
265
265
  Get global and policy-level statistics about actions taken by snapshot lifecycle management.</p>
266
266
 
267
267
 
268
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-slm-get-stats>`_
268
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-slm-get-stats>`_
269
269
 
270
270
  :param master_timeout: Period to wait for a connection to the master node. If
271
271
  no response is received before the timeout expires, the request fails and
@@ -315,7 +315,7 @@ class SlmClient(NamespacedClient):
315
315
  <p>Get the snapshot lifecycle management status.</p>
316
316
 
317
317
 
318
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-slm-get-status>`_
318
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-slm-get-status>`_
319
319
 
320
320
  :param master_timeout: The period to wait for a connection to the master node.
321
321
  If no response is received before the timeout expires, the request fails
@@ -379,7 +379,7 @@ class SlmClient(NamespacedClient):
379
379
  Only the latest version of a policy is stored.</p>
380
380
 
381
381
 
382
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-slm-put-lifecycle>`_
382
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-slm-put-lifecycle>`_
383
383
 
384
384
  :param policy_id: The identifier for the snapshot lifecycle policy you want to
385
385
  create or update.
@@ -465,7 +465,7 @@ class SlmClient(NamespacedClient):
465
465
  Manually starting SLM is necessary only if it has been stopped using the stop SLM API.</p>
466
466
 
467
467
 
468
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-slm-start>`_
468
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-slm-start>`_
469
469
 
470
470
  :param master_timeout: The period to wait for a connection to the master node.
471
471
  If no response is received before the timeout expires, the request fails
@@ -523,7 +523,7 @@ class SlmClient(NamespacedClient):
523
523
  Use the get snapshot lifecycle management status API to see if SLM is running.</p>
524
524
 
525
525
 
526
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-slm-stop>`_
526
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-slm-stop>`_
527
527
 
528
528
  :param master_timeout: The period to wait for a connection to the master node.
529
529
  If no response is received before the timeout expires, the request fails
@@ -50,7 +50,7 @@ class SnapshotClient(NamespacedClient):
50
50
  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
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-snapshot-cleanup-repository>`_
53
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-cleanup-repository>`_
54
54
 
55
55
  :param name: The name of the snapshot repository to clean up.
56
56
  :param master_timeout: The period to wait for a connection to the master node.
@@ -114,7 +114,7 @@ class SnapshotClient(NamespacedClient):
114
114
  Clone part of all of a snapshot into another snapshot in the same repository.</p>
115
115
 
116
116
 
117
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-snapshot-clone>`_
117
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-clone>`_
118
118
 
119
119
  :param repository: The name of the snapshot repository that both source and target
120
120
  snapshot belong to.
@@ -211,7 +211,7 @@ class SnapshotClient(NamespacedClient):
211
211
  Take a snapshot of a cluster or of data streams and indices.</p>
212
212
 
213
213
 
214
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-snapshot-create>`_
214
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-create>`_
215
215
 
216
216
  :param repository: The name of the repository for the snapshot.
217
217
  :param snapshot: The name of the snapshot. It supportes date math. It must be
@@ -338,7 +338,7 @@ class SnapshotClient(NamespacedClient):
338
338
  If both parameters are specified, only the query parameter is used.</p>
339
339
 
340
340
 
341
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-snapshot-create-repository>`_
341
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-create-repository>`_
342
342
 
343
343
  :param name: The name of the snapshot repository to register or update.
344
344
  :param repository:
@@ -403,6 +403,7 @@ class SnapshotClient(NamespacedClient):
403
403
  human: t.Optional[bool] = None,
404
404
  master_timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
405
405
  pretty: t.Optional[bool] = None,
406
+ wait_for_completion: t.Optional[bool] = None,
406
407
  ) -> ObjectApiResponse[t.Any]:
407
408
  """
408
409
  .. raw:: html
@@ -410,7 +411,7 @@ class SnapshotClient(NamespacedClient):
410
411
  <p>Delete snapshots.</p>
411
412
 
412
413
 
413
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-snapshot-delete>`_
414
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-delete>`_
414
415
 
415
416
  :param repository: The name of the repository to delete a snapshot from.
416
417
  :param snapshot: A comma-separated list of snapshot names to delete. It also
@@ -418,6 +419,9 @@ class SnapshotClient(NamespacedClient):
418
419
  :param master_timeout: The period to wait for the master node. If the master
419
420
  node is not available before the timeout expires, the request fails and returns
420
421
  an error. To indicate that the request should never timeout, set it to `-1`.
422
+ :param wait_for_completion: If `true`, the request returns a response when the
423
+ matching snapshots are all deleted. If `false`, the request returns a response
424
+ as soon as the deletes are scheduled.
421
425
  """
422
426
  if repository in SKIP_IN_PATH:
423
427
  raise ValueError("Empty value passed for parameter 'repository'")
@@ -439,6 +443,8 @@ class SnapshotClient(NamespacedClient):
439
443
  __query["master_timeout"] = master_timeout
440
444
  if pretty is not None:
441
445
  __query["pretty"] = pretty
446
+ if wait_for_completion is not None:
447
+ __query["wait_for_completion"] = wait_for_completion
442
448
  __headers = {"accept": "application/json"}
443
449
  return await self.perform_request( # type: ignore[return-value]
444
450
  "DELETE",
@@ -469,7 +475,7 @@ class SnapshotClient(NamespacedClient):
469
475
  The snapshots themselves are left untouched and in place.</p>
470
476
 
471
477
 
472
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-snapshot-delete-repository>`_
478
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-delete-repository>`_
473
479
 
474
480
  :param name: The ame of the snapshot repositories to unregister. Wildcard (`*`)
475
481
  patterns are supported.
@@ -544,6 +550,28 @@ class SnapshotClient(NamespacedClient):
544
550
  ],
545
551
  ]
546
552
  ] = None,
553
+ state: t.Optional[
554
+ t.Union[
555
+ t.Sequence[
556
+ t.Union[
557
+ str,
558
+ t.Literal[
559
+ "FAILED",
560
+ "INCOMPATIBLE",
561
+ "IN_PROGRESS",
562
+ "PARTIAL",
563
+ "SUCCESS",
564
+ ],
565
+ ]
566
+ ],
567
+ t.Union[
568
+ str,
569
+ t.Literal[
570
+ "FAILED", "INCOMPATIBLE", "IN_PROGRESS", "PARTIAL", "SUCCESS"
571
+ ],
572
+ ],
573
+ ]
574
+ ] = None,
547
575
  verbose: t.Optional[bool] = None,
548
576
  ) -> ObjectApiResponse[t.Any]:
549
577
  """
@@ -555,7 +583,7 @@ class SnapshotClient(NamespacedClient):
555
583
  Snapshots concurrently created may be seen during an iteration.</p>
556
584
 
557
585
 
558
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-snapshot-get>`_
586
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-get>`_
559
587
 
560
588
  :param repository: A comma-separated list of snapshot repository names used to
561
589
  limit the request. Wildcard (`*`) expressions are supported.
@@ -602,6 +630,8 @@ class SnapshotClient(NamespacedClient):
602
630
  all snapshots without an SLM policy.
603
631
  :param sort: The sort order for the result. The default behavior is sorting by
604
632
  snapshot start time stamp.
633
+ :param state: Only return snapshots with a state found in the given comma-separated
634
+ list of snapshot states. The default is all snapshot states.
605
635
  :param verbose: If `true`, returns additional information about each snapshot
606
636
  such as the version of Elasticsearch which took the snapshot, the start and
607
637
  end times of the snapshot, and the number of shards snapshotted. NOTE: The
@@ -651,6 +681,8 @@ class SnapshotClient(NamespacedClient):
651
681
  __query["slm_policy_filter"] = slm_policy_filter
652
682
  if sort is not None:
653
683
  __query["sort"] = sort
684
+ if state is not None:
685
+ __query["state"] = state
654
686
  if verbose is not None:
655
687
  __query["verbose"] = verbose
656
688
  __headers = {"accept": "application/json"}
@@ -681,7 +713,7 @@ class SnapshotClient(NamespacedClient):
681
713
  <p>Get snapshot repository information.</p>
682
714
 
683
715
 
684
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-snapshot-get-repository>`_
716
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-get-repository>`_
685
717
 
686
718
  :param name: A comma-separated list of snapshot repository names used to limit
687
719
  the request. Wildcard (`*`) expressions are supported including combining
@@ -749,20 +781,28 @@ class SnapshotClient(NamespacedClient):
749
781
  """
750
782
  .. raw:: html
751
783
 
752
- <p>Analyze a snapshot repository.
753
- Analyze the performance characteristics and any incorrect behaviour found in a repository.</p>
754
- <p>The response exposes implementation details of the analysis which may change from version to version.
755
- The response body format is therefore not considered stable and may be different in newer versions.</p>
784
+ <p>Analyze a snapshot repository.</p>
785
+ <p>Performs operations on a snapshot repository in order to check for incorrect behaviour.</p>
756
786
  <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.
757
- 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>
787
+ Some storage systems behave incorrectly, or perform poorly, especially when accessed concurrently by multiple clients as the nodes of an Elasticsearch cluster do.
788
+ 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>
758
789
  <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.
759
790
  Run your first analysis with the default parameter values to check for simple problems.
760
- 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>.
791
+ Some repositories may behave correctly when lightly loaded but incorrectly under production-like workloads.
792
+ If the first analysis is 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>.
761
793
  Always specify a generous timeout, possibly <code>1h</code> or longer, to allow time for each analysis to run to completion.
794
+ Some repositories may behave correctly when accessed by a small number of Elasticsearch nodes but incorrectly when accessed concurrently by a production-scale cluster.
762
795
  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>
763
796
  <p>If the analysis fails, Elasticsearch detected that your repository behaved unexpectedly.
764
797
  This usually means you are using a third-party storage system with an incorrect or incompatible implementation of the API it claims to support.
765
798
  If so, this storage system is not suitable for use as a snapshot repository.
799
+ Repository analysis triggers conditions that occur only rarely when taking snapshots in a production system.
800
+ Snapshotting to unsuitable storage may appear to work correctly most of the time despite repository analysis failures.
801
+ However your snapshot data is at risk if you store it in a snapshot repository that does not reliably pass repository analysis.
802
+ You can demonstrate that the analysis failure is due to an incompatible storage implementation by verifying that Elasticsearch does not detect the same problem when analysing the reference implementation of the storage protocol you are using.
803
+ For instance, if you are using storage that offers an API which the supplier claims to be compatible with AWS S3, verify that repositories in AWS S3 do not fail repository analysis.
804
+ This allows you to demonstrate to your storage supplier that a repository analysis failure must only be caused by an incompatibility with AWS S3 and cannot be attributed to a problem in Elasticsearch.
805
+ Please do not report Elasticsearch issues involving third-party storage systems unless you can demonstrate that the same issue exists when analysing a repository that uses the reference implementation of the same storage protocol.
766
806
  You will need to work with the supplier of your storage system to address the incompatibilities that Elasticsearch detects.</p>
767
807
  <p>If the analysis is successful, the API returns details of the testing process, optionally including how long each operation took.
768
808
  You can use this information to determine the performance of your storage system.
@@ -790,14 +830,17 @@ class SnapshotClient(NamespacedClient):
790
830
  This consumes bandwidth on the network between the cluster and the repository, and storage space and I/O bandwidth on the repository itself.
791
831
  You must ensure this load does not affect other users of these systems.
792
832
  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>
793
- <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>
833
+ <p>NOTE: This API is intended for exploratory use by humans.
834
+ You should expect the request parameters and the response format to vary in future versions.
835
+ The response exposes immplementation details of the analysis which may change from version to version.</p>
794
836
  <p>NOTE: Different versions of Elasticsearch may perform different checks for repository compatibility, with newer versions typically being stricter than older ones.
795
837
  A storage system that passes repository analysis with one version of Elasticsearch may fail with a different version.
796
838
  This indicates it behaves incorrectly in ways that the former version did not detect.
797
839
  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>
798
840
  <p>NOTE: This API may not work correctly in a mixed-version cluster.</p>
799
841
  <p><em>Implementation details</em></p>
800
- <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>
842
+ <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.
843
+ The request parameters and response format depend on details of the implementation so may also be different in newer versions.</p>
801
844
  <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.
802
845
  These tasks are distributed over the data and master-eligible nodes in the cluster for execution.</p>
803
846
  <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.
@@ -825,7 +868,7 @@ class SnapshotClient(NamespacedClient):
825
868
  Some operations also verify the behavior on small blobs with sizes other than 8 bytes.</p>
826
869
 
827
870
 
828
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-snapshot-repository-analyze>`_
871
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-repository-analyze>`_
829
872
 
830
873
  :param name: The name of the repository.
831
874
  :param blob_count: The total number of blobs to write to the repository during
@@ -958,7 +1001,7 @@ class SnapshotClient(NamespacedClient):
958
1001
  The response body format is therefore not considered stable and may be different in newer versions.</p>
959
1002
 
960
1003
 
961
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-snapshot-repository-verify-integrity>`_
1004
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-repository-verify-integrity>`_
962
1005
 
963
1006
  :param name: The name of the snapshot repository.
964
1007
  :param blob_thread_pool_concurrency: If `verify_blob_contents` is `true`, this
@@ -1080,7 +1123,7 @@ class SnapshotClient(NamespacedClient):
1080
1123
  <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>
1081
1124
 
1082
1125
 
1083
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-snapshot-restore>`_
1126
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-restore>`_
1084
1127
 
1085
1128
  :param repository: The name of the repository to restore a snapshot from.
1086
1129
  :param snapshot: The name of the snapshot to restore.
@@ -1230,7 +1273,7 @@ class SnapshotClient(NamespacedClient):
1230
1273
  These requests can also tax machine resources and, when using cloud storage, incur high processing costs.</p>
1231
1274
 
1232
1275
 
1233
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-snapshot-status>`_
1276
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-status>`_
1234
1277
 
1235
1278
  :param repository: The snapshot repository name used to limit the request. It
1236
1279
  supports wildcards (`*`) if `<snapshot>` isn't specified.
@@ -1298,7 +1341,7 @@ class SnapshotClient(NamespacedClient):
1298
1341
  Check for common misconfigurations in a snapshot repository.</p>
1299
1342
 
1300
1343
 
1301
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-snapshot-verify-repository>`_
1344
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-verify-repository>`_
1302
1345
 
1303
1346
  :param name: The name of the snapshot repository to verify.
1304
1347
  :param master_timeout: The period to wait for the master node. If the master
@@ -44,7 +44,7 @@ class SqlClient(NamespacedClient):
44
44
  <p>Clear an SQL search cursor.</p>
45
45
 
46
46
 
47
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-sql-clear-cursor>`_
47
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-sql-clear-cursor>`_
48
48
 
49
49
  :param cursor: Cursor to clear.
50
50
  """
@@ -99,7 +99,7 @@ class SqlClient(NamespacedClient):
99
99
  </ul>
100
100
 
101
101
 
102
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-sql-delete-async>`_
102
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-sql-delete-async>`_
103
103
 
104
104
  :param id: The identifier for the search.
105
105
  """
@@ -150,7 +150,7 @@ class SqlClient(NamespacedClient):
150
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
151
 
152
152
 
153
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-sql-get-async>`_
153
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-sql-get-async>`_
154
154
 
155
155
  :param id: The identifier for the search.
156
156
  :param delimiter: The separator for CSV results. The API supports this parameter
@@ -212,7 +212,7 @@ class SqlClient(NamespacedClient):
212
212
  Get the current status of an async SQL search or a stored synchronous SQL search.</p>
213
213
 
214
214
 
215
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-sql-get-async-status>`_
215
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-sql-get-async-status>`_
216
216
 
217
217
  :param id: The identifier for the search.
218
218
  """
@@ -301,7 +301,7 @@ class SqlClient(NamespacedClient):
301
301
  Run an SQL request.</p>
302
302
 
303
303
 
304
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-sql-query>`_
304
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-sql-query>`_
305
305
 
306
306
  :param allow_partial_search_results: If `true`, the response has partial results
307
307
  when there are shard request timeouts or shard failures. If `false`, the
@@ -427,7 +427,7 @@ class SqlClient(NamespacedClient):
427
427
  It accepts the same request body parameters as the SQL search API, excluding <code>cursor</code>.</p>
428
428
 
429
429
 
430
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-sql-translate>`_
430
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-sql-translate>`_
431
431
 
432
432
  :param query: The SQL query to run.
433
433
  :param fetch_size: The maximum number of rows (or entries) to return in one response.
@@ -52,7 +52,7 @@ class SslClient(NamespacedClient):
52
52
  <p>If Elasticsearch is configured to use a keystore or truststore, the API output includes all certificates in that store, even though some of the certificates might not be in active use within the cluster.</p>
53
53
 
54
54
 
55
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-ssl-certificates>`_
55
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ssl-certificates>`_
56
56
  """
57
57
  __path_parts: t.Dict[str, str] = {}
58
58
  __path = "/_ssl/certificates"
@@ -53,7 +53,7 @@ class SynonymsClient(NamespacedClient):
53
53
  When the synonyms set is not used in analyzers, you will be able to delete it.</p>
54
54
 
55
55
 
56
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-synonyms-delete-synonym>`_
56
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-synonyms-delete-synonym>`_
57
57
 
58
58
  :param id: The synonyms set identifier to delete.
59
59
  """
@@ -90,6 +90,7 @@ class SynonymsClient(NamespacedClient):
90
90
  filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
91
91
  human: t.Optional[bool] = None,
92
92
  pretty: t.Optional[bool] = None,
93
+ refresh: t.Optional[bool] = None,
93
94
  ) -> ObjectApiResponse[t.Any]:
94
95
  """
95
96
  .. raw:: html
@@ -98,10 +99,13 @@ class SynonymsClient(NamespacedClient):
98
99
  Delete a synonym rule from a synonym set.</p>
99
100
 
100
101
 
101
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-synonyms-delete-synonym-rule>`_
102
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-synonyms-delete-synonym-rule>`_
102
103
 
103
104
  :param set_id: The ID of the synonym set to update.
104
105
  :param rule_id: The ID of the synonym rule to delete.
106
+ :param refresh: If `true`, the request will refresh the analyzers with the deleted
107
+ synonym rule and wait for the new synonyms to be available before returning.
108
+ If `false`, analyzers will not be reloaded with the deleted synonym rule
105
109
  """
106
110
  if set_id in SKIP_IN_PATH:
107
111
  raise ValueError("Empty value passed for parameter 'set_id'")
@@ -121,6 +125,8 @@ class SynonymsClient(NamespacedClient):
121
125
  __query["human"] = human
122
126
  if pretty is not None:
123
127
  __query["pretty"] = pretty
128
+ if refresh is not None:
129
+ __query["refresh"] = refresh
124
130
  __headers = {"accept": "application/json"}
125
131
  return await self.perform_request( # type: ignore[return-value]
126
132
  "DELETE",
@@ -151,7 +157,7 @@ class SynonymsClient(NamespacedClient):
151
157
  <p>Get a synonym set.</p>
152
158
 
153
159
 
154
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-synonyms-get-synonym>`_
160
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-synonyms-get-synonym>`_
155
161
 
156
162
  :param id: The synonyms set identifier to retrieve.
157
163
  :param from_: The starting offset for query rules to retrieve.
@@ -202,7 +208,7 @@ class SynonymsClient(NamespacedClient):
202
208
  Get a synonym rule from a synonym set.</p>
203
209
 
204
210
 
205
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-synonyms-get-synonym-rule>`_
211
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-synonyms-get-synonym-rule>`_
206
212
 
207
213
  :param set_id: The ID of the synonym set to retrieve the synonym rule from.
208
214
  :param rule_id: The ID of the synonym rule to retrieve.
@@ -255,7 +261,7 @@ class SynonymsClient(NamespacedClient):
255
261
  Get a summary of all defined synonym sets.</p>
256
262
 
257
263
 
258
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-synonyms-get-synonym>`_
264
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-synonyms-get-synonym>`_
259
265
 
260
266
  :param from_: The starting offset for synonyms sets to retrieve.
261
267
  :param size: The maximum number of synonyms sets to retrieve.
@@ -299,6 +305,7 @@ class SynonymsClient(NamespacedClient):
299
305
  filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
300
306
  human: t.Optional[bool] = None,
301
307
  pretty: t.Optional[bool] = None,
308
+ refresh: t.Optional[bool] = None,
302
309
  body: t.Optional[t.Dict[str, t.Any]] = None,
303
310
  ) -> ObjectApiResponse[t.Any]:
304
311
  """
@@ -309,12 +316,16 @@ class SynonymsClient(NamespacedClient):
309
316
  If you need to manage more synonym rules, you can create multiple synonym sets.</p>
310
317
  <p>When an existing synonyms set is updated, the search analyzers that use the synonyms set are reloaded automatically for all indices.
311
318
  This is equivalent to invoking the reload search analyzers API for all indices that use the synonyms set.</p>
319
+ <p>For practical examples of how to create or update a synonyms set, refer to the External documentation.</p>
312
320
 
313
321
 
314
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-synonyms-put-synonym>`_
322
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-synonyms-put-synonym>`_
315
323
 
316
324
  :param id: The ID of the synonyms set to be created or updated.
317
325
  :param synonyms_set: The synonym rules definitions for the synonyms set.
326
+ :param refresh: If `true`, the request will refresh the analyzers with the new
327
+ synonyms set and wait for the new synonyms to be available before returning.
328
+ If `false`, analyzers will not be reloaded with the new synonym set
318
329
  """
319
330
  if id in SKIP_IN_PATH:
320
331
  raise ValueError("Empty value passed for parameter 'id'")
@@ -332,6 +343,8 @@ class SynonymsClient(NamespacedClient):
332
343
  __query["human"] = human
333
344
  if pretty is not None:
334
345
  __query["pretty"] = pretty
346
+ if refresh is not None:
347
+ __query["refresh"] = refresh
335
348
  if not __body:
336
349
  if synonyms_set is not None:
337
350
  __body["synonyms_set"] = synonyms_set
@@ -359,6 +372,7 @@ class SynonymsClient(NamespacedClient):
359
372
  filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
360
373
  human: t.Optional[bool] = None,
361
374
  pretty: t.Optional[bool] = None,
375
+ refresh: t.Optional[bool] = None,
362
376
  body: t.Optional[t.Dict[str, t.Any]] = None,
363
377
  ) -> ObjectApiResponse[t.Any]:
364
378
  """
@@ -370,12 +384,15 @@ class SynonymsClient(NamespacedClient):
370
384
  <p>When you update a synonym rule, all analyzers using the synonyms set will be reloaded automatically to reflect the new rule.</p>
371
385
 
372
386
 
373
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-synonyms-put-synonym-rule>`_
387
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-synonyms-put-synonym-rule>`_
374
388
 
375
389
  :param set_id: The ID of the synonym set.
376
390
  :param rule_id: The ID of the synonym rule to be updated or created.
377
391
  :param synonyms: The synonym rule information definition, which must be in Solr
378
392
  format.
393
+ :param refresh: If `true`, the request will refresh the analyzers with the new
394
+ synonym rule and wait for the new synonyms to be available before returning.
395
+ If `false`, analyzers will not be reloaded with the new synonym rule
379
396
  """
380
397
  if set_id in SKIP_IN_PATH:
381
398
  raise ValueError("Empty value passed for parameter 'set_id'")
@@ -398,6 +415,8 @@ class SynonymsClient(NamespacedClient):
398
415
  __query["human"] = human
399
416
  if pretty is not None:
400
417
  __query["pretty"] = pretty
418
+ if refresh is not None:
419
+ __query["refresh"] = refresh
401
420
  if not __body:
402
421
  if synonyms is not None:
403
422
  __body["synonyms"] = synonyms
@@ -36,7 +36,7 @@ class TasksClient(NamespacedClient):
36
36
  async def cancel(
37
37
  self,
38
38
  *,
39
- task_id: t.Optional[t.Union[int, str]] = None,
39
+ task_id: t.Optional[str] = None,
40
40
  actions: t.Optional[t.Union[str, t.Sequence[str]]] = None,
41
41
  error_trace: t.Optional[bool] = None,
42
42
  filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
@@ -60,7 +60,7 @@ class TasksClient(NamespacedClient):
60
60
  You can also use the node hot threads API to obtain detailed information about the work the system is doing instead of completing the cancelled task.</p>
61
61
 
62
62
 
63
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/group/endpoint-tasks>`_
63
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/group/endpoint-tasks>`_
64
64
 
65
65
  :param task_id: The task identifier.
66
66
  :param actions: A comma-separated list or wildcard expression of actions that
@@ -128,7 +128,7 @@ class TasksClient(NamespacedClient):
128
128
  <p>If the task identifier is not found, a 404 response code indicates that there are no resources that match the request.</p>
129
129
 
130
130
 
131
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/group/endpoint-tasks>`_
131
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/group/endpoint-tasks>`_
132
132
 
133
133
  :param task_id: The task identifier.
134
134
  :param timeout: The period to wait for a response. If no response is received
@@ -238,7 +238,7 @@ class TasksClient(NamespacedClient):
238
238
  The <code>X-Opaque-Id</code> in the children <code>headers</code> is the child task of the task that was initiated by the REST request.</p>
239
239
 
240
240
 
241
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/group/endpoint-tasks>`_
241
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/group/endpoint-tasks>`_
242
242
 
243
243
  :param actions: A comma-separated list or wildcard expression of actions used
244
244
  to limit the request. For example, you can use `cluser:*` to retrieve all
@@ -72,7 +72,7 @@ class TextStructureClient(NamespacedClient):
72
72
  It helps determine why the returned structure was chosen.</p>
73
73
 
74
74
 
75
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/group/endpoint-text_structure>`_
75
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/group/endpoint-text_structure>`_
76
76
 
77
77
  :param field: The field that should be analyzed.
78
78
  :param index: The name of the index that contains the analyzed field.
@@ -259,7 +259,7 @@ class TextStructureClient(NamespacedClient):
259
259
  It helps determine why the returned structure was chosen.</p>
260
260
 
261
261
 
262
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-text-structure-find-message-structure>`_
262
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-text-structure-find-message-structure>`_
263
263
 
264
264
  :param messages: The list of messages you want to analyze.
265
265
  :param column_names: If the format is `delimited`, you can specify the column
@@ -433,7 +433,7 @@ class TextStructureClient(NamespacedClient):
433
433
  However, you can optionally override some of the decisions about the text structure by specifying one or more query parameters.</p>
434
434
 
435
435
 
436
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-text-structure-find-structure>`_
436
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-text-structure-find-structure>`_
437
437
 
438
438
  :param text_files:
439
439
  :param charset: The text's character set. It must be a character set that is
@@ -620,7 +620,7 @@ class TextStructureClient(NamespacedClient):
620
620
  The API indicates whether the lines match the pattern together with the offsets and lengths of the matched substrings.</p>
621
621
 
622
622
 
623
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-text-structure-test-grok-pattern>`_
623
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-text-structure-test-grok-pattern>`_
624
624
 
625
625
  :param grok_pattern: The Grok pattern to run on the text.
626
626
  :param text: The lines of text to run the Grok pattern on.