Skip to content

Commit 84ce257

Browse files
Add additional client overloads. (#7541) (#7547)
* Skip generation of invalid parameterless client overloads * Add generated descriptor overloads for client methods * Add generated generic descriptor overloads * Add generated missing XML doc comments Co-authored-by: Steve Gordon <[email protected]>
1 parent 192263b commit 84ce257

9 files changed

+4882
-147
lines changed

exclusion.dic

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,5 @@ yyyy
77
enum
88
trippable
99
geotile
10-
yaml
10+
yaml
11+
rethrottle

src/Elastic.Clients.Elasticsearch/Client/ElasticsearchClient-Manual.cs

+104-16
Original file line numberDiff line numberDiff line change
@@ -10,43 +10,131 @@ namespace Elastic.Clients.Elasticsearch;
1010

1111
public partial class ElasticsearchClient
1212
{
13+
/// <summary>
14+
/// <para>Creates a new document in the index.</para>
15+
/// <para>Returns a 409 response when a document with a same ID already exists in the index.</para>
16+
/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-index_.html">Learn more about this API in the Elasticsearch documentation.</see></para>
17+
/// </summary>
18+
public virtual CreateResponse Create<TDocument>(TDocument document, IndexName index, Id id)
19+
{
20+
var descriptor = new CreateRequestDescriptor<TDocument>(document, index, id);
21+
descriptor.BeforeRequest();
22+
return DoRequest<CreateRequestDescriptor<TDocument>, CreateResponse, CreateRequestParameters>(descriptor);
23+
}
24+
25+
/// <summary>
26+
/// <para>Creates a new document in the index.</para>
27+
/// <para>Returns a 409 response when a document with a same ID already exists in the index.</para>
28+
/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-index_.html">Learn more about this API in the Elasticsearch documentation.</see></para>
29+
/// </summary>
30+
public virtual Task<CreateResponse> CreateAsync<TDocument>(TDocument document, IndexName index, Id id, CancellationToken cancellationToken = default)
31+
{
32+
var descriptor = new CreateRequestDescriptor<TDocument>(document, index, id);
33+
descriptor.BeforeRequest();
34+
return DoRequestAsync<CreateRequestDescriptor<TDocument>, CreateResponse, CreateRequestParameters>(descriptor);
35+
}
36+
37+
/// <summary>
38+
/// <para>Creates or updates a document in an index.</para>
39+
/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-index_.html">Learn more about this API in the Elasticsearch documentation.</see></para>
40+
/// </summary>
41+
public virtual IndexResponse Index<TDocument>(TDocument document)
42+
{
43+
var descriptor = new IndexRequestDescriptor<TDocument>(document);
44+
descriptor.BeforeRequest();
45+
return DoRequest<IndexRequestDescriptor<TDocument>, IndexResponse, IndexRequestParameters>(descriptor);
46+
}
47+
48+
/// <summary>
49+
/// <para>Creates or updates a document in an index.</para>
50+
/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-index_.html">Learn more about this API in the Elasticsearch documentation.</see></para>
51+
/// </summary>
52+
public virtual IndexResponse Index<TDocument>(TDocument document, IndexName index)
53+
{
54+
var descriptor = new IndexRequestDescriptor<TDocument>(document, index);
55+
descriptor.BeforeRequest();
56+
return DoRequest<IndexRequestDescriptor<TDocument>, IndexResponse, IndexRequestParameters>(descriptor);
57+
}
58+
59+
/// <summary>
60+
/// <para>Creates or updates a document in an index.</para>
61+
/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-index_.html">Learn more about this API in the Elasticsearch documentation.</see></para>
62+
/// </summary>
63+
public virtual Task<IndexResponse> IndexAsync<TDocument>(TDocument document,CancellationToken cancellationToken = default)
64+
{
65+
var descriptor = new IndexRequestDescriptor<TDocument>(document);
66+
descriptor.BeforeRequest();
67+
return DoRequestAsync<IndexRequestDescriptor<TDocument>, IndexResponse, IndexRequestParameters>(descriptor);
68+
}
69+
70+
/// <summary>
71+
/// <para>Creates or updates a document in an index.</para>
72+
/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-index_.html">Learn more about this API in the Elasticsearch documentation.</see></para>
73+
/// </summary>
74+
public virtual Task<IndexResponse> IndexAsync<TDocument>(TDocument document, IndexName index, CancellationToken cancellationToken = default)
75+
{
76+
var descriptor = new IndexRequestDescriptor<TDocument>(document, index);
77+
descriptor.BeforeRequest();
78+
return DoRequestAsync<IndexRequestDescriptor<TDocument>, IndexResponse, IndexRequestParameters>(descriptor);
79+
}
80+
81+
/// <summary>
82+
/// <para>Updates a document with a script or partial document.</para>
83+
/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-update.html">Learn more about this API in the Elasticsearch documentation.</see></para>
84+
/// </summary>
1385
public virtual Task<UpdateResponse<TDocument>> UpdateAsync<TDocument, TPartialDocument>(IndexName index, Id id, CancellationToken cancellationToken = default)
1486
{
1587
var descriptor = new UpdateRequestDescriptor<TDocument, TPartialDocument>(index, id);
1688
return DoRequestAsync<UpdateRequestDescriptor<TDocument, TPartialDocument>, UpdateResponse<TDocument>, UpdateRequestParameters>(descriptor, cancellationToken);
1789
}
1890

91+
/// <summary>
92+
/// <para>Updates a document with a script or partial document.</para>
93+
/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-update.html">Learn more about this API in the Elasticsearch documentation.</see></para>
94+
/// </summary>
1995
public virtual Task<UpdateResponse<TDocument>> UpdateAsync<TDocument, TPartialDocument>(IndexName index, Id id, Action<UpdateRequestDescriptor<TDocument, TPartialDocument>> configureRequest, CancellationToken cancellationToken = default)
2096
{
2197
var descriptor = new UpdateRequestDescriptor<TDocument, TPartialDocument>(index, id);
2298
configureRequest?.Invoke(descriptor);
2399
return DoRequestAsync<UpdateRequestDescriptor<TDocument, TPartialDocument>, UpdateResponse<TDocument>, UpdateRequestParameters>(descriptor, cancellationToken);
24100
}
25101

26-
// TODO: Test and introduce in a future release
27-
//public virtual Task<UpdateResponse<TDocument>> UpdateAsync<TDocument>(IndexName index, Id id, Action<UpdateRequestDescriptor<TDocument, TDocument>> configureRequest, CancellationToken cancellationToken = default)
28-
//{
29-
// var descriptor = new UpdateRequestDescriptor<TDocument, TDocument>(index, id);
30-
// configureRequest?.Invoke(descriptor);
31-
// return DoRequestAsync<UpdateRequestDescriptor<TDocument, TDocument>, UpdateResponse<TDocument>, UpdateRequestParameters>(descriptor, cancellationToken);
32-
//}
33-
34-
// TODO: Test and introduce in a future release
35-
//public virtual Task<UpdateResponse<TPartialDocument>> UpdateAsync<TPartialDocument>(IndexName index, Id id, TPartialDocument doc, CancellationToken cancellationToken = default)
36-
//{
37-
// var descriptor = new UpdateRequestDescriptor<TPartialDocument, TPartialDocument>(index, id);
38-
// descriptor.Doc(doc);
39-
// return DoRequestAsync<UpdateRequestDescriptor<TPartialDocument, TPartialDocument>, UpdateResponse<TPartialDocument>, UpdateRequestParameters>(descriptor, cancellationToken);
40-
//}
102+
/// <summary>
103+
/// <para>Updates a document with a script or partial document.</para>
104+
/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-update.html">Learn more about this API in the Elasticsearch documentation.</see></para>
105+
/// </summary>
106+
public virtual UpdateResponse<TDocument> Update<TDocument, TPartialDocument>(TDocument document, TPartialDocument partialDocument, IndexName index, Id id)
107+
{
108+
var descriptor = new UpdateRequestDescriptor<TDocument, TPartialDocument>(document, index, id);
109+
descriptor.BeforeRequest();
110+
return DoRequest<UpdateRequestDescriptor<TDocument, TPartialDocument>, UpdateResponse<TDocument>, UpdateRequestParameters>(descriptor);
111+
}
41112

42-
// TODO - Add methods to infer index and/or ID + use expressions as we know the document type.
113+
/// <summary>
114+
/// <para>Updates a document with a script or partial document.</para>
115+
/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-update.html">Learn more about this API in the Elasticsearch documentation.</see></para>
116+
/// </summary>
117+
public virtual Task<UpdateResponse<TDocument>> UpdateAsync<TDocument, TPartialDocument>(TDocument document, TPartialDocument partialDocument, IndexName index, Id id, CancellationToken cancellationToken = default)
118+
{
119+
var descriptor = new UpdateRequestDescriptor<TDocument, TPartialDocument>(document, index, id);
120+
descriptor.BeforeRequest();
121+
return DoRequestAsync<UpdateRequestDescriptor<TDocument, TPartialDocument>, UpdateResponse<TDocument>, UpdateRequestParameters>(descriptor);
122+
}
43123

124+
/// <summary>
125+
/// <para>Updates a document with a script or partial document.</para>
126+
/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-update.html">Learn more about this API in the Elasticsearch documentation.</see></para>
127+
/// </summary>
44128
public virtual UpdateResponse<TDocument> Update<TDocument, TPartialDocument>(IndexName index, Id id)
45129
{
46130
var descriptor = new UpdateRequestDescriptor<TDocument, TPartialDocument>(index, id);
47131
return DoRequest<UpdateRequestDescriptor<TDocument, TPartialDocument>, UpdateResponse<TDocument>, UpdateRequestParameters>(descriptor);
48132
}
49133

134+
/// <summary>
135+
/// <para>Updates a document with a script or partial document.</para>
136+
/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-update.html">Learn more about this API in the Elasticsearch documentation.</see></para>
137+
/// </summary>
50138
public virtual UpdateResponse<TDocument> Update<TDocument, TPartialDocument>(IndexName index, Id id, Action<UpdateRequestDescriptor<TDocument, TPartialDocument>> configureRequest)
51139
{
52140
var descriptor = new UpdateRequestDescriptor<TDocument, TPartialDocument>(index, id);

0 commit comments

Comments
 (0)