elasticsearch 8.17.0__py3-none-any.whl → 8.17.1__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 (68) hide show
  1. elasticsearch/_async/client/__init__.py +153 -51
  2. elasticsearch/_async/client/cat.py +64 -195
  3. elasticsearch/_async/client/cluster.py +19 -19
  4. elasticsearch/_async/client/connector.py +337 -0
  5. elasticsearch/_async/client/dangling_indices.py +3 -3
  6. elasticsearch/_async/client/ilm.py +6 -6
  7. elasticsearch/_async/client/indices.py +360 -81
  8. elasticsearch/_async/client/inference.py +94 -1
  9. elasticsearch/_async/client/ingest.py +175 -2
  10. elasticsearch/_async/client/logstash.py +9 -6
  11. elasticsearch/_async/client/migration.py +16 -7
  12. elasticsearch/_async/client/ml.py +12 -6
  13. elasticsearch/_async/client/monitoring.py +2 -1
  14. elasticsearch/_async/client/nodes.py +3 -3
  15. elasticsearch/_async/client/query_rules.py +33 -12
  16. elasticsearch/_async/client/rollup.py +88 -13
  17. elasticsearch/_async/client/search_application.py +130 -1
  18. elasticsearch/_async/client/searchable_snapshots.py +32 -23
  19. elasticsearch/_async/client/security.py +676 -55
  20. elasticsearch/_async/client/shutdown.py +38 -15
  21. elasticsearch/_async/client/simulate.py +151 -0
  22. elasticsearch/_async/client/slm.py +138 -19
  23. elasticsearch/_async/client/snapshot.py +307 -23
  24. elasticsearch/_async/client/sql.py +66 -46
  25. elasticsearch/_async/client/synonyms.py +39 -19
  26. elasticsearch/_async/client/tasks.py +68 -28
  27. elasticsearch/_async/client/text_structure.py +466 -46
  28. elasticsearch/_async/client/transform.py +9 -2
  29. elasticsearch/_async/client/watcher.py +207 -41
  30. elasticsearch/_async/client/xpack.py +11 -6
  31. elasticsearch/_sync/client/__init__.py +153 -51
  32. elasticsearch/_sync/client/cat.py +64 -195
  33. elasticsearch/_sync/client/cluster.py +19 -19
  34. elasticsearch/_sync/client/connector.py +337 -0
  35. elasticsearch/_sync/client/dangling_indices.py +3 -3
  36. elasticsearch/_sync/client/ilm.py +6 -6
  37. elasticsearch/_sync/client/indices.py +360 -81
  38. elasticsearch/_sync/client/inference.py +94 -1
  39. elasticsearch/_sync/client/ingest.py +175 -2
  40. elasticsearch/_sync/client/logstash.py +9 -6
  41. elasticsearch/_sync/client/migration.py +16 -7
  42. elasticsearch/_sync/client/ml.py +12 -6
  43. elasticsearch/_sync/client/monitoring.py +2 -1
  44. elasticsearch/_sync/client/nodes.py +3 -3
  45. elasticsearch/_sync/client/query_rules.py +33 -12
  46. elasticsearch/_sync/client/rollup.py +88 -13
  47. elasticsearch/_sync/client/search_application.py +130 -1
  48. elasticsearch/_sync/client/searchable_snapshots.py +32 -23
  49. elasticsearch/_sync/client/security.py +676 -55
  50. elasticsearch/_sync/client/shutdown.py +38 -15
  51. elasticsearch/_sync/client/simulate.py +151 -0
  52. elasticsearch/_sync/client/slm.py +138 -19
  53. elasticsearch/_sync/client/snapshot.py +307 -23
  54. elasticsearch/_sync/client/sql.py +66 -46
  55. elasticsearch/_sync/client/synonyms.py +39 -19
  56. elasticsearch/_sync/client/tasks.py +68 -28
  57. elasticsearch/_sync/client/text_structure.py +466 -46
  58. elasticsearch/_sync/client/transform.py +9 -2
  59. elasticsearch/_sync/client/watcher.py +207 -41
  60. elasticsearch/_sync/client/xpack.py +11 -6
  61. elasticsearch/_version.py +1 -1
  62. elasticsearch/client.py +2 -0
  63. {elasticsearch-8.17.0.dist-info → elasticsearch-8.17.1.dist-info}/METADATA +1 -1
  64. elasticsearch-8.17.1.dist-info/RECORD +119 -0
  65. elasticsearch-8.17.0.dist-info/RECORD +0 -117
  66. {elasticsearch-8.17.0.dist-info → elasticsearch-8.17.1.dist-info}/WHEEL +0 -0
  67. {elasticsearch-8.17.0.dist-info → elasticsearch-8.17.1.dist-info}/licenses/LICENSE +0 -0
  68. {elasticsearch-8.17.0.dist-info → elasticsearch-8.17.1.dist-info}/licenses/NOTICE +0 -0
@@ -37,12 +37,20 @@ class WatcherClient(NamespacedClient):
37
37
  pretty: t.Optional[bool] = None,
38
38
  ) -> ObjectApiResponse[t.Any]:
39
39
  """
40
- Acknowledges a watch, manually throttling the execution of the watch's actions.
40
+ Acknowledge a watch. Acknowledging a watch enables you to manually throttle the
41
+ execution of the watch's actions. The acknowledgement state of an action is stored
42
+ in the `status.actions.<id>.ack.state` structure. IMPORTANT: If the specified
43
+ watch is currently being executed, this API will return an error The reason for
44
+ this behavior is to prevent overwriting the watch status from a watch execution.
45
+ Acknowledging an action throttles further executions of that action until its
46
+ `ack.state` is reset to `awaits_successful_execution`. This happens when the
47
+ condition of the watch is not met (the condition evaluates to false).
41
48
 
42
49
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/watcher-api-ack-watch.html>`_
43
50
 
44
- :param watch_id: Watch ID
45
- :param action_id: A comma-separated list of the action ids to be acked
51
+ :param watch_id: The watch identifier.
52
+ :param action_id: A comma-separated list of the action identifiers to acknowledge.
53
+ If you omit this parameter, all of the actions of the watch are acknowledged.
46
54
  """
