elasticsearch 8.15.0__tar.gz → 8.15.1__tar.gz

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 (170) hide show
  1. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/.gitignore +1 -0
  2. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/PKG-INFO +2 -2
  3. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/__init__.py +4 -0
  4. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/indices.py +13 -0
  5. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/ingest.py +175 -0
  6. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/synonyms.py +3 -1
  7. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_otel.py +22 -0
  8. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/__init__.py +4 -0
  9. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/indices.py +13 -0
  10. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/ingest.py +175 -0
  11. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/synonyms.py +3 -1
  12. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_version.py +1 -1
  13. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/helpers/actions.py +120 -106
  14. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/pyproject.toml +1 -1
  15. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/CHANGELOG.md +0 -0
  16. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/CONTRIBUTING.md +0 -0
  17. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/LICENSE +0 -0
  18. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/NOTICE +0 -0
  19. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/README.md +0 -0
  20. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/Makefile +0 -0
  21. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/async-search.rst +0 -0
  22. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/autoscaling.rst +0 -0
  23. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/cat.rst +0 -0
  24. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/ccr.rst +0 -0
  25. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/cluster.rst +0 -0
  26. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/connector.rst +0 -0
  27. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/dangling-indices.rst +0 -0
  28. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/elasticsearch.rst +0 -0
  29. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/enrich-policies.rst +0 -0
  30. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/eql.rst +0 -0
  31. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/esql.rst +0 -0
  32. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/fleet.rst +0 -0
  33. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/graph-explore.rst +0 -0
  34. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/index-lifecycle-management.rst +0 -0
  35. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/indices.rst +0 -0
  36. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/inference.rst +0 -0
  37. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/ingest-pipelines.rst +0 -0
  38. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/license.rst +0 -0
  39. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/logstash.rst +0 -0
  40. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/migration.rst +0 -0
  41. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/ml.rst +0 -0
  42. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/monitoring.rst +0 -0
  43. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/nodes.rst +0 -0
  44. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/query-rules.rst +0 -0
  45. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/rollup-indices.rst +0 -0
  46. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/search-application.rst +0 -0
  47. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/searchable-snapshots.rst +0 -0
  48. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/security.rst +0 -0
  49. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/shutdown.rst +0 -0
  50. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/snapshot-lifecycle-management.rst +0 -0
  51. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/snapshots.rst +0 -0
  52. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/snapshottable-features.rst +0 -0
  53. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/sql.rst +0 -0
  54. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/synonyms.rst +0 -0
  55. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/tasks.rst +0 -0
  56. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/text-structure.rst +0 -0
  57. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/tls-ssl.rst +0 -0
  58. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/transforms.rst +0 -0
  59. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/watcher.rst +0 -0
  60. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api/x-pack.rst +0 -0
  61. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/api.rst +0 -0
  62. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/async.rst +0 -0
  63. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/conf.py +0 -0
  64. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/exceptions.rst +0 -0
  65. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/helpers.rst +0 -0
  66. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/index.rst +0 -0
  67. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/interactive.rst +0 -0
  68. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/docs/sphinx/quickstart.rst +0 -0
  69. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/__init__.py +0 -0
  70. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/__init__.py +0 -0
  71. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/_base.py +0 -0
  72. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/async_search.py +0 -0
  73. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/autoscaling.py +0 -0
  74. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/cat.py +0 -0
  75. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/ccr.py +0 -0
  76. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/cluster.py +0 -0
  77. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/connector.py +0 -0
  78. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/dangling_indices.py +0 -0
  79. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/enrich.py +0 -0
  80. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/eql.py +0 -0
  81. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/esql.py +0 -0
  82. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/features.py +0 -0
  83. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/fleet.py +0 -0
  84. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/graph.py +0 -0
  85. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/ilm.py +0 -0
  86. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/inference.py +0 -0
  87. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/license.py +0 -0
  88. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/logstash.py +0 -0
  89. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/migration.py +0 -0
  90. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/ml.py +0 -0
  91. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/monitoring.py +0 -0
  92. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/nodes.py +0 -0
  93. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/query_rules.py +0 -0
  94. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/rollup.py +0 -0
  95. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/search_application.py +0 -0
  96. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/searchable_snapshots.py +0 -0
  97. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/security.py +0 -0
  98. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/shutdown.py +0 -0
  99. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/slm.py +0 -0
  100. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/snapshot.py +0 -0
  101. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/sql.py +0 -0
  102. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/ssl.py +0 -0
  103. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/tasks.py +0 -0
  104. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/text_structure.py +0 -0
  105. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/transform.py +0 -0
  106. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/utils.py +0 -0
  107. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/watcher.py +0 -0
  108. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/client/xpack.py +0 -0
  109. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_async/helpers.py +0 -0
  110. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/__init__.py +0 -0
  111. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/_base.py +0 -0
  112. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/async_search.py +0 -0
  113. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/autoscaling.py +0 -0
  114. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/cat.py +0 -0
  115. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/ccr.py +0 -0
  116. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/cluster.py +0 -0
  117. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/connector.py +0 -0
  118. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/dangling_indices.py +0 -0
  119. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/enrich.py +0 -0
  120. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/eql.py +0 -0
  121. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/esql.py +0 -0
  122. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/features.py +0 -0
  123. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/fleet.py +0 -0
  124. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/graph.py +0 -0
  125. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/ilm.py +0 -0
  126. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/inference.py +0 -0
  127. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/license.py +0 -0
  128. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/logstash.py +0 -0
  129. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/migration.py +0 -0
  130. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/ml.py +0 -0
  131. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/monitoring.py +0 -0
  132. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/nodes.py +0 -0
  133. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/query_rules.py +0 -0
  134. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/rollup.py +0 -0
  135. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/search_application.py +0 -0
  136. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/searchable_snapshots.py +0 -0
  137. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/security.py +0 -0
  138. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/shutdown.py +0 -0
  139. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/slm.py +0 -0
  140. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/snapshot.py +0 -0
  141. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/sql.py +0 -0
  142. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/ssl.py +0 -0
  143. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/tasks.py +0 -0
  144. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/text_structure.py +0 -0
  145. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/transform.py +0 -0
  146. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/utils.py +0 -0
  147. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/watcher.py +0 -0
  148. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_sync/client/xpack.py +0 -0
  149. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/_utils.py +0 -0
  150. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/client.py +0 -0
  151. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/compat.py +0 -0
  152. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/exceptions.py +0 -0
  153. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/helpers/__init__.py +0 -0
  154. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/helpers/errors.py +0 -0
  155. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/helpers/vectorstore/__init__.py +0 -0
  156. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/helpers/vectorstore/_async/__init__.py +0 -0
  157. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/helpers/vectorstore/_async/_utils.py +0 -0
  158. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/helpers/vectorstore/_async/embedding_service.py +0 -0
  159. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/helpers/vectorstore/_async/strategies.py +0 -0
  160. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/helpers/vectorstore/_async/vectorstore.py +0 -0
  161. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/helpers/vectorstore/_sync/__init__.py +0 -0
  162. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/helpers/vectorstore/_sync/_utils.py +0 -0
  163. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/helpers/vectorstore/_sync/embedding_service.py +0 -0
  164. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/helpers/vectorstore/_sync/strategies.py +0 -0
  165. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/helpers/vectorstore/_sync/vectorstore.py +0 -0
  166. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/helpers/vectorstore/_utils.py +0 -0
  167. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/py.typed +0 -0
  168. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/serializer.py +0 -0
  169. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/elasticsearch/transport.py +0 -0
  170. {elasticsearch-8.15.0 → elasticsearch-8.15.1}/setup.cfg +0 -0
