From 5104ad9aee1e2c8306113646963880c3563c7bfd Mon Sep 17 00:00:00 2001 From: Rushi Agrawal Date: Thu, 5 Aug 2021 20:17:03 +0530 Subject: [PATCH] Remove xpack api code Signed-off-by: Rushi Agrawal --- docs/guide/release-notes.asciidoc | 405 ------------------ docs/sphinx/api.rst | 6 - elasticsearch/_async/client/__init__.py | 6 - elasticsearch/_async/client/__init__.pyi | 6 - elasticsearch/_async/client/rollup.py | 246 ----------- elasticsearch/_async/client/rollup.pyi | 184 -------- elasticsearch/_async/client/xpack.py | 53 --- elasticsearch/_async/client/xpack.pyi | 60 --- elasticsearch/client/__init__.py | 6 - elasticsearch/client/__init__.pyi | 6 - elasticsearch/client/rollup.py | 244 ----------- elasticsearch/client/rollup.pyi | 184 -------- elasticsearch/client/xpack.py | 53 --- elasticsearch/client/xpack.pyi | 60 --- .../test_server/test_rest_api_spec.py | 14 +- .../test_server/test_rest_api_spec.py | 16 +- test_elasticsearch/utils.py | 124 +----- 17 files changed, 8 insertions(+), 1665 deletions(-) delete mode 100644 docs/guide/release-notes.asciidoc delete mode 100644 elasticsearch/_async/client/rollup.py delete mode 100644 elasticsearch/_async/client/rollup.pyi delete mode 100644 elasticsearch/_async/client/xpack.py delete mode 100644 elasticsearch/_async/client/xpack.pyi delete mode 100644 elasticsearch/client/rollup.py delete mode 100644 elasticsearch/client/rollup.pyi delete mode 100644 elasticsearch/client/xpack.py delete mode 100644 elasticsearch/client/xpack.pyi diff --git a/docs/guide/release-notes.asciidoc b/docs/guide/release-notes.asciidoc deleted file mode 100644 index 8a8a7e48..00000000 --- a/docs/guide/release-notes.asciidoc +++ /dev/null @@ -1,405 +0,0 @@ -[[release-notes]] -== Release notes - -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> -* <> - - -[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. diff --git a/docs/sphinx/api.rst b/docs/sphinx/api.rst index 05e3964a..c9a4c2df 100644 --- a/docs/sphinx/api.rst +++ b/docs/sphinx/api.rst @@ -300,9 +300,3 @@ Watcher .. autoclass:: WatcherClient :members: - -X-Pack ------- - -.. autoclass:: XPackClient - :members: diff --git a/elasticsearch/_async/client/__init__.py b/elasticsearch/_async/client/__init__.py index 89a6ed5b..a0110390 100644 --- a/elasticsearch/_async/client/__init__.py +++ b/elasticsearch/_async/client/__init__.py @@ -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) diff --git a/elasticsearch/_async/client/__init__.pyi b/elasticsearch/_async/client/__init__.pyi index 50d54623..3105698d 100644 --- a/elasticsearch/_async/client/__init__.pyi +++ b/elasticsearch/_async/client/__init__.pyi @@ -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 diff --git a/elasticsearch/_async/client/rollup.py b/elasticsearch/_async/client/rollup.py deleted file mode 100644 index adf579fa..00000000 --- a/elasticsearch/_async/client/rollup.py +++ /dev/null @@ -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. - - ``_ - - .. 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. - - ``_ - - .. 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. - - ``_ - - .. 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). - - ``_ - - .. 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. - - ``_ - - .. 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. - - ``_ - - .. 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. - - ``_ - - .. 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. - - ``_ - - .. 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 - - ``_ - - .. 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, - ) diff --git a/elasticsearch/_async/client/rollup.pyi b/elasticsearch/_async/client/rollup.pyi deleted file mode 100644 index e8148b97..00000000 --- a/elasticsearch/_async/client/rollup.pyi +++ /dev/null @@ -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: ... diff --git a/elasticsearch/_async/client/xpack.py b/elasticsearch/_async/client/xpack.py deleted file mode 100644 index a48b63a6..00000000 --- a/elasticsearch/_async/client/xpack.py +++ /dev/null @@ -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. - - ``_ - - :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. - - ``_ - - :arg master_timeout: Specify timeout for watch write operation - """ - return await self.transport.perform_request( - "GET", "/_xpack/usage", params=params, headers=headers - ) diff --git a/elasticsearch/_async/client/xpack.pyi b/elasticsearch/_async/client/xpack.pyi deleted file mode 100644 index 459436bc..00000000 --- a/elasticsearch/_async/client/xpack.pyi +++ /dev/null @@ -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: ... diff --git a/elasticsearch/client/__init__.py b/elasticsearch/client/__init__.py index d4776c4e..0e2415c2 100644 --- a/elasticsearch/client/__init__.py +++ b/elasticsearch/client/__init__.py @@ -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) diff --git a/elasticsearch/client/__init__.pyi b/elasticsearch/client/__init__.pyi index 95a8315b..3aa1aff9 100644 --- a/elasticsearch/client/__init__.pyi +++ b/elasticsearch/client/__init__.pyi @@ -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 diff --git a/elasticsearch/client/rollup.py b/elasticsearch/client/rollup.py deleted file mode 100644 index 160b6d85..00000000 --- a/elasticsearch/client/rollup.py +++ /dev/null @@ -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. - - ``_ - - .. 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. - - ``_ - - .. 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. - - ``_ - - .. 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). - - ``_ - - .. 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. - - ``_ - - .. 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. - - ``_ - - .. 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. - - ``_ - - .. 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. - - ``_ - - .. 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 - - ``_ - - .. 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, - ) diff --git a/elasticsearch/client/rollup.pyi b/elasticsearch/client/rollup.pyi deleted file mode 100644 index 102f05fb..00000000 --- a/elasticsearch/client/rollup.pyi +++ /dev/null @@ -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: ... diff --git a/elasticsearch/client/xpack.py b/elasticsearch/client/xpack.py deleted file mode 100644 index 037d6b68..00000000 --- a/elasticsearch/client/xpack.py +++ /dev/null @@ -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. - - ``_ - - :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. - - ``_ - - :arg master_timeout: Specify timeout for watch write operation - """ - return self.transport.perform_request( - "GET", "/_xpack/usage", params=params, headers=headers - ) diff --git a/elasticsearch/client/xpack.pyi b/elasticsearch/client/xpack.pyi deleted file mode 100644 index 67b2fa49..00000000 --- a/elasticsearch/client/xpack.pyi +++ /dev/null @@ -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: ... diff --git a/test_elasticsearch/test_async/test_server/test_rest_api_spec.py b/test_elasticsearch/test_async/test_server/test_rest_api_spec.py index afd534ba..1e948164 100644 --- a/test_elasticsearch/test_async/test_server/test_rest_api_spec.py +++ b/test_elasticsearch/test_async/test_server/test_rest_api_spec.py @@ -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 diff --git a/test_elasticsearch/test_server/test_rest_api_spec.py b/test_elasticsearch/test_server/test_rest_api_spec.py index fe167144..e1b7e1a0 100644 --- a/test_elasticsearch/test_server/test_rest_api_spec.py +++ b/test_elasticsearch/test_server/test_rest_api_spec.py @@ -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): diff --git a/test_elasticsearch/utils.py b/test_elasticsearch/utils.py index ef6305de..32f02fcd 100644 --- a/test_elasticsearch/utils.py +++ b/test_elasticsearch/utils.py @@ -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