diff --git a/noxfile.py b/noxfile.py index d81a5c27..3dd8fea0 100644 --- a/noxfile.py +++ b/noxfile.py @@ -74,7 +74,7 @@ def format(session: Any) -> None: session.run("black", *SOURCE_FILES) session.run("python", "utils/license_headers.py", "fix", *SOURCE_FILES) - #session.notify("lint") + # session.notify("lint") @nox.session(python=["3.7"]) # type: ignore @@ -147,4 +147,3 @@ def generate(session: Any) -> None: session.install("-rdev-requirements.txt") session.run("python", "utils/generate_api.py") session.notify("format") - diff --git a/opensearchpy/_async/client/cluster.py b/opensearchpy/_async/client/cluster.py index 70d93cf8..c47aef07 100644 --- a/opensearchpy/_async/client/cluster.py +++ b/opensearchpy/_async/client/cluster.py @@ -530,10 +530,7 @@ async def delete_decommission_awareness( """ return await self.transport.perform_request( - "DELETE", - "/_cluster/decommission/awareness/", - params=params, - headers=headers, + "DELETE", "/_cluster/decommission/awareness", params=params, headers=headers ) @query_params() diff --git a/opensearchpy/_async/client/security.py b/opensearchpy/_async/client/security.py index c5b9f2ca..6b8c2026 100644 --- a/opensearchpy/_async/client/security.py +++ b/opensearchpy/_async/client/security.py @@ -98,7 +98,7 @@ async def get_action_groups( """ return await self.transport.perform_request( "GET", - "/_plugins/_security/api/actiongroups/", + "/_plugins/_security/api/actiongroups", params=params, headers=headers, ) diff --git a/opensearchpy/client/__init__.py b/opensearchpy/client/__init__.py index 1caaba88..0dfafab7 100644 --- a/opensearchpy/client/__init__.py +++ b/opensearchpy/client/__init__.py @@ -339,6 +339,72 @@ def create( "PUT", path, params=params, headers=headers, body=body ) + @query_params( + "if_primary_term", + "if_seq_no", + "op_type", + "pipeline", + "refresh", + "require_alias", + "routing", + "timeout", + "version", + "version_type", + "wait_for_active_shards", + ) + def index( + self, + index: Any, + body: Any, + id: Any = None, + params: Any = None, + headers: Any = None, + ) -> Any: + """ + Creates or updates a document in an index. + + + :arg index: Index name. + :arg body: The document + :arg id: Document ID. + :arg if_primary_term: only perform the operation if the last + operation that has changed the document has the specified primary term. + :arg if_seq_no: only perform the operation if the last operation + that has changed the document has the specified sequence number. + :arg op_type: Explicit operation type. Defaults to `index` for + requests with an explicit document ID, and to `create` for requests + without an explicit document ID. Valid choices are index, create. + :arg pipeline: The pipeline id to preprocess incoming documents + with. + :arg refresh: If `true` then refresh the affected shards to make + this operation visible to search, if `wait_for` then wait for a refresh + to make this operation visible to search, if `false` (the default) then + do nothing with refreshes. Valid choices are true, false, wait_for. + :arg require_alias: When true, requires destination to be an + alias. Default is false. + :arg routing: Routing value. + :arg timeout: Operation timeout. + :arg version: Explicit version number for concurrency control. + :arg version_type: Specific version type. Valid choices are + internal, external, external_gte, force. + :arg wait_for_active_shards: Sets the number of shard copies + that must be active before proceeding with the operation. Defaults to 1, + meaning the primary shard only. Set to `all` for all shard copies, + otherwise set to any non-negative value less than or equal to the total + number of copies for the shard (number of replicas + 1). Default is 1. + """ + 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" if id in SKIP_IN_PATH else "PUT", + _make_path(index, "_doc", id), + params=params, + headers=headers, + body=body, + ) + @query_params( "_source", "_source_excludes", diff --git a/opensearchpy/client/cluster.py b/opensearchpy/client/cluster.py index fc49f266..6af86a91 100644 --- a/opensearchpy/client/cluster.py +++ b/opensearchpy/client/cluster.py @@ -530,10 +530,7 @@ def delete_decommission_awareness( """ return self.transport.perform_request( - "DELETE", - "/_cluster/decommission/awareness/", - params=params, - headers=headers, + "DELETE", "/_cluster/decommission/awareness", params=params, headers=headers ) @query_params() diff --git a/opensearchpy/client/security.py b/opensearchpy/client/security.py index d7b76a90..66a365fd 100644 --- a/opensearchpy/client/security.py +++ b/opensearchpy/client/security.py @@ -98,7 +98,7 @@ def get_action_groups( """ return self.transport.perform_request( "GET", - "/_plugins/_security/api/actiongroups/", + "/_plugins/_security/api/actiongroups", params=params, headers=headers, )