@@ -25,6 +25,7 @@ share/python-wheels/
25
25
  .installed.cfg
26
26
  *.egg
27
27
  MANIFEST
28
+ node_modules
28
29
 
29
30
  # PyInstaller
30
31
  # Usually these files are written by a python script from a template
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: elasticsearch
3
- Version: 8.15.0
3
+ Version: 8.15.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
@@ -54,7 +54,7 @@ Requires-Dist: unasync; extra == 'dev'
54
54
  Provides-Extra: docs
55
55
  Requires-Dist: sphinx; extra == 'docs'
56
56
  Requires-Dist: sphinx-autodoc-typehints; extra == 'docs'
57
- Requires-Dist: sphinx-rtd-theme; extra == 'docs'
57
+ Requires-Dist: sphinx-rtd-theme>=2.0; extra == 'docs'
58
58
  Provides-Extra: orjson
59
59
  Requires-Dist: orjson>=3; extra == 'orjson'
60
60
  Provides-Extra: pyarrow
@@ -4980,6 +4980,7 @@ class AsyncElasticsearch(BaseClient):
4980
4980
  pipeline: t.Optional[str] = None,
4981
4981
  preference: t.Optional[str] = None,
4982
4982
  pretty: t.Optional[bool] = None,
4983
+ q: t.Optional[str] = None,
4983
4984
  query: t.Optional[t.Mapping[str, t.Any]] = None,
4984
4985
  refresh: t.Optional[bool] = None,
4985
4986
  request_cache: t.Optional[bool] = None,
