/* SPDX-License-Identifier: Apache-2.0
*
* The OpenSearch Contributors require contributions made to
* this file be licensed under the Apache-2.0 license or a
* compatible open source license.
*/
/*
* Modifications Copyright OpenSearch Contributors. See
* GitHub history for details.
*
* 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.
*/
// ███╗ ██╗ ██████╗ ████████╗██╗ ██████╗███████╗
// ████╗ ██║██╔═══██╗╚══██╔══╝██║██╔════╝██╔════╝
// ██╔██╗ ██║██║ ██║ ██║ ██║██║ █████╗
// ██║╚██╗██║██║ ██║ ██║ ██║██║ ██╔══╝
// ██║ ╚████║╚██████╔╝ ██║ ██║╚██████╗███████╗
// ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝╚══════╝
// -----------------------------------------------
//
// This file is automatically generated
// Please do not edit these files manually
// Run the following in the root of the repos:
//
// *NIX : ./build.sh codegen
// Windows : build.bat codegen
//
// -----------------------------------------------
// ReSharper disable RedundantUsingDirective
using System;
using System.Threading;
using System.Threading.Tasks;
using OpenSearch.Client.Specification.CatApi;
using OpenSearch.Client.Specification.ClusterApi;
using OpenSearch.Client.Specification.DanglingIndicesApi;
using OpenSearch.Client.Specification.IndicesApi;
using OpenSearch.Client.Specification.IngestApi;
using OpenSearch.Client.Specification.NodesApi;
using OpenSearch.Client.Specification.SnapshotApi;
using OpenSearch.Client.Specification.TasksApi;
using OpenSearch.Client;
// ReSharper disable RedundantTypeArgumentsOfMethod
namespace OpenSearch.Client
{
///
///OpenSearch high level client
///
public partial class OpenSearchClient : IOpenSearchClient
{
///Cat APIs
public CatNamespace Cat
{
get;
private set;
}
///Cluster APIs
public ClusterNamespace Cluster
{
get;
private set;
}
///Dangling Indices APIs
public DanglingIndicesNamespace DanglingIndices
{
get;
private set;
}
///Indices APIs
public IndicesNamespace Indices
{
get;
private set;
}
///Ingest APIs
public IngestNamespace Ingest
{
get;
private set;
}
///Nodes APIs
public NodesNamespace Nodes
{
get;
private set;
}
///Snapshot APIs
public SnapshotNamespace Snapshot
{
get;
private set;
}
///Tasks APIs
public TasksNamespace Tasks
{
get;
private set;
}
partial void SetupNamespaces()
{
Cat = new CatNamespace(this);
Cluster = new ClusterNamespace(this);
DanglingIndices = new DanglingIndicesNamespace(this);
Indices = new IndicesNamespace(this);
Ingest = new IngestNamespace(this);
Nodes = new NodesNamespace(this);
Snapshot = new SnapshotNamespace(this);
Tasks = new TasksNamespace(this);
}
///
/// POST request to the bulk API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/bulk/
///
public BulkResponse Bulk(Func selector) => Bulk(selector.InvokeOrDefault(new BulkDescriptor()));
///
/// POST request to the bulk API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/bulk/
///
public Task BulkAsync(Func selector, CancellationToken ct = default) => BulkAsync(selector.InvokeOrDefault(new BulkDescriptor()), ct);
///
/// POST request to the bulk API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/bulk/
///
public BulkResponse Bulk(IBulkRequest request) => DoRequest(request, request.RequestParameters);
///
/// POST request to the bulk API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/bulk/
///
public Task BulkAsync(IBulkRequest request, CancellationToken ct = default) => DoRequestAsync(request, request.RequestParameters, ct);
///
/// DELETE request to the clear_scroll API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/scroll/
///
public ClearScrollResponse ClearScroll(Func selector = null) => ClearScroll(selector.InvokeOrDefault(new ClearScrollDescriptor()));
///
/// DELETE request to the clear_scroll API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/scroll/
///
public Task ClearScrollAsync(Func selector = null, CancellationToken ct = default) => ClearScrollAsync(selector.InvokeOrDefault(new ClearScrollDescriptor()), ct);
///
/// DELETE request to the clear_scroll API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/scroll/
///
public ClearScrollResponse ClearScroll(IClearScrollRequest request) => DoRequest(request, request.RequestParameters);
///
/// DELETE request to the clear_scroll API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/scroll/
///
public Task ClearScrollAsync(IClearScrollRequest request, CancellationToken ct = default) => DoRequestAsync(request, request.RequestParameters, ct);
///
/// POST request to the count API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/count/
///
public CountResponse Count(Func, ICountRequest> selector = null)
where TDocument : class => Count(selector.InvokeOrDefault(new CountDescriptor()));
///
/// POST request to the count API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/count/
///
public Task CountAsync(Func, ICountRequest> selector = null, CancellationToken ct = default)
where TDocument : class => CountAsync(selector.InvokeOrDefault(new CountDescriptor()), ct);
///
/// POST request to the count API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/count/
///
public CountResponse Count(ICountRequest request) => DoRequest(request, request.RequestParameters);
///
/// POST request to the count API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/count/
///
public Task CountAsync(ICountRequest request, CancellationToken ct = default) => DoRequestAsync(request, request.RequestParameters, ct);
///
/// PUT request to the create API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/index-document/
///
public CreateResponse Create(TDocument document, Func, ICreateRequest> selector)
where TDocument : class => Create(selector.InvokeOrDefault(new CreateDescriptor(documentWithId: document)));
///
/// PUT request to the create API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/index-document/
///
public Task CreateAsync(TDocument document, Func, ICreateRequest> selector, CancellationToken ct = default)
where TDocument : class => CreateAsync(selector.InvokeOrDefault(new CreateDescriptor(documentWithId: document)), ct);
///
/// PUT request to the create API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/index-document/
///
public CreateResponse Create(ICreateRequest request)
where TDocument : class => DoRequest, CreateResponse>(request, request.RequestParameters);
///
/// PUT request to the create API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/index-document/
///
public Task CreateAsync(ICreateRequest request, CancellationToken ct = default)
where TDocument : class => DoRequestAsync, CreateResponse>(request, request.RequestParameters, ct);
///
/// DELETE request to the delete API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/delete-document/
///
public DeleteResponse Delete(DocumentPath id, Func, IDeleteRequest> selector = null)
where TDocument : class => Delete(selector.InvokeOrDefault(new DeleteDescriptor(documentWithId: id?.Document, index: id?.Self?.Index, id: id?.Self?.Id)));
///
/// DELETE request to the delete API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/delete-document/
///
public Task DeleteAsync(DocumentPath id, Func, IDeleteRequest> selector = null, CancellationToken ct = default)
where TDocument : class => DeleteAsync(selector.InvokeOrDefault(new DeleteDescriptor(documentWithId: id?.Document, index: id?.Self?.Index, id: id?.Self?.Id)), ct);
///
/// DELETE request to the delete API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/delete-document/
///
public DeleteResponse Delete(IDeleteRequest request) => DoRequest(request, request.RequestParameters);
///
/// DELETE request to the delete API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/delete-document/
///
public Task DeleteAsync(IDeleteRequest request, CancellationToken ct = default) => DoRequestAsync(request, request.RequestParameters, ct);
///
/// POST request to the delete_by_query API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/delete-by-query/
///
public DeleteByQueryResponse DeleteByQuery(Func, IDeleteByQueryRequest> selector)
where TDocument : class => DeleteByQuery(selector.InvokeOrDefault(new DeleteByQueryDescriptor()));
///
/// POST request to the delete_by_query API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/delete-by-query/
///
public Task DeleteByQueryAsync(Func, IDeleteByQueryRequest> selector, CancellationToken ct = default)
where TDocument : class => DeleteByQueryAsync(selector.InvokeOrDefault(new DeleteByQueryDescriptor()), ct);
///
/// POST request to the delete_by_query API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/delete-by-query/
///
public DeleteByQueryResponse DeleteByQuery(IDeleteByQueryRequest request) => DoRequest(request, request.RequestParameters);
///
/// POST request to the delete_by_query API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/delete-by-query/
///
public Task DeleteByQueryAsync(IDeleteByQueryRequest request, CancellationToken ct = default) => DoRequestAsync(request, request.RequestParameters, ct);
///
/// POST request to the delete_by_query_rethrottle API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/delete-by-query/
///
public ListTasksResponse DeleteByQueryRethrottle(TaskId taskId, Func selector = null) => DeleteByQueryRethrottle(selector.InvokeOrDefault(new DeleteByQueryRethrottleDescriptor(taskId: taskId)));
///
/// POST request to the delete_by_query_rethrottle API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/delete-by-query/
///
public Task DeleteByQueryRethrottleAsync(TaskId taskId, Func selector = null, CancellationToken ct = default) => DeleteByQueryRethrottleAsync(selector.InvokeOrDefault(new DeleteByQueryRethrottleDescriptor(taskId: taskId)), ct);
///
/// POST request to the delete_by_query_rethrottle API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/delete-by-query/
///
public ListTasksResponse DeleteByQueryRethrottle(IDeleteByQueryRethrottleRequest request) => DoRequest(request, request.RequestParameters);
///
/// POST request to the delete_by_query_rethrottle API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/delete-by-query/
///
public Task DeleteByQueryRethrottleAsync(IDeleteByQueryRethrottleRequest request, CancellationToken ct = default) => DoRequestAsync(request, request.RequestParameters, ct);
///
/// DELETE request to the delete_script API, read more about this API online:
///
///
///
public DeleteScriptResponse DeleteScript(Id id, Func selector = null) => DeleteScript(selector.InvokeOrDefault(new DeleteScriptDescriptor(id: id)));
///
/// DELETE request to the delete_script API, read more about this API online:
///
///
///
public Task DeleteScriptAsync(Id id, Func selector = null, CancellationToken ct = default) => DeleteScriptAsync(selector.InvokeOrDefault(new DeleteScriptDescriptor(id: id)), ct);
///
/// DELETE request to the delete_script API, read more about this API online:
///
///
///
public DeleteScriptResponse DeleteScript(IDeleteScriptRequest request) => DoRequest(request, request.RequestParameters);
///
/// DELETE request to the delete_script API, read more about this API online:
///
///
///
public Task DeleteScriptAsync(IDeleteScriptRequest request, CancellationToken ct = default) => DoRequestAsync(request, request.RequestParameters, ct);
///
/// HEAD request to the exists API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/get-documents/
///
public ExistsResponse DocumentExists(DocumentPath id, Func, IDocumentExistsRequest> selector = null)
where TDocument : class => DocumentExists(selector.InvokeOrDefault(new DocumentExistsDescriptor(documentWithId: id?.Document, index: id?.Self?.Index, id: id?.Self?.Id)));
///
/// HEAD request to the exists API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/get-documents/
///
public Task DocumentExistsAsync(DocumentPath id, Func, IDocumentExistsRequest> selector = null, CancellationToken ct = default)
where TDocument : class => DocumentExistsAsync(selector.InvokeOrDefault(new DocumentExistsDescriptor(documentWithId: id?.Document, index: id?.Self?.Index, id: id?.Self?.Id)), ct);
///
/// HEAD request to the exists API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/get-documents/
///
public ExistsResponse DocumentExists(IDocumentExistsRequest request) => DoRequest(request, request.RequestParameters);
///
/// HEAD request to the exists API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/get-documents/
///
public Task DocumentExistsAsync(IDocumentExistsRequest request, CancellationToken ct = default) => DoRequestAsync(request, request.RequestParameters, ct);
///
/// HEAD request to the exists_source API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/get-documents/
///
public ExistsResponse SourceExists(DocumentPath id, Func, ISourceExistsRequest> selector = null)
where TDocument : class => SourceExists(selector.InvokeOrDefault(new SourceExistsDescriptor(documentWithId: id?.Document, index: id?.Self?.Index, id: id?.Self?.Id)));
///
/// HEAD request to the exists_source API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/get-documents/
///
public Task SourceExistsAsync(DocumentPath id, Func, ISourceExistsRequest> selector = null, CancellationToken ct = default)
where TDocument : class => SourceExistsAsync(selector.InvokeOrDefault(new SourceExistsDescriptor(documentWithId: id?.Document, index: id?.Self?.Index, id: id?.Self?.Id)), ct);
///
/// HEAD request to the exists_source API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/get-documents/
///
public ExistsResponse SourceExists(ISourceExistsRequest request) => DoRequest(request, request.RequestParameters);
///
/// HEAD request to the exists_source API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/get-documents/
///
public Task SourceExistsAsync(ISourceExistsRequest request, CancellationToken ct = default) => DoRequestAsync(request, request.RequestParameters, ct);
///
/// POST request to the explain API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/explain/
///
public ExplainResponse Explain(DocumentPath id, Func, IExplainRequest> selector = null)
where TDocument : class => Explain(selector.InvokeOrDefault(new ExplainDescriptor(documentWithId: id?.Document, index: id?.Self?.Index, id: id?.Self?.Id)));
///
/// POST request to the explain API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/explain/
///
public Task> ExplainAsync(DocumentPath id, Func, IExplainRequest> selector = null, CancellationToken ct = default)
where TDocument : class => ExplainAsync(selector.InvokeOrDefault(new ExplainDescriptor(documentWithId: id?.Document, index: id?.Self?.Index, id: id?.Self?.Id)), ct);
///
/// POST request to the explain API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/explain/
///
public ExplainResponse Explain(IExplainRequest request)
where TDocument : class => DoRequest>(request, request.RequestParameters);
///
/// POST request to the explain API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/explain/
///
public Task> ExplainAsync(IExplainRequest request, CancellationToken ct = default)
where TDocument : class => DoRequestAsync>(request, request.RequestParameters, ct);
///
/// POST request to the field_caps API, read more about this API online:
///
///
///
public FieldCapabilitiesResponse FieldCapabilities(Indices index = null, Func selector = null) => FieldCapabilities(selector.InvokeOrDefault(new FieldCapabilitiesDescriptor().Index(index: index)));
///
/// POST request to the field_caps API, read more about this API online:
///
///
///
public Task FieldCapabilitiesAsync(Indices index = null, Func selector = null, CancellationToken ct = default) => FieldCapabilitiesAsync(selector.InvokeOrDefault(new FieldCapabilitiesDescriptor().Index(index: index)), ct);
///
/// POST request to the field_caps API, read more about this API online:
///
///
///
public FieldCapabilitiesResponse FieldCapabilities(IFieldCapabilitiesRequest request) => DoRequest(request, request.RequestParameters);
///
/// POST request to the field_caps API, read more about this API online:
///
///
///
public Task FieldCapabilitiesAsync(IFieldCapabilitiesRequest request, CancellationToken ct = default) => DoRequestAsync(request, request.RequestParameters, ct);
///
/// GET request to the get API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/get-documents/
///
public GetResponse Get(DocumentPath id, Func, IGetRequest> selector = null)
where TDocument : class => Get(selector.InvokeOrDefault(new GetDescriptor(documentWithId: id?.Document, index: id?.Self?.Index, id: id?.Self?.Id)));
///
/// GET request to the get API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/get-documents/
///
public Task> GetAsync(DocumentPath id, Func, IGetRequest> selector = null, CancellationToken ct = default)
where TDocument : class => GetAsync(selector.InvokeOrDefault(new GetDescriptor(documentWithId: id?.Document, index: id?.Self?.Index, id: id?.Self?.Id)), ct);
///
/// GET request to the get API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/get-documents/
///
public GetResponse Get(IGetRequest request)
where TDocument : class => DoRequest>(request, request.RequestParameters);
///
/// GET request to the get API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/get-documents/
///
public Task> GetAsync(IGetRequest request, CancellationToken ct = default)
where TDocument : class => DoRequestAsync>(request, request.RequestParameters, ct);
///
/// GET request to the get_script API, read more about this API online:
///
///
///
public GetScriptResponse GetScript(Id id, Func selector = null) => GetScript(selector.InvokeOrDefault(new GetScriptDescriptor(id: id)));
///
/// GET request to the get_script API, read more about this API online:
///
///
///
public Task GetScriptAsync(Id id, Func selector = null, CancellationToken ct = default) => GetScriptAsync(selector.InvokeOrDefault(new GetScriptDescriptor(id: id)), ct);
///
/// GET request to the get_script API, read more about this API online:
///
///
///
public GetScriptResponse GetScript(IGetScriptRequest request) => DoRequest(request, request.RequestParameters);
///
/// GET request to the get_script API, read more about this API online:
///
///
///
public Task GetScriptAsync(IGetScriptRequest request, CancellationToken ct = default) => DoRequestAsync(request, request.RequestParameters, ct);
///
/// GET request to the get_source API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/get-documents/
///
public SourceResponse Source(DocumentPath id, Func, ISourceRequest> selector = null)
where TDocument : class => Source(selector.InvokeOrDefault(new SourceDescriptor(documentWithId: id?.Document, index: id?.Self?.Index, id: id?.Self?.Id)));
///
/// GET request to the get_source API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/get-documents/
///
public Task> SourceAsync(DocumentPath id, Func, ISourceRequest> selector = null, CancellationToken ct = default)
where TDocument : class => SourceAsync(selector.InvokeOrDefault(new SourceDescriptor(documentWithId: id?.Document, index: id?.Self?.Index, id: id?.Self?.Id)), ct);
///
/// GET request to the get_source API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/get-documents/
///
public SourceResponse Source(ISourceRequest request)
where TDocument : class => DoRequest>(request, ResponseBuilder(request.RequestParameters, SourceRequestResponseBuilder.Instance));
///
/// GET request to the get_source API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/get-documents/
///
public Task> SourceAsync(ISourceRequest request, CancellationToken ct = default)
where TDocument : class => DoRequestAsync>(request, ResponseBuilder(request.RequestParameters, SourceRequestResponseBuilder.Instance), ct);
///
/// PUT request to the index API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/index-document/
///
public IndexResponse Index(TDocument document, Func, IIndexRequest> selector)
where TDocument : class => Index(selector.InvokeOrDefault(new IndexDescriptor(documentWithId: document)));
///
/// PUT request to the index API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/index-document/
///
public Task IndexAsync(TDocument document, Func, IIndexRequest> selector, CancellationToken ct = default)
where TDocument : class => IndexAsync(selector.InvokeOrDefault(new IndexDescriptor(documentWithId: document)), ct);
///
/// PUT request to the index API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/index-document/
///
public IndexResponse Index(IIndexRequest request)
where TDocument : class => DoRequest, IndexResponse>(request, request.RequestParameters);
///
/// PUT request to the index API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/index-document/
///
public Task IndexAsync(IIndexRequest request, CancellationToken ct = default)
where TDocument : class => DoRequestAsync, IndexResponse>(request, request.RequestParameters, ct);
///
/// GET request to the info API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/index/
///
public RootNodeInfoResponse RootNodeInfo(Func selector = null) => RootNodeInfo(selector.InvokeOrDefault(new RootNodeInfoDescriptor()));
///
/// GET request to the info API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/index/
///
public Task RootNodeInfoAsync(Func selector = null, CancellationToken ct = default) => RootNodeInfoAsync(selector.InvokeOrDefault(new RootNodeInfoDescriptor()), ct);
///
/// GET request to the info API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/index/
///
public RootNodeInfoResponse RootNodeInfo(IRootNodeInfoRequest request) => DoRequest(request, request.RequestParameters);
///
/// GET request to the info API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/index/
///
public Task RootNodeInfoAsync(IRootNodeInfoRequest request, CancellationToken ct = default) => DoRequestAsync(request, request.RequestParameters, ct);
///
/// POST request to the mget API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/multi-get/
///
public MultiGetResponse MultiGet(Func selector = null) => MultiGet(selector.InvokeOrDefault(new MultiGetDescriptor()));
///
/// POST request to the mget API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/multi-get/
///
public Task MultiGetAsync(Func selector = null, CancellationToken ct = default) => MultiGetAsync(selector.InvokeOrDefault(new MultiGetDescriptor()), ct);
///
/// POST request to the mget API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/multi-get/
///
public MultiGetResponse MultiGet(IMultiGetRequest request) => DoRequest(request, request.RequestParameters);
///
/// POST request to the mget API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/multi-get/
///
public Task MultiGetAsync(IMultiGetRequest request, CancellationToken ct = default) => DoRequestAsync(request, request.RequestParameters, ct);
///
/// POST request to the msearch API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/multi-search/
///
public MultiSearchResponse MultiSearch(Indices index = null, Func selector = null) => MultiSearch(selector.InvokeOrDefault(new MultiSearchDescriptor().Index(index: index)));
///
/// POST request to the msearch API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/multi-search/
///
public Task MultiSearchAsync(Indices index = null, Func selector = null, CancellationToken ct = default) => MultiSearchAsync(selector.InvokeOrDefault(new MultiSearchDescriptor().Index(index: index)), ct);
///
/// POST request to the msearch API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/multi-search/
///
public MultiSearchResponse MultiSearch(IMultiSearchRequest request) => DoRequest(request, request.RequestParameters);
///
/// POST request to the msearch API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/multi-search/
///
public Task MultiSearchAsync(IMultiSearchRequest request, CancellationToken ct = default) => DoRequestAsync(request, request.RequestParameters, ct);
///
/// POST request to the msearch_template API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/multi-search/
///
public MultiSearchResponse MultiSearchTemplate(Indices index = null, Func selector = null) => MultiSearchTemplate(selector.InvokeOrDefault(new MultiSearchTemplateDescriptor().Index(index: index)));
///
/// POST request to the msearch_template API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/multi-search/
///
public Task MultiSearchTemplateAsync(Indices index = null, Func selector = null, CancellationToken ct = default) => MultiSearchTemplateAsync(selector.InvokeOrDefault(new MultiSearchTemplateDescriptor().Index(index: index)), ct);
///
/// POST request to the msearch_template API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/multi-search/
///
public MultiSearchResponse MultiSearchTemplate(IMultiSearchTemplateRequest request) => DoRequest(request, request.RequestParameters);
///
/// POST request to the msearch_template API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/multi-search/
///
public Task MultiSearchTemplateAsync(IMultiSearchTemplateRequest request, CancellationToken ct = default) => DoRequestAsync(request, request.RequestParameters, ct);
///
/// POST request to the mtermvectors API, read more about this API online:
///
///
///
public MultiTermVectorsResponse MultiTermVectors(Func selector = null) => MultiTermVectors(selector.InvokeOrDefault(new MultiTermVectorsDescriptor()));
///
/// POST request to the mtermvectors API, read more about this API online:
///
///
///
public Task MultiTermVectorsAsync(Func selector = null, CancellationToken ct = default) => MultiTermVectorsAsync(selector.InvokeOrDefault(new MultiTermVectorsDescriptor()), ct);
///
/// POST request to the mtermvectors API, read more about this API online:
///
///
///
public MultiTermVectorsResponse MultiTermVectors(IMultiTermVectorsRequest request) => DoRequest(request, request.RequestParameters);
///
/// POST request to the mtermvectors API, read more about this API online:
///
///
///
public Task MultiTermVectorsAsync(IMultiTermVectorsRequest request, CancellationToken ct = default) => DoRequestAsync(request, request.RequestParameters, ct);
///
/// HEAD request to the ping API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/index/
///
public PingResponse Ping(Func selector = null) => Ping(selector.InvokeOrDefault(new PingDescriptor()));
///
/// HEAD request to the ping API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/index/
///
public Task PingAsync(Func selector = null, CancellationToken ct = default) => PingAsync(selector.InvokeOrDefault(new PingDescriptor()), ct);
///
/// HEAD request to the ping API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/index/
///
public PingResponse Ping(IPingRequest request) => DoRequest(request, request.RequestParameters);
///
/// HEAD request to the ping API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/index/
///
public Task PingAsync(IPingRequest request, CancellationToken ct = default) => DoRequestAsync(request, request.RequestParameters, ct);
///
/// PUT request to the put_script API, read more about this API online:
///
///
///
public PutScriptResponse PutScript(Id id, Func selector) => PutScript(selector.InvokeOrDefault(new PutScriptDescriptor(id: id)));
///
/// PUT request to the put_script API, read more about this API online:
///
///
///
public Task PutScriptAsync(Id id, Func selector, CancellationToken ct = default) => PutScriptAsync(selector.InvokeOrDefault(new PutScriptDescriptor(id: id)), ct);
///
/// PUT request to the put_script API, read more about this API online:
///
///
///
public PutScriptResponse PutScript(IPutScriptRequest request) => DoRequest(request, request.RequestParameters);
///
/// PUT request to the put_script API, read more about this API online:
///
///
///
public Task PutScriptAsync(IPutScriptRequest request, CancellationToken ct = default) => DoRequestAsync(request, request.RequestParameters, ct);
///
/// POST request to the reindex API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/reindex/
///
public ReindexOnServerResponse ReindexOnServer(Func selector) => ReindexOnServer(selector.InvokeOrDefault(new ReindexOnServerDescriptor()));
///
/// POST request to the reindex API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/reindex/
///
public Task ReindexOnServerAsync(Func selector, CancellationToken ct = default) => ReindexOnServerAsync(selector.InvokeOrDefault(new ReindexOnServerDescriptor()), ct);
///
/// POST request to the reindex API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/reindex/
///
public ReindexOnServerResponse ReindexOnServer(IReindexOnServerRequest request) => DoRequest(request, request.RequestParameters);
///
/// POST request to the reindex API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/reindex/
///
public Task ReindexOnServerAsync(IReindexOnServerRequest request, CancellationToken ct = default) => DoRequestAsync(request, request.RequestParameters, ct);
///
/// POST request to the reindex_rethrottle API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/reindex/
///
public ReindexRethrottleResponse ReindexRethrottle(TaskId taskId, Func selector = null) => ReindexRethrottle(selector.InvokeOrDefault(new ReindexRethrottleDescriptor(taskId: taskId)));
///
/// POST request to the reindex_rethrottle API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/reindex/
///
public Task ReindexRethrottleAsync(TaskId taskId, Func selector = null, CancellationToken ct = default) => ReindexRethrottleAsync(selector.InvokeOrDefault(new ReindexRethrottleDescriptor(taskId: taskId)), ct);
///
/// POST request to the reindex_rethrottle API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/reindex/
///
public ReindexRethrottleResponse ReindexRethrottle(IReindexRethrottleRequest request) => DoRequest(request, request.RequestParameters);
///
/// POST request to the reindex_rethrottle API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/rest-api/document-apis/reindex/
///
public Task ReindexRethrottleAsync(IReindexRethrottleRequest request, CancellationToken ct = default) => DoRequestAsync(request, request.RequestParameters, ct);
///
/// POST request to the render_search_template API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/search-template/
///
public RenderSearchTemplateResponse RenderSearchTemplate(Func selector = null) => RenderSearchTemplate(selector.InvokeOrDefault(new RenderSearchTemplateDescriptor()));
///
/// POST request to the render_search_template API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/search-template/
///
public Task RenderSearchTemplateAsync(Func selector = null, CancellationToken ct = default) => RenderSearchTemplateAsync(selector.InvokeOrDefault(new RenderSearchTemplateDescriptor()), ct);
///
/// POST request to the render_search_template API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/search-template/
///
public RenderSearchTemplateResponse RenderSearchTemplate(IRenderSearchTemplateRequest request) => DoRequest(request, request.RequestParameters);
///
/// POST request to the render_search_template API, read more about this API online:
///
/// https://opensearch.org/docs/latest/opensearch/search-template/
///
public Task RenderSearchTemplateAsync(IRenderSearchTemplateRequest request, CancellationToken ct = default) => DoRequestAsync(request, request.RequestParameters, ct);
///
/// POST request to the scripts_painless_execute API, read more about this API online:
///
///
///
public ExecutePainlessScriptResponse ExecutePainlessScript(Func selector = null) => ExecutePainlessScript(selector.InvokeOrDefault(new ExecutePainlessScriptDescriptor()));
///
/// POST request to the scripts_painless_execute API, read more about this API online:
///
///
///
public Task> ExecutePainlessScriptAsync(Func selector = null, CancellationToken ct = default) => ExecutePainlessScriptAsync(selector.InvokeOrDefault(new ExecutePainlessScriptDescriptor()), ct);
///
/// POST request to the scripts_painless_execute API, read more about this API online:
///
///
///
public ExecutePainlessScriptResponse ExecutePainlessScript(IExecutePainlessScriptRequest request) => DoRequest