47
55
  if watch_id in SKIP_IN_PATH:
48
56
  raise ValueError("Empty value passed for parameter 'watch_id'")
@@ -88,11 +96,11 @@ class WatcherClient(NamespacedClient):
88
96
  pretty: t.Optional[bool] = None,
89
97
  ) -> ObjectApiResponse[t.Any]:
90
98
  """
91
- Activates a currently inactive watch.
99
+ Activate a watch. A watch can be either active or inactive.
92
100
 
93
101
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/watcher-api-activate-watch.html>`_
94
102
 
95
- :param watch_id: Watch ID
103
+ :param watch_id: The watch identifier.
96
104
  """
97
105
  if watch_id in SKIP_IN_PATH:
98
106
  raise ValueError("Empty value passed for parameter 'watch_id'")
@@ -128,11 +136,11 @@ class WatcherClient(NamespacedClient):
128
136
  pretty: t.Optional[bool] = None,
129
137
  ) -> ObjectApiResponse[t.Any]:
130
138
  """
131
- Deactivates a currently active watch.
139
+ Deactivate a watch. A watch can be either active or inactive.
132
140
 
133
141
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/watcher-api-deactivate-watch.html>`_
134
142
 
135
- :param watch_id: Watch ID
143
+ :param watch_id: The watch identifier.
136
144
  """
137
145
  if watch_id in SKIP_IN_PATH:
138
146
  raise ValueError("Empty value passed for parameter 'watch_id'")
@@ -168,11 +176,17 @@ class WatcherClient(NamespacedClient):
168
176
  pretty: t.Optional[bool] = None,
169
177
  ) -> ObjectApiResponse[t.Any]:
170
178
  """
171
- Removes a watch from Watcher.
179
+ Delete a watch. When the watch is removed, the document representing the watch
180
+ in the `.watches` index is gone and it will never be run again. Deleting a watch
181
+ does not delete any watch execution records related to this watch from the watch
182
+ history. IMPORTANT: Deleting a watch must be done by using only this API. Do
183
+ not delete the watch directly from the `.watches` index using the Elasticsearch
184
+ delete document API When Elasticsearch security features are enabled, make sure
185
+ no write privileges are granted to anyone for the `.watches` index.
172
186
 
173
187
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/watcher-api-delete-watch.html>`_
174
188
 
175
- :param id: Watch ID
189
+ :param id: The watch identifier.
176
190
  """
177
191
  if id in SKIP_IN_PATH:
178
192
  raise ValueError("Empty value passed for parameter 'id'")
@@ -237,17 +251,25 @@ class WatcherClient(NamespacedClient):
237
251
  body: t.Optional[t.Dict[str, t.Any]] = None,
238
252
  ) -> ObjectApiResponse[t.Any]:
239
253
  """
240
- This API can be used to force execution of the watch outside of its triggering
241
- logic or to simulate the watch execution for debugging purposes. For testing
242
- and debugging purposes, you also have fine-grained control on how the watch runs.
243
- You can execute the watch without executing all of its actions or alternatively
254
+ Run a watch. This API can be used to force execution of the watch outside of
255
+ its triggering logic or to simulate the watch execution for debugging purposes.
256
+ For testing and debugging purposes, you also have fine-grained control on how
257
+ the watch runs. You can run the watch without running all of its actions or alternatively
244
258
  by simulating them. You can also force execution by ignoring the watch condition
245
259
  and control whether a watch record would be written to the watch history after
246
- execution.
260
+ it runs. You can use the run watch API to run watches that are not yet registered
261
+ by specifying the watch definition inline. This serves as great tool for testing
262
+ and debugging your watches prior to adding them to Watcher. When Elasticsearch
263
+ security features are enabled on your cluster, watches are run with the privileges
264
+ of the user that stored the watches. If your user is allowed to read index `a`,
265
+ but not index `b`, then the exact same set of rules will apply during execution
266
+ of a watch. When using the run watch API, the authorization data of the user
267
+ that called the API will be used as a base, instead of the information who stored
268
+ the watch.
247
269
 
248
270
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/watcher-api-execute-watch.html>`_
249
271
 
250
- :param id: Identifier for the watch.
272
+ :param id: The watch identifier.
251
273
  :param action_modes: Determines how to handle the watch actions as part of the
252
274
  watch execution.
253
275
  :param alternative_input: When present, the watch uses this object as a payload
@@ -258,12 +280,12 @@ class WatcherClient(NamespacedClient):
258
280
  :param record_execution: When set to `true`, the watch record representing the
259
281
  watch execution result is persisted to the `.watcher-history` index for the
260
282
  current time. In addition, the status of the watch is updated, possibly throttling
261
- subsequent executions. This can also be specified as an HTTP parameter.
283
+ subsequent runs. This can also be specified as an HTTP parameter.
262
284
  :param simulated_actions:
263
285
  :param trigger_data: This structure is parsed as the data of the trigger event
264
- that will be used during the watch execution
286
+ that will be used during the watch execution.
265
287
  :param watch: When present, this watch is used instead of the one specified in
266
- the request. This watch is not persisted to the index and record_execution
288
+ the request. This watch is not persisted to the index and `record_execution`
267
289
  cannot be set.
268
290
  """
269
291
  __path_parts: t.Dict[str, str]
@@ -315,6 +337,50 @@ class WatcherClient(NamespacedClient):
315
337
  path_parts=__path_parts,
316
338
  )
317
339
 