@@ -5046,6 +5047,7 @@ class AsyncElasticsearch(BaseClient):
5046
5047
  parameter.
5047
5048
  :param preference: Specifies the node or shard the operation should be performed
5048
5049
  on. Random by default.
5050
+ :param q: Query in the Lucene query string syntax.
5049
5051
  :param query: Specifies the documents to update using the Query DSL.
5050
5052
  :param refresh: If `true`, Elasticsearch refreshes affected shards to make the
5051
5053
  operation visible to search.
@@ -5130,6 +5132,8 @@ class AsyncElasticsearch(BaseClient):
5130
5132
  __query["preference"] = preference
5131
5133
  if pretty is not None:
5132
5134
  __query["pretty"] = pretty
5135
+ if q is not None:
5136
+ __query["q"] = q
5133
5137
  if refresh is not None:
5134
5138
  __query["refresh"] = refresh
5135
5139
  if request_cache is not None:
@@ -3614,6 +3614,7 @@ class IndicesClient(NamespacedClient):
3614
3614
  self,
3615
3615
  *,
3616
3616
  name: t.Union[str, t.Sequence[str]],
3617
+ allow_no_indices: t.Optional[bool] = None,
3617
3618
  error_trace: t.Optional[bool] = None,
3618
3619
  expand_wildcards: t.Optional[
3619
3620
  t.Union[
@@ -3625,6 +3626,7 @@ class IndicesClient(NamespacedClient):
3625
3626
  ] = None,
3626
3627
  filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
3627
3628
  human: t.Optional[bool] = None,
3629
+ ignore_unavailable: t.Optional[bool] = None,
3628
3630
  pretty: t.Optional[bool] = None,
3629
3631
  ) -> ObjectApiResponse[t.Any]:
3630
3632
  """
@@ -3636,16 +3638,25 @@ class IndicesClient(NamespacedClient):
3636
3638
  :param name: Comma-separated name(s) or index pattern(s) of the indices, aliases,
3637
3639
  and data streams to resolve. Resources on remote clusters can be specified
3638
3640
  using the `<cluster>`:`<name>` syntax.
3641
+ :param allow_no_indices: If `false`, the request returns an error if any wildcard
3642
+ expression, index alias, or `_all` value targets only missing or closed indices.
3643
+ This behavior applies even if the request targets other open indices. For
3644
+ example, a request targeting `foo*,bar*` returns an error if an index starts
3645
+ with `foo` but no index starts with `bar`.
3639
3646
  :param expand_wildcards: Type of index that wildcard patterns can match. If the
3640
3647
  request can target data streams, this argument determines whether wildcard
3641
3648
  expressions match hidden data streams. Supports comma-separated values, such
3642
3649
  as `open,hidden`. Valid values are: `all`, `open`, `closed`, `hidden`, `none`.
3650
+ :param ignore_unavailable: If `false`, the request returns an error if it targets
3651
+ a missing or closed index.
3643
3652
  """
3644
3653
  if name in SKIP_IN_PATH:
3645
3654
  raise ValueError("Empty value passed for parameter 'name'")
3646
3655
  __path_parts: t.Dict[str, str] = {"name": _quote(name)}
3647
3656
  __path = f'/_resolve/index/{__path_parts["name"]}'
3648
3657
  __query: t.Dict[str, t.Any] = {}
3658
+ if allow_no_indices is not None:
3659
+ __query["allow_no_indices"] = allow_no_indices
3649
3660
  if error_trace is not None:
3650
3661
  __query["error_trace"] = error_trace
3651
3662
  if expand_wildcards is not None:
@@ -3654,6 +3665,8 @@ class IndicesClient(NamespacedClient):
3654
3665
  __query["filter_path"] = filter_path
3655
3666
  if human is not None:
3656
3667
  __query["human"] = human
3668
+ if ignore_unavailable is not None:
3669
+ __query["ignore_unavailable"] = ignore_unavailable
3657
3670
  if pretty is not None:
3658
3671
  __query["pretty"] = pretty
3659
3672
  __headers = {"accept": "application/json"}
@@ -25,6 +25,57 @@ from .utils import SKIP_IN_PATH, _quote, _rewrite_parameters
25
25
 
26
26
  class IngestClient(NamespacedClient):
27
27
 
