Add typeless API for exists_source

This commit is contained in:
Seth Michael Larson
2020-06-03 10:38:35 -05:00
committed by GitHub
parent 99d026502c
commit 5db3482b5c
9 changed files with 183 additions and 160 deletions
+8 -6
View File
@@ -832,11 +832,13 @@ class AsyncElasticsearch(object):
if param in SKIP_IN_PATH:
raise ValueError("Empty value passed for a required argument.")
if doc_type in SKIP_IN_PATH:
path = _make_path(index, "_source", id)
else:
path = _make_path(index, doc_type, id, "_source")
return await self.transport.perform_request(
"HEAD",
_make_path(index, doc_type, id, "_source"),
params=params,
headers=headers,
"HEAD", path, params=params, headers=headers
)
@query_params(
@@ -1576,8 +1578,8 @@ class AsyncElasticsearch(object):
:arg stored_fields: A comma-separated list of stored fields to
return as part of a hit
:arg suggest_field: Specify which field to use for suggestions
:arg suggest_mode: Specify suggest mode Valid choices:
missing, popular, always Default: missing
:arg suggest_mode: Specify suggest mode Valid choices: missing,
popular, always Default: missing
:arg suggest_size: How many suggestions to return in response
:arg suggest_text: The source text for which the suggestions
should be returned
+3 -4
View File
@@ -1276,7 +1276,7 @@ class IndicesClient(NamespacedClient):
)
@query_params()
async def create_data_stream(self, name, body, params=None, headers=None):
async def create_data_stream(self, name, body=None, params=None, headers=None):
"""
Creates or updates a data stream
`<https://www.elastic.co/guide/en/elasticsearch/reference/7.x/data-streams.html>`_
@@ -1284,9 +1284,8 @@ class IndicesClient(NamespacedClient):
:arg name: The name of the data stream
:arg body: The data stream definition
"""
for param in (name, body):
if param in SKIP_IN_PATH:
raise ValueError("Empty value passed for a required argument.")
if name in SKIP_IN_PATH:
raise ValueError("Empty value passed for a required argument 'name'.")
return await self.transport.perform_request(
"PUT",
+6 -1
View File
@@ -318,7 +318,7 @@ class MlClient(NamespacedClient):
body=body,
)
@query_params("duration", "expires_in")
@query_params("duration", "expires_in", "max_model_memory")
async def forecast(self, job_id, params=None, headers=None):
"""
Predicts the future behavior of a time series by using its historical behavior.
@@ -328,6 +328,8 @@ class MlClient(NamespacedClient):
:arg duration: The duration of the forecast
:arg expires_in: The time interval after which the forecast
expires. Expired forecasts will be deleted at the first opportunity.
:arg max_model_memory: The max memory able to be used by the
forecast. Default is 20mb.
"""
if job_id in SKIP_IN_PATH:
raise ValueError("Empty value passed for a required argument 'job_id'.")
@@ -1396,6 +1398,7 @@ class MlClient(NamespacedClient):
@query_params(
"allow_no_match",
"decompress_definition",
"for_export",
"from_",
"include_model_definition",
"size",
@@ -1413,6 +1416,8 @@ class MlClient(NamespacedClient):
:arg decompress_definition: Should the model definition be
decompressed into valid JSON or returned in a custom compressed format.
Defaults to true. Default: True
:arg for_export: Omits fields that are illegal to set on model
PUT
:arg from_: skips a number of trained models
:arg include_model_definition: Should the full model definition
be included in the results. These definitions can be large. So be
+2 -1
View File
@@ -87,7 +87,8 @@ class SnapshotClient(NamespacedClient):
Deletes a repository.
`<https://www.elastic.co/guide/en/elasticsearch/reference/7.x/modules-snapshots.html>`_
:arg repository: A comma-separated list of repository names
:arg repository: Name of the snapshot repository to unregister.
Wildcard (`*`) patterns are supported.
:arg master_timeout: Explicit operation timeout for connection
to master node
:arg timeout: Explicit operation timeout
+8 -6
View File
@@ -826,11 +826,13 @@ class Elasticsearch(object):
if param in SKIP_IN_PATH:
raise ValueError("Empty value passed for a required argument.")
if doc_type in SKIP_IN_PATH:
path = _make_path(index, "_source", id)
else:
path = _make_path(index, doc_type, id, "_source")
return self.transport.perform_request(
"HEAD",
_make_path(index, doc_type, id, "_source"),
params=params,
headers=headers,
"HEAD", path, params=params, headers=headers
)
@query_params(
@@ -1564,8 +1566,8 @@ class Elasticsearch(object):
:arg stored_fields: A comma-separated list of stored fields to
return as part of a hit
:arg suggest_field: Specify which field to use for suggestions
:arg suggest_mode: Specify suggest mode Valid choices:
missing, popular, always Default: missing
:arg suggest_mode: Specify suggest mode Valid choices: missing,
popular, always Default: missing
:arg suggest_size: How many suggestions to return in response
:arg suggest_text: The source text for which the suggestions
should be returned
+3 -4
View File
@@ -1272,7 +1272,7 @@ class IndicesClient(NamespacedClient):
)
@query_params()
def create_data_stream(self, name, body, params=None, headers=None):
def create_data_stream(self, name, body=None, params=None, headers=None):
"""
Creates or updates a data stream
`<https://www.elastic.co/guide/en/elasticsearch/reference/7.x/data-streams.html>`_
@@ -1280,9 +1280,8 @@ class IndicesClient(NamespacedClient):
:arg name: The name of the data stream
:arg body: The data stream definition
"""
for param in (name, body):
if param in SKIP_IN_PATH:
raise ValueError("Empty value passed for a required argument.")
if name in SKIP_IN_PATH:
raise ValueError("Empty value passed for a required argument 'name'.")
return self.transport.perform_request(
"PUT",
+6 -1
View File
@@ -312,7 +312,7 @@ class MlClient(NamespacedClient):
body=body,
)
@query_params("duration", "expires_in")
@query_params("duration", "expires_in", "max_model_memory")
def forecast(self, job_id, params=None, headers=None):
"""
Predicts the future behavior of a time series by using its historical behavior.
@@ -322,6 +322,8 @@ class MlClient(NamespacedClient):
:arg duration: The duration of the forecast
:arg expires_in: The time interval after which the forecast
expires. Expired forecasts will be deleted at the first opportunity.
:arg max_model_memory: The max memory able to be used by the
forecast. Default is 20mb.
"""
if job_id in SKIP_IN_PATH:
raise ValueError("Empty value passed for a required argument 'job_id'.")
@@ -1384,6 +1386,7 @@ class MlClient(NamespacedClient):
@query_params(
"allow_no_match",
"decompress_definition",
"for_export",
"from_",
"include_model_definition",
"size",
@@ -1401,6 +1404,8 @@ class MlClient(NamespacedClient):
:arg decompress_definition: Should the model definition be
decompressed into valid JSON or returned in a custom compressed format.
Defaults to true. Default: True
:arg for_export: Omits fields that are illegal to set on model
PUT
:arg from_: skips a number of trained models
:arg include_model_definition: Should the full model definition
be included in the results. These definitions can be large. So be
+2 -1
View File
@@ -87,7 +87,8 @@ class SnapshotClient(NamespacedClient):
Deletes a repository.
`<https://www.elastic.co/guide/en/elasticsearch/reference/7.x/modules-snapshots.html>`_
:arg repository: A comma-separated list of repository names
:arg repository: Name of the snapshot repository to unregister.
Wildcard (`*`) patterns are supported.
:arg master_timeout: Explicit operation timeout for connection
to master node
:arg timeout: Explicit operation timeout
@@ -0,0 +1,9 @@
{% extends "base" %}
{% block request %}
if doc_type in SKIP_IN_PATH:
path = _make_path(index, "_source", id)
else:
path = _make_path(index, doc_type, id, "_source")
return await self.transport.perform_request("{{ api.method }}", path, params=params, headers=headers)
{% endblock %}