Skip to content

Commit

Permalink
Updated opensearch-py to reflect the latest OpenSearch API spec (2024…
Browse files Browse the repository at this point in the history
…-04-19)

Signed-off-by: GitHub <noreply@github.com>
  • Loading branch information
saimedhi authored Apr 19, 2024
1 parent b47edf9 commit 0a87c6a
Show file tree
Hide file tree
Showing 3 changed files with 161 additions and 38 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
### Fixed
- Updated code generator to use native OpenAPI specification ([#721](https://github.com/opensearch-project/opensearch-py/pull/721))
### Updated APIs
- Updated opensearch-py APIs to reflect [opensearch-api-specification@fe6f977](https://github.com/opensearch-project/opensearch-api-specification/commit/fe6f977bcae4e27a2b261fb9599884df5606c0bc)
- Updated opensearch-py APIs to reflect [opensearch-api-specification@29faff0](https://github.com/opensearch-project/opensearch-api-specification/commit/29faff0709b2557acfd4c3c7e053a2c313413633)
### Security
### Dependencies
Expand Down
99 changes: 80 additions & 19 deletions opensearchpy/_async/client/search_pipeline.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,18 +22,28 @@


class SearchPipelineClient(NamespacedClient):
@query_params("error_trace", "filter_path", "human", "pretty", "source")
async def create(
@query_params(
"cluster_manager_timeout",
"error_trace",
"filter_path",
"human",
"pretty",
"source",
)
async def get(
self,
pipeline: Any,
body: Any,
id: Any = None,
params: Any = None,
headers: Any = None,
) -> Any:
"""
Creates or replaces the specified search pipeline.
Retrieves information about a specified search pipeline.
:arg id: Comma-separated list of search pipeline ids. Wildcards
supported.
:arg cluster_manager_timeout: operation timeout for connection
to cluster-manager node.
:arg error_trace: Whether to include the stack trace of returned
errors.
:arg filter_path: Comma-separated list of filters used to reduce
Expand All @@ -45,29 +55,77 @@ async def create(
:arg source: The URL-encoded request definition. Useful for
libraries that do not accept a request body for non-POST requests.
"""
for param in (pipeline, body):
if param in SKIP_IN_PATH:
raise ValueError("Empty value passed for a required argument.")
return await self.transport.perform_request(
"GET", _make_path("_search", "pipeline", id), params=params, headers=headers
)

@query_params(
"cluster_manager_timeout",
"error_trace",
"filter_path",
"human",
"pretty",
"source",
"timeout",
)
async def delete(
self,
id: Any,
params: Any = None,
headers: Any = None,
) -> Any:
"""
Deletes the specified search pipeline.
:arg id: Pipeline ID.
:arg cluster_manager_timeout: Operation timeout for connection
to cluster-manager node.
:arg error_trace: Whether to include the stack trace of returned
errors.
:arg filter_path: Comma-separated list of filters used to reduce
the response.
:arg human: Whether to return human readable values for
statistics.
:arg pretty: Whether to pretty format the returned JSON
response.
:arg source: The URL-encoded request definition. Useful for
libraries that do not accept a request body for non-POST requests.
:arg timeout: Operation timeout.
"""
if id in SKIP_IN_PATH:
raise ValueError("Empty value passed for a required argument 'id'.")

return await self.transport.perform_request(
"PUT",
_make_path("_search", "pipeline", pipeline),
"DELETE",
_make_path("_search", "pipeline", id),
params=params,
headers=headers,
body=body,
)

@query_params("error_trace", "filter_path", "human", "pretty", "source")
async def get(
@query_params(
"cluster_manager_timeout",
"error_trace",
"filter_path",
"human",
"pretty",
"source",
"timeout",
)
async def put(
self,
pipeline: Any,
id: Any,
body: Any,
params: Any = None,
headers: Any = None,
) -> Any:
"""
Retrieves information about a specified search pipeline.
Creates or replaces the specified search pipeline.
:arg id: Pipeline ID.
:arg cluster_manager_timeout: operation timeout for connection
to cluster-manager node.
:arg error_trace: Whether to include the stack trace of returned
errors.
:arg filter_path: Comma-separated list of filters used to reduce
Expand All @@ -78,13 +136,16 @@ async def get(
response.
:arg source: The URL-encoded request definition. Useful for
libraries that do not accept a request body for non-POST requests.
:arg timeout: Operation timeout.
"""
if pipeline in SKIP_IN_PATH:
raise ValueError("Empty value passed for a required argument 'pipeline'.")
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(
"GET",
_make_path("_search", "pipeline", pipeline),
"PUT",
_make_path("_search", "pipeline", id),
params=params,
headers=headers,
body=body,
)
99 changes: 80 additions & 19 deletions opensearchpy/client/search_pipeline.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,18 +22,28 @@


class SearchPipelineClient(NamespacedClient):
@query_params("error_trace", "filter_path", "human", "pretty", "source")
def create(
@query_params(
"cluster_manager_timeout",
"error_trace",
"filter_path",
"human",
"pretty",
"source",
)
def get(
self,
pipeline: Any,
body: Any,
id: Any = None,
params: Any = None,
headers: Any = None,
) -> Any:
"""
Creates or replaces the specified search pipeline.
Retrieves information about a specified search pipeline.
:arg id: Comma-separated list of search pipeline ids. Wildcards
supported.
:arg cluster_manager_timeout: operation timeout for connection
to cluster-manager node.
:arg error_trace: Whether to include the stack trace of returned
errors.
:arg filter_path: Comma-separated list of filters used to reduce
Expand All @@ -45,29 +55,77 @@ def create(
:arg source: The URL-encoded request definition. Useful for
libraries that do not accept a request body for non-POST requests.
"""
for param in (pipeline, body):
if param in SKIP_IN_PATH:
raise ValueError("Empty value passed for a required argument.")
return self.transport.perform_request(
"GET", _make_path("_search", "pipeline", id), params=params, headers=headers
)

@query_params(
"cluster_manager_timeout",
"error_trace",
"filter_path",
"human",
"pretty",
"source",
"timeout",
)
def delete(
self,
id: Any,
params: Any = None,
headers: Any = None,
) -> Any:
"""
Deletes the specified search pipeline.
:arg id: Pipeline ID.
:arg cluster_manager_timeout: Operation timeout for connection
to cluster-manager node.
:arg error_trace: Whether to include the stack trace of returned
errors.
:arg filter_path: Comma-separated list of filters used to reduce
the response.
:arg human: Whether to return human readable values for
statistics.
:arg pretty: Whether to pretty format the returned JSON
response.
:arg source: The URL-encoded request definition. Useful for
libraries that do not accept a request body for non-POST requests.
:arg timeout: Operation timeout.
"""
if id in SKIP_IN_PATH:
raise ValueError("Empty value passed for a required argument 'id'.")

return self.transport.perform_request(
"PUT",
_make_path("_search", "pipeline", pipeline),
"DELETE",
_make_path("_search", "pipeline", id),
params=params,
headers=headers,
body=body,
)

@query_params("error_trace", "filter_path", "human", "pretty", "source")
def get(
@query_params(
"cluster_manager_timeout",
"error_trace",
"filter_path",
"human",
"pretty",
"source",
"timeout",
)
def put(
self,
pipeline: Any,
id: Any,
body: Any,
params: Any = None,
headers: Any = None,
) -> Any:
"""
Retrieves information about a specified search pipeline.
Creates or replaces the specified search pipeline.
:arg id: Pipeline ID.
:arg cluster_manager_timeout: operation timeout for connection
to cluster-manager node.
:arg error_trace: Whether to include the stack trace of returned
errors.
:arg filter_path: Comma-separated list of filters used to reduce
Expand All @@ -78,13 +136,16 @@ def get(
response.
:arg source: The URL-encoded request definition. Useful for
libraries that do not accept a request body for non-POST requests.
:arg timeout: Operation timeout.
"""
if pipeline in SKIP_IN_PATH:
raise ValueError("Empty value passed for a required argument 'pipeline'.")
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(
"GET",
_make_path("_search", "pipeline", pipeline),
"PUT",
_make_path("_search", "pipeline", id),
params=params,
headers=headers,
body=body,
)

0 comments on commit 0a87c6a

Please sign in to comment.