28
+ @_rewrite_parameters()
29
+ async def delete_geoip_database(
30
+ self,
31
+ *,
32
+ id: t.Union[str, t.Sequence[str]],
33
+ error_trace: t.Optional[bool] = None,
34
+ filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
35
+ human: t.Optional[bool] = None,
36
+ master_timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
37
+ pretty: t.Optional[bool] = None,
38
+ timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
39
+ ) -> ObjectApiResponse[t.Any]:
40
+ """
41
+ Deletes a geoip database configuration.
42
+
43
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/TODO.html>`_
44
+
45
+ :param id: A comma-separated list of geoip database configurations to delete
46
+ :param master_timeout: Period to wait for a connection to the master node. If
47
+ no response is received before the timeout expires, the request fails and
48
+ returns an error.
49
+ :param timeout: Period to wait for a response. If no response is received before
50
+ the timeout expires, the request fails and returns an error.
51
+ """
52
+ if id in SKIP_IN_PATH:
53
+ raise ValueError("Empty value passed for parameter 'id'")
54
+ __path_parts: t.Dict[str, str] = {"id": _quote(id)}
55
+ __path = f'/_ingest/geoip/database/{__path_parts["id"]}'
56
+ __query: t.Dict[str, t.Any] = {}
57
+ if error_trace is not None:
58
+ __query["error_trace"] = error_trace
59
+ if filter_path is not None:
60
+ __query["filter_path"] = filter_path
61
+ if human is not None:
62
+ __query["human"] = human
63
+ if master_timeout is not None:
64
+ __query["master_timeout"] = master_timeout
65
+ if pretty is not None:
66
+ __query["pretty"] = pretty
67
+ if timeout is not None:
68
+ __query["timeout"] = timeout
69
+ __headers = {"accept": "application/json"}
70
+ return await self.perform_request( # type: ignore[return-value]
71
+ "DELETE",
72
+ __path,
73
+ params=__query,
74
+ headers=__headers,
75
+ endpoint_id="ingest.delete_geoip_database",
76
+ path_parts=__path_parts,
77
+ )
78
+
28
79
  @_rewrite_parameters()
29
80
  async def delete_pipeline(
30
81
  self,
@@ -112,6 +163,57 @@ class IngestClient(NamespacedClient):
112
163
  path_parts=__path_parts,
113
164
  )
114
165
 
166
+ @_rewrite_parameters()
167
+ async def get_geoip_database(
168
+ self,
169
+ *,
170
+ id: t.Optional[t.Union[str, t.Sequence[str]]] = None,
171
+ error_trace: t.Optional[bool] = None,
172
+ filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
173
+ human: t.Optional[bool] = None,
174
+ master_timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
175
+ pretty: t.Optional[bool] = None,
176
+ ) -> ObjectApiResponse[t.Any]:
177
+ """
178
+ Returns information about one or more geoip database configurations.
179
+
180
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/TODO.html>`_
181
+
182
+ :param id: Comma-separated list of database configuration IDs to retrieve. Wildcard
183
+ (`*`) expressions are supported. To get all database configurations, omit
184
+ this parameter or use `*`.
185
+ :param master_timeout: Period to wait for a connection to the master node. If
186
+ no response is received before the timeout expires, the request fails and
187
+ returns an error.
188
+ """
189
+ __path_parts: t.Dict[str, str]
190
+ if id not in SKIP_IN_PATH:
191
+ __path_parts = {"id": _quote(id)}
192
+ __path = f'/_ingest/geoip/database/{__path_parts["id"]}'
193
+ else:
194
+ __path_parts = {}
195
+ __path = "/_ingest/geoip/database"
196
+ __query: t.Dict[str, t.Any] = {}
197
+ if error_trace is not None:
198
+ __query["error_trace"] = error_trace
199
+ if filter_path is not None:
200
+ __query["filter_path"] = filter_path
201
+ if human is not None:
202
+ __query["human"] = human
203
+ if master_timeout is not None:
204
+ __query["master_timeout"] = master_timeout
205
+ if pretty is not None:
206
+ __query["pretty"] = pretty
207
+ __headers = {"accept": "application/json"}
208
+ return await self.perform_request( # type: ignore[return-value]
209
+ "GET",
210
+ __path,
211
+ params=__query,
212
+ headers=__headers,
213
+ endpoint_id="ingest.get_geoip_database",
214
+ path_parts=__path_parts,
215
+ )
216
+
115
217
  @_rewrite_parameters()
116
218
  async def get_pipeline(
117
219
  self,
@@ -205,6 +307,79 @@ class IngestClient(NamespacedClient):
205
307
  path_parts=__path_parts,
206
308
  )
207
309
 