340
+ @_rewrite_parameters()
341
+ def get_settings(
342
+ self,
343
+ *,
344
+ error_trace: t.Optional[bool] = None,
345
+ filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
346
+ human: t.Optional[bool] = None,
347
+ master_timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
348
+ pretty: t.Optional[bool] = None,
349
+ ) -> ObjectApiResponse[t.Any]:
350
+ """
351
+ Get Watcher index settings. Get settings for the Watcher internal index (`.watches`).
352
+ Only a subset of settings are shown, for example `index.auto_expand_replicas`
353
+ and `index.number_of_replicas`.
354
+
355
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/watcher-api-get-settings.html>`_
356
+
357
+ :param master_timeout: The period to wait for a connection to the master node.
358
+ If no response is received before the timeout expires, the request fails
359
+ and returns an error.
360
+ """
361
+ __path_parts: t.Dict[str, str] = {}
362
+ __path = "/_watcher/settings"
363
+ __query: t.Dict[str, t.Any] = {}
364
+ if error_trace is not None:
365
+ __query["error_trace"] = error_trace
366
+ if filter_path is not None:
367
+ __query["filter_path"] = filter_path
368
+ if human is not None:
369
+ __query["human"] = human
370
+ if master_timeout is not None:
371
+ __query["master_timeout"] = master_timeout
372
+ if pretty is not None:
373
+ __query["pretty"] = pretty
374
+ __headers = {"accept": "application/json"}
375
+ return self.perform_request( # type: ignore[return-value]
376
+ "GET",
377
+ __path,
378
+ params=__query,
379
+ headers=__headers,
380
+ endpoint_id="watcher.get_settings",
381
+ path_parts=__path_parts,
382
+ )
383
+
318
384
  @_rewrite_parameters()
319
385
  def get_watch(
320
386
  self,
@@ -326,11 +392,11 @@ class WatcherClient(NamespacedClient):
326
392
  pretty: t.Optional[bool] = None,
327
393
  ) -> ObjectApiResponse[t.Any]:
328
394
  """
329
- Retrieves a watch by its ID.
395
+ Get a watch.
330
396
 
331
397
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/watcher-api-get-watch.html>`_
332
398
 
333
- :param id: Watch ID
399
+ :param id: The watch identifier.
334
400
  """
335
401
  if id in SKIP_IN_PATH:
336
402
  raise ValueError("Empty value passed for parameter 'id'")
@@ -362,6 +428,7 @@ class WatcherClient(NamespacedClient):
362
428
  "input",
363
429
  "metadata",
364
430
  "throttle_period",
431
+ "throttle_period_in_millis",
365
432
  "transform",
366
433
  "trigger",
367
434
  ),
@@ -381,30 +448,50 @@ class WatcherClient(NamespacedClient):
381
448
  input: t.Optional[t.Mapping[str, t.Any]] = None,
382
449
  metadata: t.Optional[t.Mapping[str, t.Any]] = None,
383
450
  pretty: t.Optional[bool] = None,
384
- throttle_period: t.Optional[str] = None,
451
+ throttle_period: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
452
+ throttle_period_in_millis: t.Optional[t.Any] = None,
385
453
  transform: t.Optional[t.Mapping[str, t.Any]] = None,
386
454
  trigger: t.Optional[t.Mapping[str, t.Any]] = None,
387
455
  version: t.Optional[int] = None,
388
456
  body: t.Optional[t.Dict[str, t.Any]] = None,
389
457
  ) -> ObjectApiResponse[t.Any]:
390
458
  """
391
- Creates a new watch, or updates an existing one.
459
+ Create or update a watch. When a watch is registered, a new document that represents
460
+ the watch is added to the `.watches` index and its trigger is immediately registered
461
+ with the relevant trigger engine. Typically for the `schedule` trigger, the scheduler
462
+ is the trigger engine. IMPORTANT: You must use Kibana or this API to create a
463
+ watch. Do not add a watch directly to the `.watches` index by using the Elasticsearch
464
+ index API. If Elasticsearch security features are enabled, do not give users
465
+ write privileges on the `.watches` index. When you add a watch you can also define
466
+ its initial active state by setting the *active* parameter. When Elasticsearch
467
+ security features are enabled, your watch can index or search only on indices
468
+ for which the user that stored the watch has privileges. If the user is able
469
+ to read index `a`, but not index `b`, the same will apply when the watch runs.
392
470
 
393
471
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/watcher-api-put-watch.html>`_
394
472
 
395
- :param id: Watch ID
396
- :param actions:
397
- :param active: Specify whether the watch is in/active by default
398
- :param condition:
473
+ :param id: The identifier for the watch.
474
+ :param actions: The list of actions that will be run if the condition matches.
475
+ :param active: The initial state of the watch. The default value is `true`, which
476
+ means the watch is active by default.
477
+ :param condition: The condition that defines if the actions should be run.
399
478
  :param if_primary_term: only update the watch if the last operation that has
400
479
  changed the watch has the specified primary term
401
480
  :param if_seq_no: only update the watch if the last operation that has changed
402
481
  the watch has the specified sequence number
403
- :param input:
404
- :param metadata:
405
- :param throttle_period:
406
- :param transform:
407
- :param trigger:
482
+ :param input: The input that defines the input that loads the data for the watch.
483
+ :param metadata: Metadata JSON that will be copied into the history entries.
484
+ :param throttle_period: The minimum time between actions being run. The default
485
+ is 5 seconds. This default can be changed in the config file with the setting
486
+ `xpack.watcher.throttle.period.default_period`. If both this value and the
487
+ `throttle_period_in_millis` parameter are specified, Watcher uses the last
488
+ parameter included in the request.
489
+ :param throttle_period_in_millis: Minimum time in milliseconds between actions
490
+ being run. Defaults to 5000. If both this value and the throttle_period parameter
491
+ are specified, Watcher uses the last parameter included in the request.
492
+ :param transform: The transform that processes the watch payload to prepare it
493
+ for the watch actions.
494
+ :param trigger: The trigger that defines when the watch should run.
408
495
  :param version: Explicit version number for concurrency control
409
496
  """
410
497
  if id in SKIP_IN_PATH:
@@ -440,6 +527,8 @@ class WatcherClient(NamespacedClient):
440
527
  __body["metadata"] = metadata
441
528
  if throttle_period is not None:
442
529
  __body["throttle_period"] = throttle_period
530
+ if throttle_period_in_millis is not None:
531
+ __body["throttle_period_in_millis"] = throttle_period_in_millis
443
532
  if transform is not None:
444
533
  __body["transform"] = transform
445
534
  if trigger is not None:
@@ -485,16 +574,18 @@ class WatcherClient(NamespacedClient):
485
574
  body: t.Optional[t.Dict[str, t.Any]] = None,
