@@ -1,405 +0,0 @@
|
||||
[[release-notes]]
|
||||
== Release notes
|
||||
|
||||
* <<rn-7-13-4>>
|
||||
* <<rn-7-13-3>>
|
||||
* <<rn-7-13-2>>
|
||||
* <<rn-7-13-1>>
|
||||
* <<rn-7-13-0>>
|
||||
* <<rn-7-12-1>>
|
||||
* <<rn-7-12-0>>
|
||||
* <<rn-7-11-0>>
|
||||
* <<rn-7-10-1>>
|
||||
* <<rn-7-10-0>>
|
||||
* <<rn-7-9-1>>
|
||||
* <<rn-7-9-0>>
|
||||
* <<rn-7-8-1>>
|
||||
* <<rn-7-8-0>>
|
||||
* <<rn-7-7-1>>
|
||||
* <<rn-7-7-0>>
|
||||
* <<rn-7-6-0>>
|
||||
* <<rn-7-5-1>>
|
||||
* <<rn-7-1-0>>
|
||||
* <<rn-7-0-5>>
|
||||
* <<rn-7-0-4>>
|
||||
* <<rn-7-0-3>>
|
||||
* <<rn-7-0-2>>
|
||||
* <<rn-7-0-1>>
|
||||
* <<rn-7-0-0>>
|
||||
|
||||
|
||||
[discrete]
|
||||
[[rn-7-13-4]]
|
||||
=== 7.13.4 (2021-07-20)
|
||||
|
||||
* Client is compatible with Elasticsearch 7.13.4
|
||||
|
||||
[discrete]
|
||||
[[rn-7-13-3]]
|
||||
=== 7.13.3 (2021-07-07)
|
||||
|
||||
* `NameError` would be raised on Python 2.7 and 3.4 when a connection error would have otherwise been raised.
|
||||
|
||||
[discrete]
|
||||
[[rn-7-13-2]]
|
||||
=== 7.13.2 (2021-06-21)
|
||||
|
||||
* Fixed `Transport.perform_request()` to properly reraise `RecursionError`
|
||||
* Fixed `AIOHttpConnection` to no longer send `Accept-Encoding: gzip, deflate` when `http_compress=None`.
|
||||
Instead now sends no `Accept-Encoding` header in the default case
|
||||
|
||||
[discrete]
|
||||
==== Snapshot
|
||||
|
||||
* Added the `snapshot.repository_analyze` API
|
||||
|
||||
[discrete]
|
||||
[[rn-7-13-1]]
|
||||
=== 7.13.1 (2021-06-02)
|
||||
|
||||
* Client is compatible with Elasticsearch 7.13.1
|
||||
|
||||
[discrete]
|
||||
[[rn-7-13-0]]
|
||||
=== 7.13.0 (2021-05-25)
|
||||
|
||||
* Added support for compatibility header for Elasticsearch. If the environment variable
|
||||
`ELASTIC_CLIENT_APIVERSIONING=1` is set the client will send the headers Accept and
|
||||
Content-Type with the following value: `application/vnd.elasticsearch+json;compatible-with=7`.
|
||||
|
||||
[discrete]
|
||||
==== Cat
|
||||
|
||||
* Added the `include_unloaded_segments` parameter to the `cat.nodes` API
|
||||
* Added the `features.reset_features` **experimental** API
|
||||
* Added the `fleet.global_checkpoints` **expiremental** API
|
||||
* Added the `ingest.geo_ip_stats` API
|
||||
|
||||
[discrete]
|
||||
==== Machine Learning
|
||||
|
||||
* Added the `ml.delete_trained_model_alias` API
|
||||
* Added the `ml.preview_data_frame_analytics` API
|
||||
* Added the `ml.put_trained_model_alias` API
|
||||
* Changed the `ml.delete_data_frame_analytics`, `ml.delete_trained_model`, `ml.explain_data_frame_analytics`,
|
||||
`ml.get_data_fram_analytics`, `ml.get_data_frame_analytics_stats`, `ml.get_trained_models`,
|
||||
`ml.get_trained_models_stats`, `ml.put_trained_model`, `ml.start_data_frame_analytics`,
|
||||
`ml.stop_data_frame_analytics`, `ml.update_data_frame_analytics` APIs from **beta** to **stable**.
|
||||
|
||||
[discrete]
|
||||
==== Nodes
|
||||
|
||||
* Added `include_unloaded_segments` parameter to `node.stats` API
|
||||
|
||||
[discrete]
|
||||
==== Searchable Snapshots
|
||||
|
||||
* Added the `searchable_snapshots.cache_stats` **experimental** API
|
||||
|
||||
[discrete]
|
||||
==== Security
|
||||
|
||||
* Added the `security.clear_cached_service_tokens` **beta** API
|
||||
* Added the `security.create_service_token` **beta** API
|
||||
* Added the `security.delete_service_token` **beta** API
|
||||
* Added the `security.get_service_accounts` **beta** API
|
||||
* Added the `security.get_service_credentials` **beta** API
|
||||
|
||||
[discrete]
|
||||
==== Shutdown
|
||||
|
||||
* Added the `shutdown.delete_node` **experiemental** API
|
||||
* Added the `shutdown.get_node` **experimental** API
|
||||
* Added the `shutdown.put_node` **experimental** API
|
||||
|
||||
[discrete]
|
||||
==== Snapshots
|
||||
|
||||
* Added the `index_details` parameter to `snapshot.get` API
|
||||
|
||||
[discrete]
|
||||
==== Text Structure
|
||||
|
||||
* Changed the `text_structure.find_structure` API from **experimental** to **stable**
|
||||
|
||||
[discrete]
|
||||
[[rn-7-12-1]]
|
||||
=== 7.12.1 (2021-04-27)
|
||||
|
||||
[discrete]
|
||||
==== Text Structure
|
||||
|
||||
* Changed the `text_structure.find_text_structure` API from **experimental** to **stable**
|
||||
|
||||
[discrete]
|
||||
[[rn-7-12-0]]
|
||||
=== 7.12.0 (2021-03-23)
|
||||
|
||||
[discrete]
|
||||
==== Autoscaling
|
||||
|
||||
* Changed `autoscaling.delete_autoscaling_policy`, `autoscaling.get_autoscaling_policy`,
|
||||
and `autoscaling.put_autoscaling_policy` APIs from **experimental** to **stable**
|
||||
|
||||
[discrete]
|
||||
==== EQL
|
||||
|
||||
* Added `eql.get_status` API
|
||||
|
||||
[discrete]
|
||||
==== Logash
|
||||
|
||||
* Added `logstash.delete_pipeline`, `logstash.get_pipeline`, and `logstash.put_pipeline` APIs
|
||||
|
||||
[discrete]
|
||||
==== Machine Learning
|
||||
|
||||
* Removed the **experimental** `ml.find_text_structure` API
|
||||
|
||||
[discrete]
|
||||
==== Searchable Snapshots
|
||||
|
||||
* Added `storage` parameter to the `searchable_snapshots.mount` API
|
||||
* Added `level` parameter to the `searchable_snapshots.stats` API
|
||||
|
||||
[discrete]
|
||||
==== Search
|
||||
|
||||
* Added the `min_compatible_shard_node` parameter to `search()`
|
||||
|
||||
[discrete]
|
||||
==== Text Structure
|
||||
|
||||
* Added **experimental** `text_structure.find_text_structure` API
|
||||
|
||||
|
||||
[discrete]
|
||||
[[rn-7-11-0]]
|
||||
=== 7.11.0 (2021-02-10)
|
||||
|
||||
* Added support for 7.11 APIs.
|
||||
* Added the `X-Elastic-Client-Meta` HTTP header and the `meta_header` parameter
|
||||
for controlling the header
|
||||
(https://github.com/elastic/elasticsearch-py/pull/1473[#1473]).
|
||||
* Added `ElasticsearchWarning` which is raised when the `Warning` HTTP header
|
||||
is returned from {es}. `ElasticsearchDeprecationWarning` is now an alias for
|
||||
this warning type
|
||||
(https://github.com/elastic/elasticsearch-py/pull/1495[#1495]).
|
||||
|
||||
|
||||
[discrete]
|
||||
[[rn-7-10-1]]
|
||||
=== 7.10.1 (2020-12-09)
|
||||
|
||||
* Fixed issue where the Scan helper would fail if a `scroll` response returned
|
||||
without a value for `_shards.skipped`
|
||||
(https://github.com/elastic/elasticsearch-py/pull/1451[#1451]).
|
||||
* Fixed handling of IPv6 hosts with a port in the computed `Connection.host`
|
||||
property (https://github.com/elastic/elasticsearch-py/pull/1460[#1460]).
|
||||
* Fixed documented task management API stability, should have been as
|
||||
"experimental" (https://github.com/elastic/elasticsearch-py/pull/1471[#1471]).
|
||||
* Changed deprecated `collections.Mapping` in favor of
|
||||
`collections.abc.Mapping` for Python 3.9
|
||||
(https://github.com/elastic/elasticsearch-py/pull/1443[#1443]).
|
||||
|
||||
|
||||
[discrete]
|
||||
[[rn-7-10-0]]
|
||||
=== 7.10.0 (2020-11-11)
|
||||
|
||||
|
||||
* Added support for {es} 7.10 APIs.
|
||||
* Added basic type stubs for static type checking and IDE auto-complete of API
|
||||
parameters (https://github.com/elastic/elasticsearch-py/pull/1297[#1297],
|
||||
https://github.com/elastic/elasticsearch-py/pull/1406[#1406]).
|
||||
* Added support for
|
||||
https://www.elastic.co/guide/en/elasticsearch/reference/current/optimistic-concurrency-control.html[`Optimistic Concurrency Control options`]
|
||||
(`_if_seq_no`/`_if_primary_term`) to bulk helpers
|
||||
(https://github.com/elastic/elasticsearch-py/pull/1387[#1387]).
|
||||
* Added support for passing `_source` with `"_op_type": "update"`
|
||||
bulk helpers (https://github.com/elastic/elasticsearch-py/pull/1387[#1387]).
|
||||
* Fixed bug where `Connection.log_request_failure()` call would receive the
|
||||
compressed HTTP body rather than uncompressed when an error is raised for
|
||||
`RequestsHttpConnection`
|
||||
(https://github.com/elastic/elasticsearch-py/pull/1394[#1394]).
|
||||
* Fix a typo in AsyncTransport where `sniff_timeout` was used instead of
|
||||
`sniffer_timeout`
|
||||
(https://github.com/elastic/elasticsearch-py/pull/1431[#1431]).
|
||||
* Removed explicit `yarl` dependency from `[async]` extra to avoid issue where
|
||||
pip would override `aiohttp`'s pin of `yarl`. This is not a problem if you
|
||||
install with `--use-feature=2020-resolver`. Users should see no changes
|
||||
(https://github.com/elastic/elasticsearch-py/pull/1401[#1401]).
|
||||
|
||||
|
||||
|
||||
[discrete]
|
||||
[[rn-7-9-1]]
|
||||
=== 7.9.1 (2020-08-19)
|
||||
|
||||
|
||||
* Fixed the import of async helpers which were not available in 7.9.0
|
||||
(https://github.com/elastic/elasticsearch-py/pull/1353[#1353]).
|
||||
* Added support for `url_prefix` when using `AIOHttpConnection`
|
||||
(https://github.com/elastic/elasticsearch-py/pull/1357[#1357]).
|
||||
|
||||
|
||||
[discrete]
|
||||
[[rn-7-9-0]]
|
||||
=== 7.9.0 (2020-08-18)
|
||||
|
||||
* Added support for ES 7.9 APIs.
|
||||
* Fixed retries to not raise an error when `sniff_on_connection_error=True`
|
||||
and a `TransportError` is raised during the sniff step. Instead the
|
||||
retry will continue or the error that triggered the retry will be raised
|
||||
(https://github.com/elastic/elasticsearch-py/pull/1279[#1279],
|
||||
https://github.com/elastic/elasticsearch-py/pull/1326[#1326]).
|
||||
|
||||
|
||||
[discrete]
|
||||
[[rn-7-8-1]]
|
||||
=== 7.8.1 (2020-07-30)
|
||||
|
||||
* Added the `accept_enterprise` parameter to `xpack.info` API
|
||||
(https://github.com/elastic/elasticsearch-py/pull/1337[#1337]).
|
||||
|
||||
|
||||
[discrete]
|
||||
[[rn-7-8-0]]
|
||||
=== 7.8.0 (2020-06-18)
|
||||
|
||||
* Added support for ES 7.8 APIs.
|
||||
* Added support for async/await with asyncio via `AsyncElasticsearch`. See
|
||||
https://elasticsearch-py.readthedocs.io/en/master/async.html[documentation] on
|
||||
`using Asyncio with {es}
|
||||
(https://github.com/elastic/elasticsearch-py/pull/1232[#1232],
|
||||
https://github.com/elastic/elasticsearch-py/pull/1235[#1235],
|
||||
https://github.com/elastic/elasticsearch-py/pull/1236[#1236]).
|
||||
* Added async helpers `async_bulk`, `async_streaming_bulk`, `async_scan`, and
|
||||
`async_reindex`
|
||||
(https://github.com/elastic/elasticsearch-py/pull/1260[#1260]).
|
||||
* Updated `exists_source` API to use non-deprecated {es} API routes when
|
||||
`doc_type` is not specified to suppress deprecation warnings
|
||||
(https://github.com/elastic/elasticsearch-py/pull/1272[#1272]).
|
||||
|
||||
|
||||
[discrete]
|
||||
[[rn-7-7-1]]
|
||||
=== 7.7.1 (2020-05-26)
|
||||
|
||||
* Updated `create`, `update`, `explain`, `get_source`, and `termvectors` APIs to
|
||||
use non-deprecated {es} API routes when `doc_type` is not specified to
|
||||
suppress deprecation warnings
|
||||
(https://github.com/elastic/elasticsearch-py/pull/1253[#1253]).
|
||||
|
||||
|
||||
[discrete]
|
||||
[[rn-7-7-0]]
|
||||
=== 7.7.0 (2020-05-13)
|
||||
|
||||
* Added support for ES 7.7 APIs
|
||||
(https://github.com/elastic/elasticsearch-py/pull/1182[#1182]).
|
||||
* Added `ElasticsearchDeprecationWarning` which is raised when a `Warning` HTTP
|
||||
header is sent by {es}
|
||||
(https://github.com/elastic/elasticsearch-py/pull/1179[#1179]).
|
||||
* Added support for serializing `numpy` and `pandas` data types to
|
||||
`JSONSerializer`
|
||||
(https://github.com/elastic/elasticsearch-py/pull/1180[#1180]).
|
||||
* Added `certifi` as a dependency so HTTPS connections work automatically.
|
||||
* Fixed duplicated parameters in some API docstrings
|
||||
(https://github.com/elastic/elasticsearch-py/pull/1169[#1169], thanks to
|
||||
https://github.com/mortenhauberg[Morten Hauberg]).
|
||||
|
||||
|
||||
[discrete]
|
||||
[[rn-7-6-0]]
|
||||
=== 7.6.0 (2020-03-19)
|
||||
|
||||
|
||||
* Added support for ES 7.6 APIs.
|
||||
* Added support for
|
||||
https://www.elastic.co/guide/en/elasticsearch/reference/current/tasks.html#_identifying_running_tasks[`X-Opaque-Id`]
|
||||
to identify long-running tasks.
|
||||
* Added support for HTTP compression to `RequestsHttpConnection`.
|
||||
* Updated default setting of `http_compress` when using `cloud_id` to `True`.
|
||||
* Updated default setting of `sniffing` when using `cloud_id` to `False`.
|
||||
* Updated default port to `443` if `cloud_id` and no other port is defined on
|
||||
the client or within `cloud_id`.
|
||||
* Updated `GET` HTTP requests that contain a body to `POST` where the API allows
|
||||
this to fix proxies rejecting these requests.
|
||||
* Fix regression of `client.cluster.state()` where the default `metric` should
|
||||
be set to `"_all"` if an index is given
|
||||
(https://github.com/elastic/elasticsearch-py/pull/1143[#1143]).
|
||||
* Fix regression of `client.tasks.get()` without a `task_id` having similar
|
||||
functionality to `client.tasks.list()` This will be removed in `v8.0` of
|
||||
`elasticsearch-py`
|
||||
(https://github.com/elastic/elasticsearch-py/pull/1157[#1157]).
|
||||
|
||||
|
||||
[discrete]
|
||||
[[rn-7-5-1]]
|
||||
=== 7.5.1 (2020-01-19)
|
||||
|
||||
* All API is now auto generated.
|
||||
* Deprecated the `.xpack` namespace.
|
||||
* Update client to support ES 7.5 APIs.
|
||||
|
||||
|
||||
[discrete]
|
||||
[[rn-7-1-0]]
|
||||
=== 7.1.0 (2019-11-14)
|
||||
|
||||
* Fix sniffing with `http.publish_host`.
|
||||
* Fix `request_timeout` for `indices` APIs.
|
||||
* Allow access to `x-pack` features without `xpack` namespace.
|
||||
* Fix mark dead.
|
||||
|
||||
|
||||
[discrete]
|
||||
[[rn-7-0-5]]
|
||||
=== 7.0.5 (2019-10-01)
|
||||
|
||||
* Fix `verify_certs=False`.
|
||||
|
||||
|
||||
[discrete]
|
||||
[[rn-7-0-4]]
|
||||
=== 7.0.4 (2019-08-22)
|
||||
|
||||
* Fix wheel distribution.
|
||||
|
||||
|
||||
[discrete]
|
||||
[[rn-7-0-3]]
|
||||
=== 7.0.3 (2019-08-21)
|
||||
|
||||
* Remove sleep in retries.
|
||||
* Pass `scroll_id` through body in `scroll`.
|
||||
* Add `user-agent`.
|
||||
|
||||
|
||||
[discrete]
|
||||
[[rn-7-0-2]]
|
||||
=== 7.0.2 (2019-05-29)
|
||||
|
||||
* Add connection parameter for Elastic Cloud cloud_id.
|
||||
* ML client uses client object for _bulk_body requests.
|
||||
|
||||
|
||||
[discrete]
|
||||
[[rn-7-0-1]]
|
||||
=== 7.0.1 (2019-05-19)
|
||||
|
||||
* Use black to format the code.
|
||||
* Update the test matrix to only use current pythons and 7.x ES.
|
||||
* Blocking pool must fit thread_count.
|
||||
* Update client to support missing ES 7 API's and query params.
|
||||
|
||||
|
||||
[discrete]
|
||||
[[rn-7-0-0]]
|
||||
=== 7.0.0 (2019-04-11)
|
||||
|
||||
* Removed deprecated option `update_all_types`.
|
||||
* Using insecure SSL configuration (`verify_cert=False`) raises a warning,
|
||||
this can be not showed with `ssl_show_warn=False`.
|
||||
* Add support for 7.x APIs in {es} both xpack and oss flavors.
|
||||
@@ -300,9 +300,3 @@ Watcher
|
||||
|
||||
.. autoclass:: WatcherClient
|
||||
:members:
|
||||
|
||||
X-Pack
|
||||
------
|
||||
|
||||
.. autoclass:: XPackClient
|
||||
:members:
|
||||
|
||||
@@ -44,7 +44,6 @@ from .ml import MlClient
|
||||
from .monitoring import MonitoringClient
|
||||
from .nodes import NodesClient
|
||||
from .remote import RemoteClient
|
||||
from .rollup import RollupClient
|
||||
from .searchable_snapshots import SearchableSnapshotsClient
|
||||
from .security import SecurityClient
|
||||
from .shutdown import ShutdownClient
|
||||
@@ -58,9 +57,6 @@ from .transform import TransformClient
|
||||
from .utils import SKIP_IN_PATH, _bulk_body, _make_path, _normalize_hosts, query_params
|
||||
from .watcher import WatcherClient
|
||||
|
||||
# xpack APIs
|
||||
from .xpack import XPackClient
|
||||
|
||||
logger = logging.getLogger("elasticsearch")
|
||||
|
||||
|
||||
@@ -219,7 +215,6 @@ class AsyncElasticsearch(object):
|
||||
self.snapshot = SnapshotClient(self)
|
||||
self.tasks = TasksClient(self)
|
||||
|
||||
self.xpack = XPackClient(self)
|
||||
self.ccr = CcrClient(self)
|
||||
self.data_frame = Data_FrameClient(self)
|
||||
self.deprecation = DeprecationClient(self)
|
||||
@@ -234,7 +229,6 @@ class AsyncElasticsearch(object):
|
||||
self.migration = MigrationClient(self)
|
||||
self.ml = MlClient(self)
|
||||
self.monitoring = MonitoringClient(self)
|
||||
self.rollup = RollupClient(self)
|
||||
self.searchable_snapshots = SearchableSnapshotsClient(self)
|
||||
self.security = SecurityClient(self)
|
||||
self.slm = SlmClient(self)
|
||||
|
||||
@@ -42,7 +42,6 @@ from .ml import MlClient
|
||||
from .monitoring import MonitoringClient
|
||||
from .nodes import NodesClient
|
||||
from .remote import RemoteClient
|
||||
from .rollup import RollupClient
|
||||
from .searchable_snapshots import SearchableSnapshotsClient
|
||||
from .security import SecurityClient
|
||||
from .shutdown import ShutdownClient
|
||||
@@ -55,9 +54,6 @@ from .text_structure import TextStructureClient
|
||||
from .transform import TransformClient
|
||||
from .watcher import WatcherClient
|
||||
|
||||
# xpack APIs
|
||||
from .xpack import XPackClient
|
||||
|
||||
logger: logging.Logger
|
||||
|
||||
class AsyncElasticsearch(object):
|
||||
@@ -75,7 +71,6 @@ class AsyncElasticsearch(object):
|
||||
snapshot: SnapshotClient
|
||||
tasks: TasksClient
|
||||
|
||||
xpack: XPackClient
|
||||
ccr: CcrClient
|
||||
dangling_indices: DanglingIndicesClient
|
||||
enrich: EnrichClient
|
||||
@@ -87,7 +82,6 @@ class AsyncElasticsearch(object):
|
||||
migration: MigrationClient
|
||||
ml: MlClient
|
||||
monitoring: MonitoringClient
|
||||
rollup: RollupClient
|
||||
searchable_snapshots: SearchableSnapshotsClient
|
||||
security: SecurityClient
|
||||
shutdown: ShutdownClient
|
||||
|
||||
@@ -1,246 +0,0 @@
|
||||
# Licensed to Elasticsearch B.V. under one or more contributor
|
||||
# license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright
|
||||
# ownership. Elasticsearch B.V. licenses this file to you under
|
||||
# the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from .utils import SKIP_IN_PATH, NamespacedClient, _make_path, query_params
|
||||
|
||||
|
||||
class RollupClient(NamespacedClient):
|
||||
@query_params()
|
||||
async def delete_job(self, id, params=None, headers=None):
|
||||
"""
|
||||
Deletes an existing rollup job.
|
||||
|
||||
`<https://www.elastic.co/guide/en/elasticsearch/reference/7.x/rollup-delete-job.html>`_
|
||||
|
||||
.. warning::
|
||||
|
||||
This API is **experimental** so may include breaking changes
|
||||
or be removed in a future version
|
||||
|
||||
:arg id: The ID of the job to delete
|
||||
"""
|
||||
if id in SKIP_IN_PATH:
|
||||
raise ValueError("Empty value passed for a required argument 'id'.")
|
||||
|
||||
return await self.transport.perform_request(
|
||||
"DELETE", _make_path("_rollup", "job", id), params=params, headers=headers
|
||||
)
|
||||
|
||||
@query_params()
|
||||
async def get_jobs(self, id=None, params=None, headers=None):
|
||||
"""
|
||||
Retrieves the configuration, stats, and status of rollup jobs.
|
||||
|
||||
`<https://www.elastic.co/guide/en/elasticsearch/reference/7.x/rollup-get-job.html>`_
|
||||
|
||||
.. warning::
|
||||
|
||||
This API is **experimental** so may include breaking changes
|
||||
or be removed in a future version
|
||||
|
||||
:arg id: The ID of the job(s) to fetch. Accepts glob patterns,
|
||||
or left blank for all jobs
|
||||
"""
|
||||
return await self.transport.perform_request(
|
||||
"GET", _make_path("_rollup", "job", id), params=params, headers=headers
|
||||
)
|
||||
|
||||
@query_params()
|
||||
async def get_rollup_caps(self, id=None, params=None, headers=None):
|
||||
"""
|
||||
Returns the capabilities of any rollup jobs that have been configured for a
|
||||
specific index or index pattern.
|
||||
|
||||
`<https://www.elastic.co/guide/en/elasticsearch/reference/7.x/rollup-get-rollup-caps.html>`_
|
||||
|
||||
.. warning::
|
||||
|
||||
This API is **experimental** so may include breaking changes
|
||||
or be removed in a future version
|
||||
|
||||
:arg id: The ID of the index to check rollup capabilities on, or
|
||||
left blank for all jobs
|
||||
"""
|
||||
return await self.transport.perform_request(
|
||||
"GET", _make_path("_rollup", "data", id), params=params, headers=headers
|
||||
)
|
||||
|
||||
@query_params()
|
||||
async def get_rollup_index_caps(self, index, params=None, headers=None):
|
||||
"""
|
||||
Returns the rollup capabilities of all jobs inside of a rollup index (e.g. the
|
||||
index where rollup data is stored).
|
||||
|
||||
`<https://www.elastic.co/guide/en/elasticsearch/reference/7.x/rollup-get-rollup-index-caps.html>`_
|
||||
|
||||
.. warning::
|
||||
|
||||
This API is **experimental** so may include breaking changes
|
||||
or be removed in a future version
|
||||
|
||||
:arg index: The rollup index or index pattern to obtain rollup
|
||||
capabilities from.
|
||||
"""
|
||||
if index in SKIP_IN_PATH:
|
||||
raise ValueError("Empty value passed for a required argument 'index'.")
|
||||
|
||||
return await self.transport.perform_request(
|
||||
"GET", _make_path(index, "_rollup", "data"), params=params, headers=headers
|
||||
)
|
||||
|
||||
@query_params()
|
||||
async def put_job(self, id, body, params=None, headers=None):
|
||||
"""
|
||||
Creates a rollup job.
|
||||
|
||||
`<https://www.elastic.co/guide/en/elasticsearch/reference/7.x/rollup-put-job.html>`_
|
||||
|
||||
.. warning::
|
||||
|
||||
This API is **experimental** so may include breaking changes
|
||||
or be removed in a future version
|
||||
|
||||
:arg id: The ID of the job to create
|
||||
:arg body: The job configuration
|
||||
"""
|
||||
for param in (id, body):
|
||||
if param in SKIP_IN_PATH:
|
||||
raise ValueError("Empty value passed for a required argument.")
|
||||
|
||||
return await self.transport.perform_request(
|
||||
"PUT",
|
||||
_make_path("_rollup", "job", id),
|
||||
params=params,
|
||||
headers=headers,
|
||||
body=body,
|
||||
)
|
||||
|
||||
@query_params("rest_total_hits_as_int", "typed_keys")
|
||||
async def rollup_search(
|
||||
self, index, body, doc_type=None, params=None, headers=None
|
||||
):
|
||||
"""
|
||||
Enables searching rolled-up data using the standard query DSL.
|
||||
|
||||
`<https://www.elastic.co/guide/en/elasticsearch/reference/7.x/rollup-search.html>`_
|
||||
|
||||
.. warning::
|
||||
|
||||
This API is **experimental** so may include breaking changes
|
||||
or be removed in a future version
|
||||
|
||||
:arg index: The indices or index-pattern(s) (containing rollup
|
||||
or regular data) that should be searched
|
||||
:arg body: The search request body
|
||||
:arg doc_type: The doc type inside the index
|
||||
:arg rest_total_hits_as_int: Indicates whether hits.total should
|
||||
be rendered as an integer or an object in the rest search response
|
||||
:arg typed_keys: Specify whether aggregation and suggester names
|
||||
should be prefixed by their respective types in the response
|
||||
"""
|
||||
for param in (index, body):
|
||||
if param in SKIP_IN_PATH:
|
||||
raise ValueError("Empty value passed for a required argument.")
|
||||
|
||||
return await self.transport.perform_request(
|
||||
"POST",
|
||||
_make_path(index, doc_type, "_rollup_search"),
|
||||
params=params,
|
||||
headers=headers,
|
||||
body=body,
|
||||
)
|
||||
|
||||
@query_params()
|
||||
async def start_job(self, id, params=None, headers=None):
|
||||
"""
|
||||
Starts an existing, stopped rollup job.
|
||||
|
||||
`<https://www.elastic.co/guide/en/elasticsearch/reference/7.x/rollup-start-job.html>`_
|
||||
|
||||
.. warning::
|
||||
|
||||
This API is **experimental** so may include breaking changes
|
||||
or be removed in a future version
|
||||
|
||||
:arg id: The ID of the job to start
|
||||
"""
|
||||
if id in SKIP_IN_PATH:
|
||||
raise ValueError("Empty value passed for a required argument 'id'.")
|
||||
|
||||
return await self.transport.perform_request(
|
||||
"POST",
|
||||
_make_path("_rollup", "job", id, "_start"),
|
||||
params=params,
|
||||
headers=headers,
|
||||
)
|
||||
|
||||
@query_params("timeout", "wait_for_completion")
|
||||
async def stop_job(self, id, params=None, headers=None):
|
||||
"""
|
||||
Stops an existing, started rollup job.
|
||||
|
||||
`<https://www.elastic.co/guide/en/elasticsearch/reference/7.x/rollup-stop-job.html>`_
|
||||
|
||||
.. warning::
|
||||
|
||||
This API is **experimental** so may include breaking changes
|
||||
or be removed in a future version
|
||||
|
||||
:arg id: The ID of the job to stop
|
||||
:arg timeout: Block for (at maximum) the specified duration
|
||||
while waiting for the job to stop. Defaults to 30s.
|
||||
:arg wait_for_completion: True if the API should block until the
|
||||
job has fully stopped, false if should be executed async. Defaults to
|
||||
false.
|
||||
"""
|
||||
if id in SKIP_IN_PATH:
|
||||
raise ValueError("Empty value passed for a required argument 'id'.")
|
||||
|
||||
return await self.transport.perform_request(
|
||||
"POST",
|
||||
_make_path("_rollup", "job", id, "_stop"),
|
||||
params=params,
|
||||
headers=headers,
|
||||
)
|
||||
|
||||
@query_params()
|
||||
async def rollup(self, index, rollup_index, body, params=None, headers=None):
|
||||
"""
|
||||
Rollup an index
|
||||
|
||||
`<https://www.elastic.co/guide/en/elasticsearch/reference/7.x/xpack-rollup.html>`_
|
||||
|
||||
.. warning::
|
||||
|
||||
This API is **experimental** so may include breaking changes
|
||||
or be removed in a future version
|
||||
|
||||
:arg index: The index to roll up
|
||||
:arg rollup_index: The name of the rollup index to create
|
||||
:arg body: The rollup configuration
|
||||
"""
|
||||
for param in (index, rollup_index, body):
|
||||
if param in SKIP_IN_PATH:
|
||||
raise ValueError("Empty value passed for a required argument.")
|
||||
|
||||
return await self.transport.perform_request(
|
||||
"POST",
|
||||
_make_path(index, "_rollup", rollup_index),
|
||||
params=params,
|
||||
headers=headers,
|
||||
body=body,
|
||||
)
|
||||
@@ -1,184 +0,0 @@
|
||||
# Licensed to Elasticsearch B.V. under one or more contributor
|
||||
# license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright
|
||||
# ownership. Elasticsearch B.V. licenses this file to you under
|
||||
# the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from typing import Any, Collection, MutableMapping, Optional, Tuple, Union
|
||||
|
||||
from .utils import NamespacedClient
|
||||
|
||||
class RollupClient(NamespacedClient):
|
||||
async def delete_job(
|
||||
self,
|
||||
id: Any,
|
||||
*,
|
||||
pretty: Optional[bool] = ...,
|
||||
human: Optional[bool] = ...,
|
||||
error_trace: Optional[bool] = ...,
|
||||
format: Optional[str] = ...,
|
||||
filter_path: Optional[Union[str, Collection[str]]] = ...,
|
||||
request_timeout: Optional[Union[int, float]] = ...,
|
||||
ignore: Optional[Union[int, Collection[int]]] = ...,
|
||||
opaque_id: Optional[str] = ...,
|
||||
http_auth: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
api_key: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
params: Optional[MutableMapping[str, Any]] = ...,
|
||||
headers: Optional[MutableMapping[str, str]] = ...,
|
||||
) -> Any: ...
|
||||
async def get_jobs(
|
||||
self,
|
||||
*,
|
||||
id: Optional[Any] = ...,
|
||||
pretty: Optional[bool] = ...,
|
||||
human: Optional[bool] = ...,
|
||||
error_trace: Optional[bool] = ...,
|
||||
format: Optional[str] = ...,
|
||||
filter_path: Optional[Union[str, Collection[str]]] = ...,
|
||||
request_timeout: Optional[Union[int, float]] = ...,
|
||||
ignore: Optional[Union[int, Collection[int]]] = ...,
|
||||
opaque_id: Optional[str] = ...,
|
||||
http_auth: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
api_key: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
params: Optional[MutableMapping[str, Any]] = ...,
|
||||
headers: Optional[MutableMapping[str, str]] = ...,
|
||||
) -> Any: ...
|
||||
async def get_rollup_caps(
|
||||
self,
|
||||
*,
|
||||
id: Optional[Any] = ...,
|
||||
pretty: Optional[bool] = ...,
|
||||
human: Optional[bool] = ...,
|
||||
error_trace: Optional[bool] = ...,
|
||||
format: Optional[str] = ...,
|
||||
filter_path: Optional[Union[str, Collection[str]]] = ...,
|
||||
request_timeout: Optional[Union[int, float]] = ...,
|
||||
ignore: Optional[Union[int, Collection[int]]] = ...,
|
||||
opaque_id: Optional[str] = ...,
|
||||
http_auth: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
api_key: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
params: Optional[MutableMapping[str, Any]] = ...,
|
||||
headers: Optional[MutableMapping[str, str]] = ...,
|
||||
) -> Any: ...
|
||||
async def get_rollup_index_caps(
|
||||
self,
|
||||
index: Any,
|
||||
*,
|
||||
pretty: Optional[bool] = ...,
|
||||
human: Optional[bool] = ...,
|
||||
error_trace: Optional[bool] = ...,
|
||||
format: Optional[str] = ...,
|
||||
filter_path: Optional[Union[str, Collection[str]]] = ...,
|
||||
request_timeout: Optional[Union[int, float]] = ...,
|
||||
ignore: Optional[Union[int, Collection[int]]] = ...,
|
||||
opaque_id: Optional[str] = ...,
|
||||
http_auth: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
api_key: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
params: Optional[MutableMapping[str, Any]] = ...,
|
||||
headers: Optional[MutableMapping[str, str]] = ...,
|
||||
) -> Any: ...
|
||||
async def put_job(
|
||||
self,
|
||||
id: Any,
|
||||
*,
|
||||
body: Any,
|
||||
pretty: Optional[bool] = ...,
|
||||
human: Optional[bool] = ...,
|
||||
error_trace: Optional[bool] = ...,
|
||||
format: Optional[str] = ...,
|
||||
filter_path: Optional[Union[str, Collection[str]]] = ...,
|
||||
request_timeout: Optional[Union[int, float]] = ...,
|
||||
ignore: Optional[Union[int, Collection[int]]] = ...,
|
||||
opaque_id: Optional[str] = ...,
|
||||
http_auth: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
api_key: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
params: Optional[MutableMapping[str, Any]] = ...,
|
||||
headers: Optional[MutableMapping[str, str]] = ...,
|
||||
) -> Any: ...
|
||||
async def rollup_search(
|
||||
self,
|
||||
index: Any,
|
||||
*,
|
||||
body: Any,
|
||||
doc_type: Optional[Any] = ...,
|
||||
rest_total_hits_as_int: Optional[Any] = ...,
|
||||
typed_keys: Optional[Any] = ...,
|
||||
pretty: Optional[bool] = ...,
|
||||
human: Optional[bool] = ...,
|
||||
error_trace: Optional[bool] = ...,
|
||||
format: Optional[str] = ...,
|
||||
filter_path: Optional[Union[str, Collection[str]]] = ...,
|
||||
request_timeout: Optional[Union[int, float]] = ...,
|
||||
ignore: Optional[Union[int, Collection[int]]] = ...,
|
||||
opaque_id: Optional[str] = ...,
|
||||
http_auth: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
api_key: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
params: Optional[MutableMapping[str, Any]] = ...,
|
||||
headers: Optional[MutableMapping[str, str]] = ...,
|
||||
) -> Any: ...
|
||||
async def start_job(
|
||||
self,
|
||||
id: Any,
|
||||
*,
|
||||
pretty: Optional[bool] = ...,
|
||||
human: Optional[bool] = ...,
|
||||
error_trace: Optional[bool] = ...,
|
||||
format: Optional[str] = ...,
|
||||
filter_path: Optional[Union[str, Collection[str]]] = ...,
|
||||
request_timeout: Optional[Union[int, float]] = ...,
|
||||
ignore: Optional[Union[int, Collection[int]]] = ...,
|
||||
opaque_id: Optional[str] = ...,
|
||||
http_auth: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
api_key: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
params: Optional[MutableMapping[str, Any]] = ...,
|
||||
headers: Optional[MutableMapping[str, str]] = ...,
|
||||
) -> Any: ...
|
||||
async def stop_job(
|
||||
self,
|
||||
id: Any,
|
||||
*,
|
||||
timeout: Optional[Any] = ...,
|
||||
wait_for_completion: Optional[Any] = ...,
|
||||
pretty: Optional[bool] = ...,
|
||||
human: Optional[bool] = ...,
|
||||
error_trace: Optional[bool] = ...,
|
||||
format: Optional[str] = ...,
|
||||
filter_path: Optional[Union[str, Collection[str]]] = ...,
|
||||
request_timeout: Optional[Union[int, float]] = ...,
|
||||
ignore: Optional[Union[int, Collection[int]]] = ...,
|
||||
opaque_id: Optional[str] = ...,
|
||||
http_auth: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
api_key: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
params: Optional[MutableMapping[str, Any]] = ...,
|
||||
headers: Optional[MutableMapping[str, str]] = ...,
|
||||
) -> Any: ...
|
||||
async def rollup(
|
||||
self,
|
||||
index: Any,
|
||||
rollup_index: Any,
|
||||
*,
|
||||
body: Any,
|
||||
pretty: Optional[bool] = ...,
|
||||
human: Optional[bool] = ...,
|
||||
error_trace: Optional[bool] = ...,
|
||||
format: Optional[str] = ...,
|
||||
filter_path: Optional[Union[str, Collection[str]]] = ...,
|
||||
request_timeout: Optional[Union[int, float]] = ...,
|
||||
ignore: Optional[Union[int, Collection[int]]] = ...,
|
||||
opaque_id: Optional[str] = ...,
|
||||
http_auth: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
api_key: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
params: Optional[MutableMapping[str, Any]] = ...,
|
||||
headers: Optional[MutableMapping[str, str]] = ...,
|
||||
) -> Any: ...
|
||||
@@ -1,53 +0,0 @@
|
||||
# Licensed to Elasticsearch B.V. under one or more contributor
|
||||
# license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright
|
||||
# ownership. Elasticsearch B.V. licenses this file to you under
|
||||
# the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from .utils import NamespacedClient, query_params
|
||||
|
||||
|
||||
class XPackClient(NamespacedClient):
|
||||
def __getattr__(self, attr_name):
|
||||
return getattr(self.client, attr_name)
|
||||
|
||||
# AUTO-GENERATED-API-DEFINITIONS #
|
||||
@query_params("accept_enterprise", "categories")
|
||||
async def info(self, params=None, headers=None):
|
||||
"""
|
||||
Retrieves information about the installed X-Pack features.
|
||||
|
||||
`<https://www.elastic.co/guide/en/elasticsearch/reference/7.x/info-api.html>`_
|
||||
|
||||
:arg accept_enterprise: If an enterprise license is installed,
|
||||
return the type and mode as 'enterprise' (default: false)
|
||||
:arg categories: Comma-separated list of info categories. Can be
|
||||
any of: build, license, features
|
||||
"""
|
||||
return await self.transport.perform_request(
|
||||
"GET", "/_xpack", params=params, headers=headers
|
||||
)
|
||||
|
||||
@query_params("master_timeout")
|
||||
async def usage(self, params=None, headers=None):
|
||||
"""
|
||||
Retrieves usage information about the installed X-Pack features.
|
||||
|
||||
`<https://www.elastic.co/guide/en/elasticsearch/reference/7.x/usage-api.html>`_
|
||||
|
||||
:arg master_timeout: Specify timeout for watch write operation
|
||||
"""
|
||||
return await self.transport.perform_request(
|
||||
"GET", "/_xpack/usage", params=params, headers=headers
|
||||
)
|
||||
@@ -1,60 +0,0 @@
|
||||
# Licensed to Elasticsearch B.V. under one or more contributor
|
||||
# license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright
|
||||
# ownership. Elasticsearch B.V. licenses this file to you under
|
||||
# the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from typing import Any, Collection, MutableMapping, Optional, Tuple, Union
|
||||
|
||||
from .utils import NamespacedClient
|
||||
|
||||
class XPackClient(NamespacedClient):
|
||||
def __getattr__(self, attr_name: str) -> Any:
|
||||
return getattr(self.client, attr_name)
|
||||
# AUTO-GENERATED-API-DEFINITIONS #
|
||||
async def info(
|
||||
self,
|
||||
*,
|
||||
accept_enterprise: Optional[Any] = ...,
|
||||
categories: Optional[Any] = ...,
|
||||
pretty: Optional[bool] = ...,
|
||||
human: Optional[bool] = ...,
|
||||
error_trace: Optional[bool] = ...,
|
||||
format: Optional[str] = ...,
|
||||
filter_path: Optional[Union[str, Collection[str]]] = ...,
|
||||
request_timeout: Optional[Union[int, float]] = ...,
|
||||
ignore: Optional[Union[int, Collection[int]]] = ...,
|
||||
opaque_id: Optional[str] = ...,
|
||||
http_auth: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
api_key: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
params: Optional[MutableMapping[str, Any]] = ...,
|
||||
headers: Optional[MutableMapping[str, str]] = ...,
|
||||
) -> Any: ...
|
||||
async def usage(
|
||||
self,
|
||||
*,
|
||||
master_timeout: Optional[Any] = ...,
|
||||
pretty: Optional[bool] = ...,
|
||||
human: Optional[bool] = ...,
|
||||
error_trace: Optional[bool] = ...,
|
||||
format: Optional[str] = ...,
|
||||
filter_path: Optional[Union[str, Collection[str]]] = ...,
|
||||
request_timeout: Optional[Union[int, float]] = ...,
|
||||
ignore: Optional[Union[int, Collection[int]]] = ...,
|
||||
opaque_id: Optional[str] = ...,
|
||||
http_auth: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
api_key: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
params: Optional[MutableMapping[str, Any]] = ...,
|
||||
headers: Optional[MutableMapping[str, str]] = ...,
|
||||
) -> Any: ...
|
||||
@@ -44,7 +44,6 @@ from .ml import MlClient
|
||||
from .monitoring import MonitoringClient
|
||||
from .nodes import NodesClient
|
||||
from .remote import RemoteClient
|
||||
from .rollup import RollupClient
|
||||
from .searchable_snapshots import SearchableSnapshotsClient
|
||||
from .security import SecurityClient
|
||||
from .shutdown import ShutdownClient
|
||||
@@ -58,9 +57,6 @@ from .transform import TransformClient
|
||||
from .utils import SKIP_IN_PATH, _bulk_body, _make_path, _normalize_hosts, query_params
|
||||
from .watcher import WatcherClient
|
||||
|
||||
# xpack APIs
|
||||
from .xpack import XPackClient
|
||||
|
||||
logger = logging.getLogger("elasticsearch")
|
||||
|
||||
|
||||
@@ -219,7 +215,6 @@ class Elasticsearch(object):
|
||||
self.snapshot = SnapshotClient(self)
|
||||
self.tasks = TasksClient(self)
|
||||
|
||||
self.xpack = XPackClient(self)
|
||||
self.ccr = CcrClient(self)
|
||||
self.data_frame = Data_FrameClient(self)
|
||||
self.deprecation = DeprecationClient(self)
|
||||
@@ -234,7 +229,6 @@ class Elasticsearch(object):
|
||||
self.migration = MigrationClient(self)
|
||||
self.ml = MlClient(self)
|
||||
self.monitoring = MonitoringClient(self)
|
||||
self.rollup = RollupClient(self)
|
||||
self.searchable_snapshots = SearchableSnapshotsClient(self)
|
||||
self.security = SecurityClient(self)
|
||||
self.slm = SlmClient(self)
|
||||
|
||||
@@ -42,7 +42,6 @@ from .ml import MlClient
|
||||
from .monitoring import MonitoringClient
|
||||
from .nodes import NodesClient
|
||||
from .remote import RemoteClient
|
||||
from .rollup import RollupClient
|
||||
from .searchable_snapshots import SearchableSnapshotsClient
|
||||
from .security import SecurityClient
|
||||
from .shutdown import ShutdownClient
|
||||
@@ -55,9 +54,6 @@ from .text_structure import TextStructureClient
|
||||
from .transform import TransformClient
|
||||
from .watcher import WatcherClient
|
||||
|
||||
# xpack APIs
|
||||
from .xpack import XPackClient
|
||||
|
||||
logger: logging.Logger
|
||||
|
||||
class Elasticsearch(object):
|
||||
@@ -75,7 +71,6 @@ class Elasticsearch(object):
|
||||
snapshot: SnapshotClient
|
||||
tasks: TasksClient
|
||||
|
||||
xpack: XPackClient
|
||||
ccr: CcrClient
|
||||
dangling_indices: DanglingIndicesClient
|
||||
enrich: EnrichClient
|
||||
@@ -87,7 +82,6 @@ class Elasticsearch(object):
|
||||
migration: MigrationClient
|
||||
ml: MlClient
|
||||
monitoring: MonitoringClient
|
||||
rollup: RollupClient
|
||||
searchable_snapshots: SearchableSnapshotsClient
|
||||
security: SecurityClient
|
||||
shutdown: ShutdownClient
|
||||
|
||||
@@ -1,244 +0,0 @@
|
||||
# Licensed to Elasticsearch B.V. under one or more contributor
|
||||
# license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright
|
||||
# ownership. Elasticsearch B.V. licenses this file to you under
|
||||
# the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from .utils import SKIP_IN_PATH, NamespacedClient, _make_path, query_params
|
||||
|
||||
|
||||
class RollupClient(NamespacedClient):
|
||||
@query_params()
|
||||
def delete_job(self, id, params=None, headers=None):
|
||||
"""
|
||||
Deletes an existing rollup job.
|
||||
|
||||
`<https://www.elastic.co/guide/en/elasticsearch/reference/7.x/rollup-delete-job.html>`_
|
||||
|
||||
.. warning::
|
||||
|
||||
This API is **experimental** so may include breaking changes
|
||||
or be removed in a future version
|
||||
|
||||
:arg id: The ID of the job to delete
|
||||
"""
|
||||
if id in SKIP_IN_PATH:
|
||||
raise ValueError("Empty value passed for a required argument 'id'.")
|
||||
|
||||
return self.transport.perform_request(
|
||||
"DELETE", _make_path("_rollup", "job", id), params=params, headers=headers
|
||||
)
|
||||
|
||||
@query_params()
|
||||
def get_jobs(self, id=None, params=None, headers=None):
|
||||
"""
|
||||
Retrieves the configuration, stats, and status of rollup jobs.
|
||||
|
||||
`<https://www.elastic.co/guide/en/elasticsearch/reference/7.x/rollup-get-job.html>`_
|
||||
|
||||
.. warning::
|
||||
|
||||
This API is **experimental** so may include breaking changes
|
||||
or be removed in a future version
|
||||
|
||||
:arg id: The ID of the job(s) to fetch. Accepts glob patterns,
|
||||
or left blank for all jobs
|
||||
"""
|
||||
return self.transport.perform_request(
|
||||
"GET", _make_path("_rollup", "job", id), params=params, headers=headers
|
||||
)
|
||||
|
||||
@query_params()
|
||||
def get_rollup_caps(self, id=None, params=None, headers=None):
|
||||
"""
|
||||
Returns the capabilities of any rollup jobs that have been configured for a
|
||||
specific index or index pattern.
|
||||
|
||||
`<https://www.elastic.co/guide/en/elasticsearch/reference/7.x/rollup-get-rollup-caps.html>`_
|
||||
|
||||
.. warning::
|
||||
|
||||
This API is **experimental** so may include breaking changes
|
||||
or be removed in a future version
|
||||
|
||||
:arg id: The ID of the index to check rollup capabilities on, or
|
||||
left blank for all jobs
|
||||
"""
|
||||
return self.transport.perform_request(
|
||||
"GET", _make_path("_rollup", "data", id), params=params, headers=headers
|
||||
)
|
||||
|
||||
@query_params()
|
||||
def get_rollup_index_caps(self, index, params=None, headers=None):
|
||||
"""
|
||||
Returns the rollup capabilities of all jobs inside of a rollup index (e.g. the
|
||||
index where rollup data is stored).
|
||||
|
||||
`<https://www.elastic.co/guide/en/elasticsearch/reference/7.x/rollup-get-rollup-index-caps.html>`_
|
||||
|
||||
.. warning::
|
||||
|
||||
This API is **experimental** so may include breaking changes
|
||||
or be removed in a future version
|
||||
|
||||
:arg index: The rollup index or index pattern to obtain rollup
|
||||
capabilities from.
|
||||
"""
|
||||
if index in SKIP_IN_PATH:
|
||||
raise ValueError("Empty value passed for a required argument 'index'.")
|
||||
|
||||
return self.transport.perform_request(
|
||||
"GET", _make_path(index, "_rollup", "data"), params=params, headers=headers
|
||||
)
|
||||
|
||||
@query_params()
|
||||
def put_job(self, id, body, params=None, headers=None):
|
||||
"""
|
||||
Creates a rollup job.
|
||||
|
||||
`<https://www.elastic.co/guide/en/elasticsearch/reference/7.x/rollup-put-job.html>`_
|
||||
|
||||
.. warning::
|
||||
|
||||
This API is **experimental** so may include breaking changes
|
||||
or be removed in a future version
|
||||
|
||||
:arg id: The ID of the job to create
|
||||
:arg body: The job configuration
|
||||
"""
|
||||
for param in (id, body):
|
||||
if param in SKIP_IN_PATH:
|
||||
raise ValueError("Empty value passed for a required argument.")
|
||||
|
||||
return self.transport.perform_request(
|
||||
"PUT",
|
||||
_make_path("_rollup", "job", id),
|
||||
params=params,
|
||||
headers=headers,
|
||||
body=body,
|
||||
)
|
||||
|
||||
@query_params("rest_total_hits_as_int", "typed_keys")
|
||||
def rollup_search(self, index, body, doc_type=None, params=None, headers=None):
|
||||
"""
|
||||
Enables searching rolled-up data using the standard query DSL.
|
||||
|
||||
`<https://www.elastic.co/guide/en/elasticsearch/reference/7.x/rollup-search.html>`_
|
||||
|
||||
.. warning::
|
||||
|
||||
This API is **experimental** so may include breaking changes
|
||||
or be removed in a future version
|
||||
|
||||
:arg index: The indices or index-pattern(s) (containing rollup
|
||||
or regular data) that should be searched
|
||||
:arg body: The search request body
|
||||
:arg doc_type: The doc type inside the index
|
||||
:arg rest_total_hits_as_int: Indicates whether hits.total should
|
||||
be rendered as an integer or an object in the rest search response
|
||||
:arg typed_keys: Specify whether aggregation and suggester names
|
||||
should be prefixed by their respective types in the response
|
||||
"""
|
||||
for param in (index, body):
|
||||
if param in SKIP_IN_PATH:
|
||||
raise ValueError("Empty value passed for a required argument.")
|
||||
|
||||
return self.transport.perform_request(
|
||||
"POST",
|
||||
_make_path(index, doc_type, "_rollup_search"),
|
||||
params=params,
|
||||
headers=headers,
|
||||
body=body,
|
||||
)
|
||||
|
||||
@query_params()
|
||||
def start_job(self, id, params=None, headers=None):
|
||||
"""
|
||||
Starts an existing, stopped rollup job.
|
||||
|
||||
`<https://www.elastic.co/guide/en/elasticsearch/reference/7.x/rollup-start-job.html>`_
|
||||
|
||||
.. warning::
|
||||
|
||||
This API is **experimental** so may include breaking changes
|
||||
or be removed in a future version
|
||||
|
||||
:arg id: The ID of the job to start
|
||||
"""
|
||||
if id in SKIP_IN_PATH:
|
||||
raise ValueError("Empty value passed for a required argument 'id'.")
|
||||
|
||||
return self.transport.perform_request(
|
||||
"POST",
|
||||
_make_path("_rollup", "job", id, "_start"),
|
||||
params=params,
|
||||
headers=headers,
|
||||
)
|
||||
|
||||
@query_params("timeout", "wait_for_completion")
|
||||
def stop_job(self, id, params=None, headers=None):
|
||||
"""
|
||||
Stops an existing, started rollup job.
|
||||
|
||||
`<https://www.elastic.co/guide/en/elasticsearch/reference/7.x/rollup-stop-job.html>`_
|
||||
|
||||
.. warning::
|
||||
|
||||
This API is **experimental** so may include breaking changes
|
||||
or be removed in a future version
|
||||
|
||||
:arg id: The ID of the job to stop
|
||||
:arg timeout: Block for (at maximum) the specified duration
|
||||
while waiting for the job to stop. Defaults to 30s.
|
||||
:arg wait_for_completion: True if the API should block until the
|
||||
job has fully stopped, false if should be executed async. Defaults to
|
||||
false.
|
||||
"""
|
||||
if id in SKIP_IN_PATH:
|
||||
raise ValueError("Empty value passed for a required argument 'id'.")
|
||||
|
||||
return self.transport.perform_request(
|
||||
"POST",
|
||||
_make_path("_rollup", "job", id, "_stop"),
|
||||
params=params,
|
||||
headers=headers,
|
||||
)
|
||||
|
||||
@query_params()
|
||||
def rollup(self, index, rollup_index, body, params=None, headers=None):
|
||||
"""
|
||||
Rollup an index
|
||||
|
||||
`<https://www.elastic.co/guide/en/elasticsearch/reference/7.x/xpack-rollup.html>`_
|
||||
|
||||
.. warning::
|
||||
|
||||
This API is **experimental** so may include breaking changes
|
||||
or be removed in a future version
|
||||
|
||||
:arg index: The index to roll up
|
||||
:arg rollup_index: The name of the rollup index to create
|
||||
:arg body: The rollup configuration
|
||||
"""
|
||||
for param in (index, rollup_index, body):
|
||||
if param in SKIP_IN_PATH:
|
||||
raise ValueError("Empty value passed for a required argument.")
|
||||
|
||||
return self.transport.perform_request(
|
||||
"POST",
|
||||
_make_path(index, "_rollup", rollup_index),
|
||||
params=params,
|
||||
headers=headers,
|
||||
body=body,
|
||||
)
|
||||
@@ -1,184 +0,0 @@
|
||||
# Licensed to Elasticsearch B.V. under one or more contributor
|
||||
# license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright
|
||||
# ownership. Elasticsearch B.V. licenses this file to you under
|
||||
# the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from typing import Any, Collection, MutableMapping, Optional, Tuple, Union
|
||||
|
||||
from .utils import NamespacedClient
|
||||
|
||||
class RollupClient(NamespacedClient):
|
||||
def delete_job(
|
||||
self,
|
||||
id: Any,
|
||||
*,
|
||||
pretty: Optional[bool] = ...,
|
||||
human: Optional[bool] = ...,
|
||||
error_trace: Optional[bool] = ...,
|
||||
format: Optional[str] = ...,
|
||||
filter_path: Optional[Union[str, Collection[str]]] = ...,
|
||||
request_timeout: Optional[Union[int, float]] = ...,
|
||||
ignore: Optional[Union[int, Collection[int]]] = ...,
|
||||
opaque_id: Optional[str] = ...,
|
||||
http_auth: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
api_key: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
params: Optional[MutableMapping[str, Any]] = ...,
|
||||
headers: Optional[MutableMapping[str, str]] = ...,
|
||||
) -> Any: ...
|
||||
def get_jobs(
|
||||
self,
|
||||
*,
|
||||
id: Optional[Any] = ...,
|
||||
pretty: Optional[bool] = ...,
|
||||
human: Optional[bool] = ...,
|
||||
error_trace: Optional[bool] = ...,
|
||||
format: Optional[str] = ...,
|
||||
filter_path: Optional[Union[str, Collection[str]]] = ...,
|
||||
request_timeout: Optional[Union[int, float]] = ...,
|
||||
ignore: Optional[Union[int, Collection[int]]] = ...,
|
||||
opaque_id: Optional[str] = ...,
|
||||
http_auth: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
api_key: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
params: Optional[MutableMapping[str, Any]] = ...,
|
||||
headers: Optional[MutableMapping[str, str]] = ...,
|
||||
) -> Any: ...
|
||||
def get_rollup_caps(
|
||||
self,
|
||||
*,
|
||||
id: Optional[Any] = ...,
|
||||
pretty: Optional[bool] = ...,
|
||||
human: Optional[bool] = ...,
|
||||
error_trace: Optional[bool] = ...,
|
||||
format: Optional[str] = ...,
|
||||
filter_path: Optional[Union[str, Collection[str]]] = ...,
|
||||
request_timeout: Optional[Union[int, float]] = ...,
|
||||
ignore: Optional[Union[int, Collection[int]]] = ...,
|
||||
opaque_id: Optional[str] = ...,
|
||||
http_auth: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
api_key: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
params: Optional[MutableMapping[str, Any]] = ...,
|
||||
headers: Optional[MutableMapping[str, str]] = ...,
|
||||
) -> Any: ...
|
||||
def get_rollup_index_caps(
|
||||
self,
|
||||
index: Any,
|
||||
*,
|
||||
pretty: Optional[bool] = ...,
|
||||
human: Optional[bool] = ...,
|
||||
error_trace: Optional[bool] = ...,
|
||||
format: Optional[str] = ...,
|
||||
filter_path: Optional[Union[str, Collection[str]]] = ...,
|
||||
request_timeout: Optional[Union[int, float]] = ...,
|
||||
ignore: Optional[Union[int, Collection[int]]] = ...,
|
||||
opaque_id: Optional[str] = ...,
|
||||
http_auth: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
api_key: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
params: Optional[MutableMapping[str, Any]] = ...,
|
||||
headers: Optional[MutableMapping[str, str]] = ...,
|
||||
) -> Any: ...
|
||||
def put_job(
|
||||
self,
|
||||
id: Any,
|
||||
*,
|
||||
body: Any,
|
||||
pretty: Optional[bool] = ...,
|
||||
human: Optional[bool] = ...,
|
||||
error_trace: Optional[bool] = ...,
|
||||
format: Optional[str] = ...,
|
||||
filter_path: Optional[Union[str, Collection[str]]] = ...,
|
||||
request_timeout: Optional[Union[int, float]] = ...,
|
||||
ignore: Optional[Union[int, Collection[int]]] = ...,
|
||||
opaque_id: Optional[str] = ...,
|
||||
http_auth: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
api_key: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
params: Optional[MutableMapping[str, Any]] = ...,
|
||||
headers: Optional[MutableMapping[str, str]] = ...,
|
||||
) -> Any: ...
|
||||
def rollup_search(
|
||||
self,
|
||||
index: Any,
|
||||
*,
|
||||
body: Any,
|
||||
doc_type: Optional[Any] = ...,
|
||||
rest_total_hits_as_int: Optional[Any] = ...,
|
||||
typed_keys: Optional[Any] = ...,
|
||||
pretty: Optional[bool] = ...,
|
||||
human: Optional[bool] = ...,
|
||||
error_trace: Optional[bool] = ...,
|
||||
format: Optional[str] = ...,
|
||||
filter_path: Optional[Union[str, Collection[str]]] = ...,
|
||||
request_timeout: Optional[Union[int, float]] = ...,
|
||||
ignore: Optional[Union[int, Collection[int]]] = ...,
|
||||
opaque_id: Optional[str] = ...,
|
||||
http_auth: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
api_key: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
params: Optional[MutableMapping[str, Any]] = ...,
|
||||
headers: Optional[MutableMapping[str, str]] = ...,
|
||||
) -> Any: ...
|
||||
def start_job(
|
||||
self,
|
||||
id: Any,
|
||||
*,
|
||||
pretty: Optional[bool] = ...,
|
||||
human: Optional[bool] = ...,
|
||||
error_trace: Optional[bool] = ...,
|
||||
format: Optional[str] = ...,
|
||||
filter_path: Optional[Union[str, Collection[str]]] = ...,
|
||||
request_timeout: Optional[Union[int, float]] = ...,
|
||||
ignore: Optional[Union[int, Collection[int]]] = ...,
|
||||
opaque_id: Optional[str] = ...,
|
||||
http_auth: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
api_key: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
params: Optional[MutableMapping[str, Any]] = ...,
|
||||
headers: Optional[MutableMapping[str, str]] = ...,
|
||||
) -> Any: ...
|
||||
def stop_job(
|
||||
self,
|
||||
id: Any,
|
||||
*,
|
||||
timeout: Optional[Any] = ...,
|
||||
wait_for_completion: Optional[Any] = ...,
|
||||
pretty: Optional[bool] = ...,
|
||||
human: Optional[bool] = ...,
|
||||
error_trace: Optional[bool] = ...,
|
||||
format: Optional[str] = ...,
|
||||
filter_path: Optional[Union[str, Collection[str]]] = ...,
|
||||
request_timeout: Optional[Union[int, float]] = ...,
|
||||
ignore: Optional[Union[int, Collection[int]]] = ...,
|
||||
opaque_id: Optional[str] = ...,
|
||||
http_auth: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
api_key: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
params: Optional[MutableMapping[str, Any]] = ...,
|
||||
headers: Optional[MutableMapping[str, str]] = ...,
|
||||
) -> Any: ...
|
||||
def rollup(
|
||||
self,
|
||||
index: Any,
|
||||
rollup_index: Any,
|
||||
*,
|
||||
body: Any,
|
||||
pretty: Optional[bool] = ...,
|
||||
human: Optional[bool] = ...,
|
||||
error_trace: Optional[bool] = ...,
|
||||
format: Optional[str] = ...,
|
||||
filter_path: Optional[Union[str, Collection[str]]] = ...,
|
||||
request_timeout: Optional[Union[int, float]] = ...,
|
||||
ignore: Optional[Union[int, Collection[int]]] = ...,
|
||||
opaque_id: Optional[str] = ...,
|
||||
http_auth: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
api_key: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
params: Optional[MutableMapping[str, Any]] = ...,
|
||||
headers: Optional[MutableMapping[str, str]] = ...,
|
||||
) -> Any: ...
|
||||
@@ -1,53 +0,0 @@
|
||||
# Licensed to Elasticsearch B.V. under one or more contributor
|
||||
# license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright
|
||||
# ownership. Elasticsearch B.V. licenses this file to you under
|
||||
# the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from .utils import NamespacedClient, query_params
|
||||
|
||||
|
||||
class XPackClient(NamespacedClient):
|
||||
def __getattr__(self, attr_name):
|
||||
return getattr(self.client, attr_name)
|
||||
|
||||
# AUTO-GENERATED-API-DEFINITIONS #
|
||||
@query_params("accept_enterprise", "categories")
|
||||
def info(self, params=None, headers=None):
|
||||
"""
|
||||
Retrieves information about the installed X-Pack features.
|
||||
|
||||
`<https://www.elastic.co/guide/en/elasticsearch/reference/7.x/info-api.html>`_
|
||||
|
||||
:arg accept_enterprise: If an enterprise license is installed,
|
||||
return the type and mode as 'enterprise' (default: false)
|
||||
:arg categories: Comma-separated list of info categories. Can be
|
||||
any of: build, license, features
|
||||
"""
|
||||
return self.transport.perform_request(
|
||||
"GET", "/_xpack", params=params, headers=headers
|
||||
)
|
||||
|
||||
@query_params("master_timeout")
|
||||
def usage(self, params=None, headers=None):
|
||||
"""
|
||||
Retrieves usage information about the installed X-Pack features.
|
||||
|
||||
`<https://www.elastic.co/guide/en/elasticsearch/reference/7.x/usage-api.html>`_
|
||||
|
||||
:arg master_timeout: Specify timeout for watch write operation
|
||||
"""
|
||||
return self.transport.perform_request(
|
||||
"GET", "/_xpack/usage", params=params, headers=headers
|
||||
)
|
||||
@@ -1,60 +0,0 @@
|
||||
# Licensed to Elasticsearch B.V. under one or more contributor
|
||||
# license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright
|
||||
# ownership. Elasticsearch B.V. licenses this file to you under
|
||||
# the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from typing import Any, Collection, MutableMapping, Optional, Tuple, Union
|
||||
|
||||
from .utils import NamespacedClient
|
||||
|
||||
class XPackClient(NamespacedClient):
|
||||
def __getattr__(self, attr_name: str) -> Any:
|
||||
return getattr(self.client, attr_name)
|
||||
# AUTO-GENERATED-API-DEFINITIONS #
|
||||
def info(
|
||||
self,
|
||||
*,
|
||||
accept_enterprise: Optional[Any] = ...,
|
||||
categories: Optional[Any] = ...,
|
||||
pretty: Optional[bool] = ...,
|
||||
human: Optional[bool] = ...,
|
||||
error_trace: Optional[bool] = ...,
|
||||
format: Optional[str] = ...,
|
||||
filter_path: Optional[Union[str, Collection[str]]] = ...,
|
||||
request_timeout: Optional[Union[int, float]] = ...,
|
||||
ignore: Optional[Union[int, Collection[int]]] = ...,
|
||||
opaque_id: Optional[str] = ...,
|
||||
http_auth: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
api_key: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
params: Optional[MutableMapping[str, Any]] = ...,
|
||||
headers: Optional[MutableMapping[str, str]] = ...,
|
||||
) -> Any: ...
|
||||
def usage(
|
||||
self,
|
||||
*,
|
||||
master_timeout: Optional[Any] = ...,
|
||||
pretty: Optional[bool] = ...,
|
||||
human: Optional[bool] = ...,
|
||||
error_trace: Optional[bool] = ...,
|
||||
format: Optional[str] = ...,
|
||||
filter_path: Optional[Union[str, Collection[str]]] = ...,
|
||||
request_timeout: Optional[Union[int, float]] = ...,
|
||||
ignore: Optional[Union[int, Collection[int]]] = ...,
|
||||
opaque_id: Optional[str] = ...,
|
||||
http_auth: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
api_key: Optional[Union[str, Tuple[str, str]]] = ...,
|
||||
params: Optional[MutableMapping[str, Any]] = ...,
|
||||
headers: Optional[MutableMapping[str, str]] = ...,
|
||||
) -> Any: ...
|
||||
@@ -25,7 +25,7 @@ import warnings
|
||||
|
||||
import pytest
|
||||
|
||||
from elasticsearch import ElasticsearchWarning, RequestError
|
||||
from elasticsearch import ElasticsearchWarning
|
||||
from elasticsearch.helpers.test import _get_version
|
||||
|
||||
from ...test_server.test_rest_api_spec import (
|
||||
@@ -38,7 +38,7 @@ from ...test_server.test_rest_api_spec import (
|
||||
|
||||
pytestmark = pytest.mark.asyncio
|
||||
|
||||
XPACK_FEATURES = None
|
||||
XPACK_FEATURES = set()
|
||||
ES_VERSION = None
|
||||
|
||||
|
||||
@@ -208,16 +208,6 @@ class AsyncYamlRunner(YamlRunner):
|
||||
|
||||
async def _feature_enabled(self, name):
|
||||
global XPACK_FEATURES
|
||||
if XPACK_FEATURES is None:
|
||||
try:
|
||||
xinfo = await self.client.xpack.info()
|
||||
XPACK_FEATURES = set(
|
||||
f for f in xinfo["features"] if xinfo["features"][f]["enabled"]
|
||||
)
|
||||
IMPLEMENTED_FEATURES.add("xpack")
|
||||
except RequestError:
|
||||
XPACK_FEATURES = set()
|
||||
IMPLEMENTED_FEATURES.add("no_xpack")
|
||||
return name in XPACK_FEATURES
|
||||
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ import pytest
|
||||
import urllib3
|
||||
import yaml
|
||||
|
||||
from elasticsearch import ElasticsearchWarning, RequestError, TransportError
|
||||
from elasticsearch import ElasticsearchWarning, TransportError
|
||||
from elasticsearch.client.utils import _base64_auth_header
|
||||
from elasticsearch.compat import string_types
|
||||
from elasticsearch.helpers.test import _get_version
|
||||
@@ -83,8 +83,6 @@ SKIP_TESTS = {
|
||||
"transform/transforms_stats_continuous[0]",
|
||||
# Fails bad request instead of 404?
|
||||
"ml/inference_crud",
|
||||
# rollup/security_tests time out?
|
||||
"rollup/security_tests",
|
||||
# Our TLS certs are custom
|
||||
"ssl/10_basic[0]",
|
||||
# Our user is custom
|
||||
@@ -110,7 +108,7 @@ SKIP_TESTS = {
|
||||
}
|
||||
|
||||
|
||||
XPACK_FEATURES = None
|
||||
XPACK_FEATURES = set()
|
||||
ES_VERSION = None
|
||||
RUN_ASYNC_REST_API_TESTS = (
|
||||
sys.version_info >= (3, 6)
|
||||
@@ -442,16 +440,6 @@ class YamlRunner:
|
||||
|
||||
def _feature_enabled(self, name):
|
||||
global XPACK_FEATURES, IMPLEMENTED_FEATURES
|
||||
if XPACK_FEATURES is None:
|
||||
try:
|
||||
xinfo = self.client.xpack.info()
|
||||
XPACK_FEATURES = set(
|
||||
f for f in xinfo["features"] if xinfo["features"][f]["enabled"]
|
||||
)
|
||||
IMPLEMENTED_FEATURES.add("xpack")
|
||||
except RequestError:
|
||||
XPACK_FEATURES = set()
|
||||
IMPLEMENTED_FEATURES.add("no_xpack")
|
||||
return name in XPACK_FEATURES
|
||||
|
||||
def _assert_match_equals(self, a, b):
|
||||
|
||||
+4
-120
@@ -17,8 +17,7 @@
|
||||
|
||||
import time
|
||||
|
||||
from elasticsearch import Elasticsearch, NotFoundError, RequestError
|
||||
from elasticsearch.helpers.test import es_version
|
||||
from elasticsearch import Elasticsearch
|
||||
|
||||
|
||||
def wipe_cluster(client):
|
||||
@@ -35,37 +34,15 @@ def wipe_cluster(client):
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
is_xpack = True
|
||||
if is_xpack:
|
||||
wipe_rollup_jobs(client)
|
||||
wait_for_pending_tasks(client, filter="xpack/rollup/job")
|
||||
wipe_slm_policies(client)
|
||||
|
||||
# Searchable snapshot indices start in 7.8+
|
||||
if es_version(client) >= (7, 8):
|
||||
wipe_searchable_snapshot_indices(client)
|
||||
|
||||
wipe_snapshots(client)
|
||||
if is_xpack:
|
||||
wipe_data_streams(client)
|
||||
wipe_indices(client)
|
||||
|
||||
if is_xpack:
|
||||
wipe_xpack_templates(client)
|
||||
else:
|
||||
client.indices.delete_template(name="*")
|
||||
client.indices.delete_index_template(name="*")
|
||||
client.cluster.delete_component_template(name="*")
|
||||
client.indices.delete_template(name="*")
|
||||
client.indices.delete_index_template(name="*")
|
||||
client.cluster.delete_component_template(name="*")
|
||||
|
||||
wipe_cluster_settings(client)
|
||||
|
||||
if is_xpack:
|
||||
wipe_ilm_policies(client)
|
||||
wipe_auto_follow_patterns(client)
|
||||
wipe_tasks(client)
|
||||
wipe_node_shutdown_metadata(client)
|
||||
wait_for_pending_datafeeds_and_jobs(client)
|
||||
|
||||
wait_for_cluster_state_updates_to_finish(client)
|
||||
if close_after_wipe:
|
||||
client.close()
|
||||
@@ -83,14 +60,6 @@ def wipe_cluster_settings(client):
|
||||
client.cluster.put_settings(body=new_settings)
|
||||
|
||||
|
||||
def wipe_rollup_jobs(client):
|
||||
rollup_jobs = client.rollup.get_jobs(id="_all").get("jobs", ())
|
||||
for job in rollup_jobs:
|
||||
job_id = job["config"]["id"]
|
||||
client.rollup.stop_job(id=job_id, wait_for_completion=True, ignore=404)
|
||||
client.rollup.delete_job(id=job_id, ignore=404)
|
||||
|
||||
|
||||
def wipe_snapshots(client):
|
||||
"""Deletes all the snapshots and repositories from the cluster"""
|
||||
in_progress_snapshots = []
|
||||
@@ -141,54 +110,6 @@ def wipe_searchable_snapshot_indices(client):
|
||||
client.indices.delete(index=index)
|
||||
|
||||
|
||||
def wipe_xpack_templates(client):
|
||||
templates = [
|
||||
x.strip() for x in client.cat.templates(h="name").split("\n") if x.strip()
|
||||
]
|
||||
for template in templates:
|
||||
if is_xpack_template(template):
|
||||
continue
|
||||
try:
|
||||
client.indices.delete_template(name=template)
|
||||
except NotFoundError as e:
|
||||
if "index_template [%s] missing" % template in str(e.info):
|
||||
client.indices.delete_index_template(name=template)
|
||||
|
||||
# Delete component templates, need to retry because sometimes
|
||||
# indices aren't cleaned up in time before we issue the delete.
|
||||
templates = client.cluster.get_component_template()["component_templates"]
|
||||
templates_to_delete = [
|
||||
template for template in templates if not is_xpack_template(template["name"])
|
||||
]
|
||||
for _ in range(3):
|
||||
for template in list(templates_to_delete):
|
||||
try:
|
||||
client.cluster.delete_component_template(
|
||||
name=template["name"],
|
||||
)
|
||||
except RequestError:
|
||||
pass
|
||||
else:
|
||||
templates_to_delete.remove(template)
|
||||
|
||||
if not templates_to_delete:
|
||||
break
|
||||
time.sleep(0.01)
|
||||
|
||||
|
||||
def wipe_ilm_policies(client):
|
||||
for policy in client.ilm.get_lifecycle():
|
||||
if policy not in {
|
||||
"ilm-history-ilm-policy",
|
||||
"slm-history-ilm-policy",
|
||||
"watch-history-ilm-policy",
|
||||
"ml-size-based-ilm-policy",
|
||||
"logs",
|
||||
"metrics",
|
||||
}:
|
||||
client.ilm.delete_lifecycle(policy=policy)
|
||||
|
||||
|
||||
def wipe_slm_policies(client):
|
||||
for policy in client.slm.get_lifecycle():
|
||||
client.slm.delete_lifecycle(policy_id=policy["name"])
|
||||
@@ -244,40 +165,3 @@ def wait_for_cluster_state_updates_to_finish(client, timeout=30):
|
||||
while time.time() < end_time:
|
||||
if not client.cluster.pending_tasks().get("tasks", ()):
|
||||
break
|
||||
|
||||
|
||||
def is_xpack_template(name):
|
||||
if ".monitoring-" in name:
|
||||
return True
|
||||
if ".watch" in name or ".triggered_watches" in name:
|
||||
return True
|
||||
if ".data-frame-" in name:
|
||||
return True
|
||||
if ".ml-" in name:
|
||||
return True
|
||||
if ".transform-" in name:
|
||||
return True
|
||||
if name in {
|
||||
".watches",
|
||||
"logstash-index-template",
|
||||
".logstash-management",
|
||||
"security_audit_log",
|
||||
".slm-history",
|
||||
".async-search",
|
||||
".geoip_databases",
|
||||
"saml-service-provider",
|
||||
"ilm-history",
|
||||
"logs",
|
||||
"logs-settings",
|
||||
"logs-mappings",
|
||||
"metrics",
|
||||
"metrics-settings",
|
||||
"metrics-mappings",
|
||||
"synthetics",
|
||||
"synthetics-settings",
|
||||
"synthetics-mappings",
|
||||
".snapshot-blob-cache",
|
||||
"data-streams-mappings",
|
||||
}:
|
||||
return True
|
||||
return False
|
||||
|
||||
Reference in New Issue
Block a user