310
+ @_rewrite_parameters(
311
+ body_fields=("maxmind", "name"),
312
+ )
313
+ async def put_geoip_database(
314
+ self,
315
+ *,
316
+ id: str,
317
+ maxmind: t.Optional[t.Mapping[str, t.Any]] = None,
318
+ name: t.Optional[str] = None,
319
+ error_trace: t.Optional[bool] = None,
320
+ filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
321
+ human: t.Optional[bool] = None,
322
+ master_timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
323
+ pretty: t.Optional[bool] = None,
324
+ timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
325
+ body: t.Optional[t.Dict[str, t.Any]] = None,
326
+ ) -> ObjectApiResponse[t.Any]:
327
+ """
328
+ Returns information about one or more geoip database configurations.
329
+
330
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/TODO.html>`_
331
+
332
+ :param id: ID of the database configuration to create or update.
333
+ :param maxmind: The configuration necessary to identify which IP geolocation
334
+ provider to use to download the database, as well as any provider-specific
335
+ configuration necessary for such downloading. At present, the only supported
336
+ provider is maxmind, and the maxmind provider requires that an account_id
337
+ (string) is configured.
338
+ :param name: The provider-assigned name of the IP geolocation database to download.
339
+ :param master_timeout: Period to wait for a connection to the master node. If
340
+ no response is received before the timeout expires, the request fails and
341
+ returns an error.
342
+ :param timeout: Period to wait for a response. If no response is received before
343
+ the timeout expires, the request fails and returns an error.
344
+ """
345
+ if id in SKIP_IN_PATH:
346
+ raise ValueError("Empty value passed for parameter 'id'")
347
+ if maxmind is None and body is None:
348
+ raise ValueError("Empty value passed for parameter 'maxmind'")
349
+ if name is None and body is None:
350
+ raise ValueError("Empty value passed for parameter 'name'")
351
+ __path_parts: t.Dict[str, str] = {"id": _quote(id)}
352
+ __path = f'/_ingest/geoip/database/{__path_parts["id"]}'
353
+ __query: t.Dict[str, t.Any] = {}
354
+ __body: t.Dict[str, t.Any] = body if body is not None else {}
355
+ if error_trace is not None:
356
+ __query["error_trace"] = error_trace
357
+ if filter_path is not None:
358
+ __query["filter_path"] = filter_path
359
+ if human is not None:
360
+ __query["human"] = human
361
+ if master_timeout is not None:
362
+ __query["master_timeout"] = master_timeout
363
+ if pretty is not None:
364
+ __query["pretty"] = pretty
365
+ if timeout is not None:
366
+ __query["timeout"] = timeout
367
+ if not __body:
368
+ if maxmind is not None:
369
+ __body["maxmind"] = maxmind
370
+ if name is not None:
371
+ __body["name"] = name
372
+ __headers = {"accept": "application/json", "content-type": "application/json"}
373
+ return await self.perform_request( # type: ignore[return-value]
374
+ "PUT",
375
+ __path,
376
+ params=__query,
377
+ headers=__headers,
378
+ body=__body,
379
+ endpoint_id="ingest.put_geoip_database",
380
+ path_parts=__path_parts,
381
+ )
382
+
208
383
  @_rewrite_parameters(
209
384
  body_fields=("description", "meta", "on_failure", "processors", "version"),
210
385
  parameter_aliases={"_meta": "meta"},
@@ -262,7 +262,9 @@ class SynonymsClient(NamespacedClient):
262
262
  self,
263
263
  *,
264
264
  id: str,
265
- synonyms_set: t.Optional[t.Sequence[t.Mapping[str, t.Any]]] = None,
265
+ synonyms_set: t.Optional[
266
+ t.Union[t.Mapping[str, t.Any], t.Sequence[t.Mapping[str, t.Any]]]
267
+ ] = None,
266
268
  error_trace: t.Optional[bool] = None,
267
269
  filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
268
270
  human: t.Optional[bool] = None,
@@ -86,3 +86,25 @@ class OpenTelemetry:
86
86
  endpoint_id=endpoint_id,
87
87
  body_strategy=self.body_strategy,
88
88
  )
89
+
90
+ @contextlib.contextmanager
91
+ def helpers_span(self, span_name: str) -> Generator[OpenTelemetrySpan, None, None]:
92
+ if not self.enabled or self.tracer is None:
93
+ yield OpenTelemetrySpan(None)
94
+ return
95
+
96
+ with self.tracer.start_as_current_span(span_name) as otel_span:
97
+ otel_span.set_attribute("db.system", "elasticsearch")
98
+ otel_span.set_attribute("db.operation", span_name)
99
+ # Without a request method, Elastic APM does not display the traces
100
+ otel_span.set_attribute("http.request.method", "null")
101
+ yield OpenTelemetrySpan(otel_span)
102
+
103
+ @contextlib.contextmanager
104
+ def use_span(self, span: OpenTelemetrySpan) -> Generator[None, None, None]:
105
+ if not self.enabled or self.tracer is None:
106
+ yield
107
+ return
108
+
109
+ with trace.use_span(span.otel_span):
110
+ yield
@@ -4978,6 +4978,7 @@ class Elasticsearch(BaseClient):
4978
4978
  pipeline: t.Optional[str] = None,