486
575
  ) -> ObjectApiResponse[t.Any]:
487
576
  """
488
- Retrieves stored watches.
577
+ Query watches. Get all registered watches in a paginated manner and optionally
578
+ filter watches by a query. Note that only the `_id` and `metadata.*` fields are
579
+ queryable or sortable.
489
580
 
490
581
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/watcher-api-query-watches.html>`_
491
582
 
492
- :param from_: The offset from the first result to fetch. Needs to be non-negative.
493
- :param query: Optional, query filter watches to be returned.
494
- :param search_after: Optional search After to do pagination using last hit’s
495
- sort values.
496
- :param size: The number of hits to return. Needs to be non-negative.
497
- :param sort: Optional sort definition.
583
+ :param from_: The offset from the first result to fetch. It must be non-negative.
584
+ :param query: A query that filters the watches to be returned.
585
+ :param search_after: Retrieve the next page of hits using a set of sort values
586
+ from the previous page.
587
+ :param size: The number of hits to return. It must be non-negative.
588
+ :param sort: One or more fields used to sort the search results.
498
589
  """
499
590
  __path_parts: t.Dict[str, str] = {}
500
591
  __path = "/_watcher/_query/watches"
@@ -555,7 +646,7 @@ class WatcherClient(NamespacedClient):
555
646
  pretty: t.Optional[bool] = None,
556
647
  ) -> ObjectApiResponse[t.Any]:
557
648
  """
558
- Starts Watcher if it is not already running.
649
+ Start the watch service. Start the Watcher service if it is not already running.
559
650
 
560
651
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/watcher-api-start.html>`_
561
652
  """
@@ -612,7 +703,8 @@ class WatcherClient(NamespacedClient):
612
703
  pretty: t.Optional[bool] = None,
613
704
  ) -> ObjectApiResponse[t.Any]:
614
705
  """
615
- Retrieves the current Watcher metrics.
706
+ Get Watcher statistics. This API always returns basic metrics. You retrieve more
707
+ metrics by using the metric parameter.
616
708
 
617
709
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/watcher-api-stats.html>`_
618
710
 
@@ -655,12 +747,17 @@ class WatcherClient(NamespacedClient):
655
747
  error_trace: t.Optional[bool] = None,
656
748
  filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
657
749
  human: t.Optional[bool] = None,
750
+ master_timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
658
751
  pretty: t.Optional[bool] = None,
659
752
  ) -> ObjectApiResponse[t.Any]:
660
753
  """
661
- Stops Watcher if it is running.
754
+ Stop the watch service. Stop the Watcher service if it is running.
662
755
 
663
756
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/watcher-api-stop.html>`_
757
+
758
+ :param master_timeout: The period to wait for the master node. If the master
759
+ node is not available before the timeout expires, the request fails and returns
760
+ an error. To indicate that the request should never timeout, set it to `-1`.
664
761
  """
665
762
  __path_parts: t.Dict[str, str] = {}
666
763
  __path = "/_watcher/_stop"
@@ -671,6 +768,8 @@ class WatcherClient(NamespacedClient):
671
768
  __query["filter_path"] = filter_path
672
769
  if human is not None:
673
770
  __query["human"] = human
771
+ if master_timeout is not None:
772
+ __query["master_timeout"] = master_timeout
674
773
  if pretty is not None:
675
774
  __query["pretty"] = pretty
676
775
  __headers = {"accept": "application/json"}
@@ -682,3 +781,70 @@ class WatcherClient(NamespacedClient):
682
781
  endpoint_id="watcher.stop",
683
782
  path_parts=__path_parts,
684
783
  )
784
+
785
+ @_rewrite_parameters(
786
+ body_fields=("index_auto_expand_replicas", "index_number_of_replicas"),
787
+ parameter_aliases={
788
+ "index.auto_expand_replicas": "index_auto_expand_replicas",
789
+ "index.number_of_replicas": "index_number_of_replicas",
790
+ },
791
+ )
792
+ def update_settings(
793
+ self,
794
+ *,
795
+ error_trace: t.Optional[bool] = None,
796
+ filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
797
+ human: t.Optional[bool] = None,
798
+ index_auto_expand_replicas: t.Optional[str] = None,
799
+ index_number_of_replicas: t.Optional[int] = None,
800
+ master_timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
801
+ pretty: t.Optional[bool] = None,
802
+ timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
803
+ body: t.Optional[t.Dict[str, t.Any]] = None,
804
+ ) -> ObjectApiResponse[t.Any]:
805
+ """
806
+ Update Watcher index settings. Update settings for the Watcher internal index
807
+ (`.watches`). Only a subset of settings can be modified. This includes `index.auto_expand_replicas`
808
+ and `index.number_of_replicas`.
809
+
810
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/watcher-api-update-settings.html>`_
811
+
812
+ :param index_auto_expand_replicas:
813
+ :param index_number_of_replicas:
814
+ :param master_timeout: The period to wait for a connection to the master node.
815
+ If no response is received before the timeout expires, the request fails
816
+ and returns an error.
817
+ :param timeout: The period to wait for a response. If no response is received
818
+ before the timeout expires, the request fails and returns an error.
819
+ """
820
+ __path_parts: t.Dict[str, str] = {}
821
+ __path = "/_watcher/settings"
822
+ __query: t.Dict[str, t.Any] = {}
823
+ __body: t.Dict[str, t.Any] = body if body is not None else {}
824
+ if error_trace is not None:
825
+ __query["error_trace"] = error_trace
826
+ if filter_path is not None:
827
+ __query["filter_path"] = filter_path
828
+ if human is not None:
829
+ __query["human"] = human
830
+ if master_timeout is not None:
831
+ __query["master_timeout"] = master_timeout
832
+ if pretty is not None:
833
+ __query["pretty"] = pretty
834
+ if timeout is not None:
835
+ __query["timeout"] = timeout
836
+ if not __body:
837
+ if index_auto_expand_replicas is not None:
838
+ __body["index.auto_expand_replicas"] = index_auto_expand_replicas
839
+ if index_number_of_replicas is not None:
840
+ __body["index.number_of_replicas"] = index_number_of_replicas
841
+ __headers = {"accept": "application/json", "content-type": "application/json"}
842
+ return self.perform_request( # type: ignore[return-value]
843
+ "PUT",
844
+ __path,
845
+ params=__query,
846
+ headers=__headers,
847
+ body=__body,
848
+ endpoint_id="watcher.update_settings",
849
+ path_parts=__path_parts,
850
+ )
@@ -43,7 +43,10 @@ class XPackClient(NamespacedClient):
43
43
  pretty: t.Optional[bool] = None,
44
44
  ) -> ObjectApiResponse[t.Any]:
45
45
  """