4979
4979
  preference: t.Optional[str] = None,
4980
4980
  pretty: t.Optional[bool] = None,
4981
+ q: t.Optional[str] = None,
4981
4982
  query: t.Optional[t.Mapping[str, t.Any]] = None,
4982
4983
  refresh: t.Optional[bool] = None,
4983
4984
  request_cache: t.Optional[bool] = None,
@@ -5044,6 +5045,7 @@ class Elasticsearch(BaseClient):
5044
5045
  parameter.
5045
5046
  :param preference: Specifies the node or shard the operation should be performed
5046
5047
  on. Random by default.
5048
+ :param q: Query in the Lucene query string syntax.
5047
5049
  :param query: Specifies the documents to update using the Query DSL.
5048
5050
  :param refresh: If `true`, Elasticsearch refreshes affected shards to make the
5049
5051
  operation visible to search.
@@ -5128,6 +5130,8 @@ class Elasticsearch(BaseClient):
5128
5130
  __query["preference"] = preference
5129
5131
  if pretty is not None:
5130
5132
  __query["pretty"] = pretty
5133
+ if q is not None:
5134
+ __query["q"] = q
5131
5135
  if refresh is not None:
5132
5136
  __query["refresh"] = refresh
5133
5137
  if request_cache is not None:
@@ -3614,6 +3614,7 @@ class IndicesClient(NamespacedClient):
3614
3614
  self,
3615
3615
  *,
3616
3616
  name: t.Union[str, t.Sequence[str]],
3617
+ allow_no_indices: t.Optional[bool] = None,
3617
3618
  error_trace: t.Optional[bool] = None,
3618
3619
  expand_wildcards: t.Optional[
3619
3620
  t.Union[
@@ -3625,6 +3626,7 @@ class IndicesClient(NamespacedClient):
3625
3626
  ] = None,
3626
3627
  filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
3627
3628
  human: t.Optional[bool] = None,
3629
+ ignore_unavailable: t.Optional[bool] = None,
3628
3630
  pretty: t.Optional[bool] = None,
3629
3631
  ) -> ObjectApiResponse[t.Any]:
3630
3632
  """
@@ -3636,16 +3638,25 @@ class IndicesClient(NamespacedClient):
3636
3638
  :param name: Comma-separated name(s) or index pattern(s) of the indices, aliases,
3637
3639
  and data streams to resolve. Resources on remote clusters can be specified
3638
3640
  using the `<cluster>`:`<name>` syntax.
3641
+ :param allow_no_indices: If `false`, the request returns an error if any wildcard
3642
+ expression, index alias, or `_all` value targets only missing or closed indices.
3643
+ This behavior applies even if the request targets other open indices. For
3644
+ example, a request targeting `foo*,bar*` returns an error if an index starts
3645
+ with `foo` but no index starts with `bar`.
3639
3646
  :param expand_wildcards: Type of index that wildcard patterns can match. If the
3640
3647
  request can target data streams, this argument determines whether wildcard
3641
3648
  expressions match hidden data streams. Supports comma-separated values, such
3642
3649
  as `open,hidden`. Valid values are: `all`, `open`, `closed`, `hidden`, `none`.
3650
+ :param ignore_unavailable: If `false`, the request returns an error if it targets
3651
+ a missing or closed index.
3643
3652
  """
3644
3653
  if name in SKIP_IN_PATH:
3645
3654
  raise ValueError("Empty value passed for parameter 'name'")
3646
3655
  __path_parts: t.Dict[str, str] = {"name": _quote(name)}
3647
3656
  __path = f'/_resolve/index/{__path_parts["name"]}'
3648
3657
  __query: t.Dict[str, t.Any] = {}
3658
+ if allow_no_indices is not None:
3659
+ __query["allow_no_indices"] = allow_no_indices
3649
3660
  if error_trace is not None:
3650
3661
  __query["error_trace"] = error_trace
3651
3662
  if expand_wildcards is not None:
@@ -3654,6 +3665,8 @@ class IndicesClient(NamespacedClient):
3654
3665
  __query["filter_path"] = filter_path
3655
3666
  if human is not None:
3656
3667
  __query["human"] = human
3668
+ if ignore_unavailable is not None:
3669
+ __query["ignore_unavailable"] = ignore_unavailable
3657
3670
  if pretty is not None:
3658
3671
  __query["pretty"] = pretty
3659
3672
  __headers = {"accept": "application/json"}
@@ -25,6 +25,57 @@ from .utils import SKIP_IN_PATH, _quote, _rewrite_parameters
25
25
 
26
26
  class IngestClient(NamespacedClient):
27
27
 
28
+ @_rewrite_parameters()
29
+ def delete_geoip_database(
30
+ self,
31
+ *,
32
+ id: t.Union[str, t.Sequence[str]],
33
+ error_trace: t.Optional[bool] = None,
34
+ filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
35
+ human: t.Optional[bool] = None,
36
+ master_timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
37
+ pretty: t.Optional[bool] = None,
38
+ timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
39
+ ) -> ObjectApiResponse[t.Any]:
40
+ """
41
+ Deletes a geoip database configuration.
42
+
43
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/TODO.html>`_
44
+
45
+ :param id: A comma-separated list of geoip database configurations to delete
46
+ :param master_timeout: Period to wait for a connection to the master node. If
47
+ no response is received before the timeout expires, the request fails and
48
+ returns an error.
49
+ :param timeout: Period to wait for a response. If no response is received before
50
+ the timeout expires, the request fails and returns an error.
51
+ """
52
+ if id in SKIP_IN_PATH:
53
+ raise ValueError("Empty value passed for parameter 'id'")
54
+ __path_parts: t.Dict[str, str] = {"id": _quote(id)}
55
+ __path = f'/_ingest/geoip/database/{__path_parts["id"]}'
56
+ __query: t.Dict[str, t.Any] = {}
57
+ if error_trace is not None:
58
+ __query["error_trace"] = error_trace
59
+ if filter_path is not None:
60
+ __query["filter_path"] = filter_path
61
+ if human is not None:
62
+ __query["human"] = human
63
+ if master_timeout is not None:
64
+ __query["master_timeout"] = master_timeout
65
+ if pretty is not None:
66
+ __query["pretty"] = pretty
67
+ if timeout is not None:
68
+ __query["timeout"] = timeout
69
+ __headers = {"accept": "application/json"}
70
+ return self.perform_request( # type: ignore[return-value]
71
+ "DELETE",
72
+ __path,
73
+ params=__query,
74
+ headers=__headers,
75
+ endpoint_id="ingest.delete_geoip_database",
76
+ path_parts=__path_parts,
77
+ )
78
+
28
79
  @_rewrite_parameters()
29
80
  def delete_pipeline(
30
81
  self,
@@ -112,6 +163,57 @@ class IngestClient(NamespacedClient):
112
163
  path_parts=__path_parts,
113
164
  )
114
165
 
166
+ @_rewrite_parameters()
167
+ def get_geoip_database(
168
+ self,
169
+ *,
170
+ id: t.Optional[t.Union[str, t.Sequence[str]]] = None,
171
+ error_trace: t.Optional[bool] = None,
172
+ filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
173
+ human: t.Optional[bool] = None,
174
+ master_timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
175
+ pretty: t.Optional[bool] = None,
176
+ ) -> ObjectApiResponse[t.Any]:
177
+ """
178
+ Returns information about one or more geoip database configurations.
179
+
180
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/TODO.html>`_
181
+
182
+ :param id: Comma-separated list of database configuration IDs to retrieve. Wildcard
183
+ (`*`) expressions are supported. To get all database configurations, omit
184
+ this parameter or use `*`.
185
+ :param master_timeout: Period to wait for a connection to the master node. If
186
+ no response is received before the timeout expires, the request fails and
187
+ returns an error.
188
+ """
189
+ __path_parts: t.Dict[str, str]
190
+ if id not in SKIP_IN_PATH:
191
+ __path_parts = {"id": _quote(id)}
192
+ __path = f'/_ingest/geoip/database/{__path_parts["id"]}'
193
+ else:
194
+ __path_parts = {}
195
+ __path = "/_ingest/geoip/database"
196
+ __query: t.Dict[str, t.Any] = {}
197
+ if error_trace is not None:
198
+ __query["error_trace"] = error_trace
199
+ if filter_path is not None:
200
+ __query["filter_path"] = filter_path
201
+ if human is not None:
202
+ __query["human"] = human
203
+ if master_timeout is not None:
204
+ __query["master_timeout"] = master_timeout
205
+ if pretty is not None:
206
+ __query["pretty"] = pretty
207
+ __headers = {"accept": "application/json"}
208
+ return self.perform_request( # type: ignore[return-value]
209
+ "GET",
210
+ __path,
211
+ params=__query,
212
+ headers=__headers,
213
+ endpoint_id="ingest.get_geoip_database",
214
+ path_parts=__path_parts,
215
+ )
216
+
115
217
  @_rewrite_parameters()