46
- Provides general information about the installed X-Pack features.
46
+ Get information. The information provided by the API includes: * Build information
47
+ including the build number and timestamp. * License information about the currently
48
+ installed license. * Feature information for the features that are currently
49
+ enabled and available under the current license.
47
50
 
48
51
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/info-api.html>`_
49
52
 
@@ -87,14 +90,16 @@ class XPackClient(NamespacedClient):
87
90
  pretty: t.Optional[bool] = None,
88
91
  ) -> ObjectApiResponse[t.Any]:
89
92
  """
90
- This API provides information about which features are currently enabled and
91
- available under the current license and some usage statistics.
93
+ Get usage information. Get information about the features that are currently
94
+ enabled and available under the current license. The API also provides some usage
95
+ statistics.
92
96
 
93
97
  `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/usage-api.html>`_
94
98
 
95
- :param master_timeout: Period to wait for a connection to the master node. If
96
- no response is received before the timeout expires, the request fails and
97
- returns an error.
99
+ :param master_timeout: The period to wait for a connection to the master node.
100
+ If no response is received before the timeout expires, the request fails
101
+ and returns an error. To indicate that the request should never timeout,
102
+ set it to `-1`.
98
103
  """
99
104
  __path_parts: t.Dict[str, str] = {}
100
105
  __path = "/_xpack/usage"
elasticsearch/_version.py CHANGED
@@ -15,4 +15,4 @@
15
15
  # specific language governing permissions and limitations
16
16
  # under the License.
17
17
 
18
- __versionstr__ = "8.17.0"
18
+ __versionstr__ = "8.17.1"
elasticsearch/client.py CHANGED
@@ -57,6 +57,7 @@ from ._sync.client.searchable_snapshots import ( # noqa: F401
57
57
  )
58
58
  from ._sync.client.security import SecurityClient as SecurityClient # noqa: F401
59
59
  from ._sync.client.shutdown import ShutdownClient as ShutdownClient # noqa: F401
60
+ from ._sync.client.simulate import SimulateClient as SimulateClient # noqa: F401
60
61
  from ._sync.client.slm import SlmClient as SlmClient # noqa: F401
61
62
  from ._sync.client.snapshot import SnapshotClient as SnapshotClient # noqa: F401
62
63
  from ._sync.client.sql import SqlClient as SqlClient # noqa: F401
@@ -107,6 +108,7 @@ __all__ = [
107
108
  "SearchableSnapshotsClient",
108
109
  "SecurityClient",
109
110
  "ShutdownClient",
111
+ "SimulateClient",
110
112
  "SlmClient",
111
113
  "SnapshotClient",
112
114
  "SqlClient",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: elasticsearch
3
- Version: 8.17.0
3
+ Version: 8.17.1
4
4
  Summary: Python client for Elasticsearch
5
5
  Project-URL: Documentation, https://elasticsearch-py.readthedocs.io/
6
6
  Project-URL: Homepage, https://github.com/elastic/elasticsearch-py
@@ -0,0 +1,119 @@
1
+ elasticsearch/__init__.py,sha256=w5YnO16zjOi6loGJ8caUgSXsj3b-Y8OfF0BIddP2BiE,3289
2
+ elasticsearch/_otel.py,sha256=Oidt86g9XzeVrwMsJeV7dGLsyquVMJWfhcRlz43RlGo,4188
3
+ elasticsearch/_utils.py,sha256=Vr_aNG5ddxInE1PgDpCXMYpXBTNUFM9nYrgbw-cjeCc,1419
4
+ elasticsearch/_version.py,sha256=6QxFanQXE43olOjDrgE1VptRDdCRk4EB7pv1CeQ7Vvw,814
5
+ elasticsearch/client.py,sha256=bKck5-AqrW6R90LBoJ5txrBnu5Ph66_tSWzSAE1-viI,5317
6
+ elasticsearch/compat.py,sha256=hL3mtqVxWwxeiFbNGADva5XruAwK-A6xcu-vrpnDXFs,2657
7
+ elasticsearch/exceptions.py,sha256=ynpP0TLJxur7x7JQJD-CFtXov0bPImGt234gdlAyv6g,4142
8
+ elasticsearch/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
+ elasticsearch/serializer.py,sha256=vLhhlU6fAjHXB-z2E5ieBe_XKWx4A0o-lbJY9Bknt70,8059
10
+ elasticsearch/transport.py,sha256=CxKo2USPQ-6q4x8Ckfq_dUFWhA1s98p75ghXc3breJI,2248
11
+ elasticsearch/_async/__init__.py,sha256=TZps9WjF-TaSNzBvW5wUCgXRcbHnvE_9xAynBHsMtSo,787
12
+ elasticsearch/_async/helpers.py,sha256=E-nZfxH4qtEFSm33wy1sJ3kHM5aEwcxIFPiho7AeW5w,22802
13
+ elasticsearch/_async/client/__init__.py,sha256=el5VqfkLJO77w5NH7j4x0XtrZkSlZhvFuOGReI5g1PE,261840
14
+ elasticsearch/_async/client/_base.py,sha256=wDJIs-4Z_fDBF0_XvfCmfSuyL6Oh8I2nSGDZyP91XCU,15531
15
+ elasticsearch/_async/client/async_search.py,sha256=BCV6uNSfkH01ZxzeSzVYBufK620BKQAWeVmRNcQqDUk,29986
16
+ elasticsearch/_async/client/autoscaling.py,sha256=nANpKWeoAnbq_VekOdo5XODVtZ_E7wt2CjW4kton_nc,11052
17
+ elasticsearch/_async/client/cat.py,sha256=GXW2Lv7pI7D1DmwH85HGBwik79UwDyJN-pkzD5cd2c4,130106
18
+ elasticsearch/_async/client/ccr.py,sha256=kl1Po5_XMUmcksuQdlla5ajQB2ZG9Hnw4J4c-5e5t2k,41367
19
+ elasticsearch/_async/client/cluster.py,sha256=u6aXNkT1U1dUjbwL6Cp14mYn0UEXK6hhtFmip8e0Ux0,58722
20
+ elasticsearch/_async/client/connector.py,sha256=y4dq43hq7aij2_nuoUbYJ-u3L0YdKWxYoENvPqMA7eg,76771
21
+ elasticsearch/_async/client/dangling_indices.py,sha256=KRyVE4z-VIJxq8H3-ClVuxd1YWIqZMRvZVnEcRV44R0,8321
22
+ elasticsearch/_async/client/enrich.py,sha256=lrmVx1Y3uKxiUT6GmZoR4-J8wHIgNu3nV6DBJDQdRWo,9771
23
+ elasticsearch/_async/client/eql.py,sha256=9Uj6TU6tZSfImd9ZM4eIDZmJUjNKFCvadnnVkJhHchs,13321
24
+ elasticsearch/_async/client/esql.py,sha256=Gy8Osetb8sCUFDGOkmuPxXhEVq0wRIx3ZdOAC935TDg,6255
25
+ elasticsearch/_async/client/features.py,sha256=5lfyTpx85rglnZF9Ts7tSfBF01HyVKYqFu2E69Xk4cc,5530
26
+ elasticsearch/_async/client/fleet.py,sha256=w9gH4KJdekwpCCMDXDNtv6torPXfZHs3V_dpAfbOVjY,31300
27
+ elasticsearch/_async/client/graph.py,sha256=fE5P9FqfTZtR01VNYiwMTPsAnPPW1Bs4b9CorfHAAD0,5111
28
+ elasticsearch/_async/client/ilm.py,sha256=p7DFmMCFhuY3YoS-y5akv2CQigBQAF2b7YdUmzLsOAA,27430
29
+ elasticsearch/_async/client/indices.py,sha256=o9ELA3Ar3tLplDzbZUbu_n-7vikpcTNAMoPJy8Kih_4,262072
30
+ elasticsearch/_async/client/inference.py,sha256=HJLF9EArSNEDyhwi1sFm-yuyJJO0s36S_aUnvqZbUMI,17226
31
+ elasticsearch/_async/client/ingest.py,sha256=odrMU4wp8V_pyne0drAs4gBGs_BegsWW12pNQHzxSAo,32304
32
+ elasticsearch/_async/client/license.py,sha256=9eEdnNrzG_BvpxNRzi27GwCtzEfeycviEsioknCHPHs,14183
33
+ elasticsearch/_async/client/logstash.py,sha256=3T9z-IaEF733Jqx91_zPmvUBRMWyZJ4UUtLXkgNClCY,6402
34
+ elasticsearch/_async/client/migration.py,sha256=IDlGqlFh6VW7okVNI75f0ZMFG9zPwT3rbmUKOR-39wQ,6222
35
+ elasticsearch/_async/client/ml.py,sha256=MZLt6fOJrQMr52-LokUm9zRoAFPQY44vozqDRpg3N2E,262262
36
+ elasticsearch/_async/client/monitoring.py,sha256=iQNB4Pw_O7M9Pa8VCs41Df_bornAP0qzMYJ2jNbTjAw,3860
37
+ elasticsearch/_async/client/nodes.py,sha256=BNcOhXcblkfgtL1a48YFBexorcv35TnrqeC1OnBQB5M,25089
38
+ elasticsearch/_async/client/query_rules.py,sha256=O-yKrxkL88CLOjiwcnGi75svGoLhYxA7wlhs_UE0pIE,18994
39
+ elasticsearch/_async/client/rollup.py,sha256=VpHuitZQTPV6y1GaBpi57JBGiJI4KRUx2D0kYU6dF6c,28024
40
+ elasticsearch/_async/client/search_application.py,sha256=uPjl2BSsx5OnYya_6H5EdCITBLh8uKLQI_BUtFNTNXQ,21644
41
+ elasticsearch/_async/client/searchable_snapshots.py,sha256=fj-UngCkg-2KVe2QzdDu3eml7s64UUSxHda9JUvphmU,12565
42
+ elasticsearch/_async/client/security.py,sha256=OEehiuoiUOG14c0ZCsBXvEMwf2jBxVdDzRuR23Jiqvk,198690
43
+ elasticsearch/_async/client/shutdown.py,sha256=mil4_od0fYxX_0e60BrnPSu_AzDsNu8zOw2lZA4n6bc,13373
44
+ elasticsearch/_async/client/simulate.py,sha256=D5ADRa-e20cS9KkiF2eC4MXbp7vqUSqfnIk-jgdauKc,7329
45
+ elasticsearch/_async/client/slm.py,sha256=gTEeybeZH5dxFMfw9EjSXrxT8BGDXeCuN0e-Ax13M_s,24024
46
+ elasticsearch/_async/client/snapshot.py,sha256=3u3XKGzLTK4imIKlvsmRj1lFR5l_lffUrOiPjVy7kRE,62328
47
+ elasticsearch/_async/client/sql.py,sha256=Dv7K1FrLiLyP3apDqCQqJFrIWcNRCVQBoDEX3oJg4PQ,19825
48
+ elasticsearch/_async/client/ssl.py,sha256=3m5wREdizhxkJk6axkkV55bPBYyvA0okKCTPjMfjfiU,3636
49
+ elasticsearch/_async/client/synonyms.py,sha256=0Gj9EhFMPNab6yjya6T1o5hkfx0dOiYJtpgjUmTtyUM,15907
50
+ elasticsearch/_async/client/tasks.py,sha256=KZYkYuIzNXXVhl9rO4hfYCUPgC2yDNIpqdxOa1lLfcE,12913
51
+ elasticsearch/_async/client/text_structure.py,sha256=1cRqhrvG8xGL_gvvrwxpc1Oz3aPxr6rer5_ZWyVCzMQ,40197
52
+ elasticsearch/_async/client/transform.py,sha256=_FyStuy9dBhc_FtnB08VmUy5CLvb8etkok3qqGE5Up8,43243
53
+ elasticsearch/_async/client/utils.py,sha256=h64qW1YcQZoJdEpDiYqkgnD3Q_0r2Y_ltUiNpNzpekI,1449
54
+ elasticsearch/_async/client/watcher.py,sha256=UA6VeCEyjwCJZugem1nA2ox80EDygyU9HGC1V7NvNlQ,36560
55
+ elasticsearch/_async/client/xpack.py,sha256=GP7vcwJr8-qchs3wG_xnYUcVPRP-XNJY0SW_AKi3WaA,5001
56
+ elasticsearch/_sync/__init__.py,sha256=TZps9WjF-TaSNzBvW5wUCgXRcbHnvE_9xAynBHsMtSo,787
57
+ elasticsearch/_sync/client/__init__.py,sha256=eD5MYywKc2380Pq8w108FpO7Yo1uL24UV7GxHM1mqbc,261209
58
+ elasticsearch/_sync/client/_base.py,sha256=LesRKQzvgstEPn-hzoY7PBq_4hAyPCzjGiUggGn-fB8,15461
59
+ elasticsearch/_sync/client/async_search.py,sha256=qSK9IVUhmdKbskriWYsel2MyOuNpxAasRDso0rtpwCs,29938
60
+ elasticsearch/_sync/client/autoscaling.py,sha256=EWEh8YOuiAIMqqF8kT2PZA3VkXRL0sdIXk0J5eS_ZAM,11004
61
+ elasticsearch/_sync/client/cat.py,sha256=L6IJ8NDz6ZFn08-sMIwOYqzXxDcRMQreD58ZsS_G4_I,129794
62
+ elasticsearch/_sync/client/ccr.py,sha256=jY4ucdk-y_j-KNY-LWcmcMLJowCY0sTc4PMZN89k77E,41211
63
+ elasticsearch/_sync/client/cluster.py,sha256=w8FPpNQAVQP-BUK9P1KgIhwqdBt3f7p8Oma-R9CVn5Y,58530
64
+ elasticsearch/_sync/client/connector.py,sha256=IWd-CbGk7Tzj0VegVjAg3--prRUfj7PM09Vpqdb3-MQ,76411
65
+ elasticsearch/_sync/client/dangling_indices.py,sha256=fdnmDo7-nsOhxUJ3RQKno-GSlXSg-9SaYbFR1ooTJUw,8285
66
+ elasticsearch/_sync/client/enrich.py,sha256=tY4EZic8bY6Y98oO8_ATl3QkPpf_stNsk14KG1Xo7xE,9711
67
+ elasticsearch/_sync/client/eql.py,sha256=eS1Md2PM2oEVKGFBOuiVUMmWufy6DISO8BtAerZstDM,13273
68
+ elasticsearch/_sync/client/esql.py,sha256=qjlFUYbfTJrW-iCFIQAVX1q24gSDcRXn28rWjqqOsfk,6243
69
+ elasticsearch/_sync/client/features.py,sha256=UrZSunfFKmph1tbKE32tk7SvuAlcodQUk_6EzTaP7l0,5506
70
+ elasticsearch/_sync/client/fleet.py,sha256=F18q9OmvEpnsIWAeQ8rFDFHZ5ugYxailnXM-sH1m0bM,31264
71
+ elasticsearch/_sync/client/graph.py,sha256=bz9qhNG_riiHiFJdPPSiKyTtFgmjzxoFDuXRSYpq43I,5099
72
+ elasticsearch/_sync/client/ilm.py,sha256=36WtDa8cCf6QPTuNWXgqjUsh78mNVkrsqwX3azAigtU,27298
73
+ elasticsearch/_sync/client/indices.py,sha256=R8OXPrKB_Q0h6J9VkUUwbqQTm8BAc1ixYN-gKhsWcZU,261352
74
+ elasticsearch/_sync/client/inference.py,sha256=Q8HsTUfx2IRdwQ4e5CBCSq_qcgcf1jQQtdb1O0vKk_E,17166
75
+ elasticsearch/_sync/client/ingest.py,sha256=We0lk8jKaembPUP7QyKZGlAY9uGLg5-E9luogxVkcfw,32160
76
+ elasticsearch/_sync/client/license.py,sha256=krMEog70n1NcaX2Qe_UhQ94wauvbYujsEcvnlO1Hlx0,14099
77
+ elasticsearch/_sync/client/logstash.py,sha256=mDPcjiKjNoogacPMhlN1egAj9spJepdqIORr1k_uJbg,6366
78
+ elasticsearch/_sync/client/migration.py,sha256=rgKE-xpxZZm5gvuOpqlVH6qT4gRr0fXtYcThn7wQGRI,6186
79
+ elasticsearch/_sync/client/ml.py,sha256=lGjm3z4I44a1BbVTJRz2PMpw8shKzkA06Oh19nZl1ak,261386
80
+ elasticsearch/_sync/client/monitoring.py,sha256=wkSeB1WmqRrjsxJwiAoVas6REunBwNMgwaz0zHt5xgg,3848
81
+ elasticsearch/_sync/client/nodes.py,sha256=h5qBm2w3_WZ_MInEb-0dg_4KSerpigI4anhEda5LdBs,25005
82
+ elasticsearch/_sync/client/query_rules.py,sha256=PjtRhb72mP9ISBQW9ONSNT0gktb1wtpIAbDwKI_vT34,18898
83
+ elasticsearch/_sync/client/rollup.py,sha256=6-eL-BDkFIhA7aKYn5Zzgv3aa9LBN6KN4ys8TZNHjCc,27928
84
+ elasticsearch/_sync/client/search_application.py,sha256=l7Op9xEzlVr25618ytZ6MkbsS5C6ithwuYpm3VTE1VI,21524
85
+ elasticsearch/_sync/client/searchable_snapshots.py,sha256=KG3_l4QWoKN1bbp-nbbEp3MYi9shPDFOd_s7q1B6NJQ,12517
86
+ elasticsearch/_sync/client/security.py,sha256=OeGrlohm5L5HCisGlD__rCW1aD2vYRhESotsfIGBPQw,197922
87
+ elasticsearch/_sync/client/shutdown.py,sha256=X6xe0LIWYR25Mz2n60sAD7Bq62yGz5TFovZnTyOzXlo,13337
88
+ elasticsearch/_sync/client/simulate.py,sha256=OSA0fo-VNVrQV39Q009pSwEtYbEzRsQSkk_n5gV29Ac,7317
89
+ elasticsearch/_sync/client/slm.py,sha256=k9QRZvW4CYUlJiM5nac9fLIbdbgqUX1NHBW9X-N4QDE,23916
90
+ elasticsearch/_sync/client/snapshot.py,sha256=-ZDh4he5o9ri2v4AfiPP5pzm0RSuVXtZUTbdYthvvhw,62172
91
+ elasticsearch/_sync/client/sql.py,sha256=PWQF9l_PkyeeGqvMw6dRAsd_SxjRESBVMFUsCggg5EI,19753
92
+ elasticsearch/_sync/client/ssl.py,sha256=gK9Er9uy2mf3ml24A3DpT8U1heiNe5ioOtNuUq31yOU,3624
93
+ elasticsearch/_sync/client/synonyms.py,sha256=x4sMHqJpixwh-Xkck75AhTtrDMqLHowUvCA7T3vXGlc,15823
94
+ elasticsearch/_sync/client/tasks.py,sha256=UhXG8tYueF44A4aSSEoSSkAtphXghp4wzQv5Adq7cW4,12877
95
+ elasticsearch/_sync/client/text_structure.py,sha256=kwa2_9lAJZJaRk1nGMLycoAp2KM7_BpUqgPJ1s9WLd4,40149
96
+ elasticsearch/_sync/client/transform.py,sha256=VJC3dsoHYS_HctOFbkvNjauu-usUfa7Mu5EM_BaZeMk,43111
97
+ elasticsearch/_sync/client/utils.py,sha256=aPAIUrofb5AXK5YLgHNqrc10csWnHMSdPWKQSUd-EwI,18714
98
+ elasticsearch/_sync/client/watcher.py,sha256=5d9CJxU_xUMcNatDuL7lRWKEzFcnY7i8ENgik8St79o,36404
99
+ elasticsearch/_sync/client/xpack.py,sha256=5CD7myiaMaxbQqethEa30y_cwzk4Hj2zmplybMdm5y8,4977
100
+ elasticsearch/helpers/__init__.py,sha256=7X10XwdP_fP1QTHGcOxGbCvl2oBevkz_DjhjXCh_59I,1470
101
+ elasticsearch/helpers/actions.py,sha256=rSK-tfpYtgD8x72tm_Lyv_aDnyEZQXDrKNKKZm8VM2k,32372
102
+ elasticsearch/helpers/errors.py,sha256=5khkK4zbXsk4ry8HDmGfyzlmZI9KSKP-MivCgcPoO5U,1506
103
+ elasticsearch/helpers/vectorstore/__init__.py,sha256=znQOANiaSZOJco_dkBf06wpFMKwK0OoDcNkkS8NMWKE,2192
104
+ elasticsearch/helpers/vectorstore/_utils.py,sha256=xJwCFq7sqUBeq143tfnfm3i4e-ta88s85wKZmPZwJWg,3985
105
+ elasticsearch/helpers/vectorstore/_async/__init__.py,sha256=TZps9WjF-TaSNzBvW5wUCgXRcbHnvE_9xAynBHsMtSo,787
106
+ elasticsearch/helpers/vectorstore/_async/_utils.py,sha256=wYlPKvAT4bflJjULLB2LMjJroAgX6tjoDGBPT6V1gj8,1608
107
+ elasticsearch/helpers/vectorstore/_async/embedding_service.py,sha256=Qv4HsPC4k6J00K4ajhJPFlET6fOTV-l74iDCr4dpZgc,3655
108
+ elasticsearch/helpers/vectorstore/_async/strategies.py,sha256=YpmCiz-skq2uvJhUY_nFpX_L6eRlAawZdA2jvGj30Hs,16210
109
+ elasticsearch/helpers/vectorstore/_async/vectorstore.py,sha256=U9xOnjLjJmLeT8dltKWYvsDD4jkmyH0ybfxR0Bn6-_Y,16707
110
+ elasticsearch/helpers/vectorstore/_sync/__init__.py,sha256=TZps9WjF-TaSNzBvW5wUCgXRcbHnvE_9xAynBHsMtSo,787
111
+ elasticsearch/helpers/vectorstore/_sync/_utils.py,sha256=5pdvNS5XC3wqShjliW9Njl9tVuyI9WMy0cxc5-97K-c,1569
112
+ elasticsearch/helpers/vectorstore/_sync/embedding_service.py,sha256=sAw_WKUcmyqOOJRqnNesZCzn7ZyA91v4NvvQszHIWJ8,3582
113
+ elasticsearch/helpers/vectorstore/_sync/strategies.py,sha256=LfB2_uQMnPkWpe67hnPxeS1h5rLodnYOgk64hp9bs-s,16108
114
+ elasticsearch/helpers/vectorstore/_sync/vectorstore.py,sha256=bTWLhdGkdXHS4SojSFHHAuBTUUC3OBdiyDqgQmHC_sI,16510
115
+ elasticsearch-8.17.1.dist-info/METADATA,sha256=sIF4rIuP3g58wiEzS7r_uNMklhHGtrVrWP49d1545RM,8781
116
+ elasticsearch-8.17.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
117
+ elasticsearch-8.17.1.dist-info/licenses/LICENSE,sha256=XfKg2H1sVi8OoRxoisUlMqoo10TKvHmU_wU39ks7MyA,10143
118
+ elasticsearch-8.17.1.dist-info/licenses/NOTICE,sha256=t4IjKAJ_G-0hYaL4AH16CVS_xDel8UXrJVK6x7JDaGA,61
119
+ elasticsearch-8.17.1.dist-info/RECORD,,