116
218
  def get_pipeline(
117
219
  self,
@@ -205,6 +307,79 @@ class IngestClient(NamespacedClient):
205
307
  path_parts=__path_parts,
206
308
  )
207
309
 
310
+ @_rewrite_parameters(
311
+ body_fields=("maxmind", "name"),
312
+ )
313
+ def put_geoip_database(
314
+ self,
315
+ *,
316
+ id: str,
317
+ maxmind: t.Optional[t.Mapping[str, t.Any]] = None,
318
+ name: t.Optional[str] = None,
319
+ error_trace: t.Optional[bool] = None,
320
+ filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
321
+ human: t.Optional[bool] = None,
322
+ master_timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
323
+ pretty: t.Optional[bool] = None,
324
+ timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
325
+ body: t.Optional[t.Dict[str, t.Any]] = None,
326
+ ) -> ObjectApiResponse[t.Any]:
327
+ """
328
+ Returns information about one or more geoip database configurations.
329
+
330
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/TODO.html>`_
331
+
332
+ :param id: ID of the database configuration to create or update.
333
+ :param maxmind: The configuration necessary to identify which IP geolocation
334
+ provider to use to download the database, as well as any provider-specific
335
+ configuration necessary for such downloading. At present, the only supported
336
+ provider is maxmind, and the maxmind provider requires that an account_id
337
+ (string) is configured.
338
+ :param name: The provider-assigned name of the IP geolocation database to download.
339
+ :param master_timeout: Period to wait for a connection to the master node. If
340
+ no response is received before the timeout expires, the request fails and
341
+ returns an error.
342
+ :param timeout: Period to wait for a response. If no response is received before
343
+ the timeout expires, the request fails and returns an error.
344
+ """
345
+ if id in SKIP_IN_PATH:
346
+ raise ValueError("Empty value passed for parameter 'id'")
347
+ if maxmind is None and body is None:
348
+ raise ValueError("Empty value passed for parameter 'maxmind'")
349
+ if name is None and body is None:
350
+ raise ValueError("Empty value passed for parameter 'name'")
351
+ __path_parts: t.Dict[str, str] = {"id": _quote(id)}
352
+ __path = f'/_ingest/geoip/database/{__path_parts["id"]}'
353
+ __query: t.Dict[str, t.Any] = {}
354
+ __body: t.Dict[str, t.Any] = body if body is not None else {}
355
+ if error_trace is not None:
356
+ __query["error_trace"] = error_trace
357
+ if filter_path is not None:
358
+ __query["filter_path"] = filter_path
359
+ if human is not None:
360
+ __query["human"] = human
361
+ if master_timeout is not None:
362
+ __query["master_timeout"] = master_timeout
363
+ if pretty is not None:
364
+ __query["pretty"] = pretty
365
+ if timeout is not None:
366
+ __query["timeout"] = timeout
367
+ if not __body:
368
+ if maxmind is not None:
369
+ __body["maxmind"] = maxmind
370
+ if name is not None:
371
+ __body["name"] = name
372
+ __headers = {"accept": "application/json", "content-type": "application/json"}
373
+ return self.perform_request( # type: ignore[return-value]
374
+ "PUT",
375
+ __path,
376
+ params=__query,
377
+ headers=__headers,
378
+ body=__body,
379
+ endpoint_id="ingest.put_geoip_database",
380
+ path_parts=__path_parts,
381
+ )
382
+
208
383
  @_rewrite_parameters(
209
384
  body_fields=("description", "meta", "on_failure", "processors", "version"),
210
385
  parameter_aliases={"_meta": "meta"},
@@ -262,7 +262,9 @@ class SynonymsClient(NamespacedClient):
262
262
  self,
263
263
  *,
264
264
  id: str,
265
- synonyms_set: t.Optional[t.Sequence[t.Mapping[str, t.Any]]] = None,
265
+ synonyms_set: t.Optional[
266
+ t.Union[t.Mapping[str, t.Any], t.Sequence[t.Mapping[str, t.Any]]]
267
+ ] = None,
266
268
  error_trace: t.Optional[bool] = None,
267
269
  filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
268
270
  human: t.Optional[bool] = None,
@@ -15,4 +15,4 @@
15
15
  # specific language governing permissions and limitations
16
16
  # under the License.
17
17
 
18
- __versionstr__ = "8.15.0"
18
+ __versionstr__ = "8.15.1"