Skip to content

Commit bef1cb0

Browse files
github-actions[bot]codebrain
authored andcommitted
Implement cat.ml_trained_models #4562
1 parent a31bf5d commit bef1cb0

File tree

11 files changed

+342
-12
lines changed

11 files changed

+342
-12
lines changed

src/ApiGenerator/Configuration/CodeConfiguration.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@ public static class CodeConfiguration
6161
"cat.ml_data_frame_analytics.json",
6262
"cat.ml_datafeeds.json",
6363
"cat.ml_jobs.json",
64-
"cat.ml_trained_models.json",
6564
"cluster.delete_component_template.json",
6665
"cluster.get_component_template.json",
6766
"cluster.put_component_template.json",

src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.Cat.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -648,8 +648,8 @@ public bool? Verbose
648648
}
649649
}
650650

651-
///<summary>Request options for MlTrainedModels <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-trained-model.html</para></summary>
652-
public class MlTrainedModelsRequestParameters : RequestParameters<MlTrainedModelsRequestParameters>
651+
///<summary>Request options for TrainedModels <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-trained-model.html</para></summary>
652+
public class CatTrainedModelsRequestParameters : RequestParameters<CatTrainedModelsRequestParameters>
653653
{
654654
public override HttpMethod DefaultHttpMethod => HttpMethod.GET;
655655
public override bool SupportsBody => false;

src/Elasticsearch.Net/ElasticLowLevelClient.Cat.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -238,23 +238,23 @@ public Task<TResponse> MlJobsAsync<TResponse>(string jobId, MlJobsRequestParamet
238238
where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, Url($"_cat/ml/anomaly_detectors/{jobId:jobId}"), ctx, null, RequestParams(requestParameters));
239239
///<summary>GET on /_cat/ml/trained_models <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-trained-model.html</para></summary>
240240
///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
241-
public TResponse MlTrainedModels<TResponse>(MlTrainedModelsRequestParameters requestParameters = null)
241+
public TResponse TrainedModels<TResponse>(CatTrainedModelsRequestParameters requestParameters = null)
242242
where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, "_cat/ml/trained_models", null, RequestParams(requestParameters));
243243
///<summary>GET on /_cat/ml/trained_models <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-trained-model.html</para></summary>
244244
///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
245245
[MapsApi("cat.ml_trained_models", "")]
246-
public Task<TResponse> MlTrainedModelsAsync<TResponse>(MlTrainedModelsRequestParameters requestParameters = null, CancellationToken ctx = default)
246+
public Task<TResponse> TrainedModelsAsync<TResponse>(CatTrainedModelsRequestParameters requestParameters = null, CancellationToken ctx = default)
247247
where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, "_cat/ml/trained_models", ctx, null, RequestParams(requestParameters));
248248
///<summary>GET on /_cat/ml/trained_models/{model_id} <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-trained-model.html</para></summary>
249249
///<param name = "modelId">The ID of the trained models stats to fetch</param>
250250
///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
251-
public TResponse MlTrainedModels<TResponse>(string modelId, MlTrainedModelsRequestParameters requestParameters = null)
251+
public TResponse TrainedModels<TResponse>(string modelId, CatTrainedModelsRequestParameters requestParameters = null)
252252
where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, Url($"_cat/ml/trained_models/{modelId:modelId}"), null, RequestParams(requestParameters));
253253
///<summary>GET on /_cat/ml/trained_models/{model_id} <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-trained-model.html</para></summary>
254254
///<param name = "modelId">The ID of the trained models stats to fetch</param>
255255
///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
256256
[MapsApi("cat.ml_trained_models", "model_id")]
257-
public Task<TResponse> MlTrainedModelsAsync<TResponse>(string modelId, MlTrainedModelsRequestParameters requestParameters = null, CancellationToken ctx = default)
257+
public Task<TResponse> TrainedModelsAsync<TResponse>(string modelId, CatTrainedModelsRequestParameters requestParameters = null, CancellationToken ctx = default)
258258
where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, Url($"_cat/ml/trained_models/{modelId:modelId}"), ctx, null, RequestParams(requestParameters));
259259
///<summary>GET on /_cat/nodeattrs <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-nodeattrs.html</para></summary>
260260
///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
using System.Runtime.Serialization;
2+
using Elasticsearch.Net.Utf8Json;
3+
4+
namespace Nest
5+
{
6+
[DataContract]
7+
public class CatTrainedModelsRecord : ICatRecord
8+
{
9+
/// <summary>
10+
/// The time when the trained model was created.
11+
/// </summary>
12+
[DataMember(Name = "create_time")]
13+
public string CreateTime { get; set; }
14+
15+
/// <summary>
16+
/// Information on the creator of the trained model.
17+
/// </summary>
18+
[DataMember(Name = "created_by")]
19+
public string CreatedBy { get; set; }
20+
21+
/// <summary>
22+
/// Identifier for the data frame analytics job that created the model. Only displayed if it is still available.
23+
/// </summary>
24+
[DataMember(Name = "data_frame_analytics_id")]
25+
public string DataFrameAnalyticsId { get; set; }
26+
27+
/// <summary>
28+
/// The description of the trained model.
29+
/// </summary>
30+
[DataMember(Name = "description")]
31+
public string Description { get; set; }
32+
33+
/// <summary>
34+
/// (Default) The estimated heap size to keep the trained model in memory.
35+
/// </summary>
36+
[DataMember(Name = "heap_size")]
37+
public string HeapSize { get; set; }
38+
39+
/// <summary>
40+
/// (Default) Identifier for the trained model.
41+
/// </summary>
42+
[DataMember(Name = "id")]
43+
public string Id { get; set; }
44+
45+
/// <summary>
46+
/// The total number of documents that are processed by the model.
47+
/// </summary>
48+
[DataMember(Name = "ingest.count")]
49+
public long? IngestCount { get; set; }
50+
51+
/// <summary>
52+
/// The total number of documents that are currently being handled by the trained model.
53+
/// </summary>
54+
[DataMember(Name = "ingest.current")]
55+
public long? IngestCurrent { get; set; }
56+
57+
/// <summary>
58+
/// The total number of failed ingest attempts with the trained model.
59+
/// </summary>
60+
[DataMember(Name = "ingest.failed")]
61+
public long? IngestFailed { get; set; }
62+
63+
/// <summary>
64+
/// (Default) The total number of ingest pipelines that are referencing the trained model.
65+
/// </summary>
66+
[DataMember(Name = "ingest.pipelines")]
67+
public long? IngestPipelines { get; set; }
68+
69+
/// <summary>
70+
/// The total time that is spent processing documents with the trained model.
71+
/// </summary>
72+
[DataMember(Name = "ingest.time")]
73+
public long? IngestTime { get; set; }
74+
75+
/// <summary>
76+
/// The license level of the trained model.
77+
/// </summary>
78+
[DataMember(Name = "license")]
79+
public string License { get; set; }
80+
81+
/// <summary>
82+
/// (Default) The estimated number of operations to use the trained model. This number helps measuring the computational
83+
/// complexity of the model.
84+
/// </summary>
85+
[DataMember(Name = "operations")]
86+
public long? Operations { get; set; }
87+
88+
/// <summary>
89+
/// The Elasticsearch version number in which the trained model was created.
90+
/// </summary>
91+
[DataMember(Name = "version")]
92+
public string Version { get; set; }
93+
}
94+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
namespace Nest
2+
{
3+
[MapsApi("cat.ml_trained_models.json")]
4+
public partial interface ICatTrainedModelsRequest { }
5+
6+
public partial class CatTrainedModelsRequest { }
7+
8+
public partial class CatTrainedModelsDescriptor { }
9+
}

src/Nest/Descriptors.Cat.cs

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -278,6 +278,46 @@ public partial class CatMasterDescriptor : RequestDescriptorBase<CatMasterDescri
278278
public CatMasterDescriptor Verbose(bool? verbose = true) => Qs("v", verbose);
279279
}
280280

281+
///<summary>Descriptor for TrainedModels <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-trained-model.html</para></summary>
282+
public partial class CatTrainedModelsDescriptor : RequestDescriptorBase<CatTrainedModelsDescriptor, CatTrainedModelsRequestParameters, ICatTrainedModelsRequest>, ICatTrainedModelsRequest
283+
{
284+
internal override ApiUrls ApiUrls => ApiUrlsLookups.CatTrainedModels;
285+
///<summary>/_cat/ml/trained_models</summary>
286+
public CatTrainedModelsDescriptor(): base()
287+
{
288+
}
289+
290+
///<summary>/_cat/ml/trained_models/{model_id}</summary>
291+
///<param name = "modelId">Optional, accepts null</param>
292+
public CatTrainedModelsDescriptor(Id modelId): base(r => r.Optional("model_id", modelId))
293+
{
294+
}
295+
296+
// values part of the url path
297+
Id ICatTrainedModelsRequest.ModelId => Self.RouteValues.Get<Id>("model_id");
298+
///<summary>The ID of the trained models stats to fetch</summary>
299+
public CatTrainedModelsDescriptor ModelId(Id modelId) => Assign(modelId, (a, v) => a.RouteValues.Optional("model_id", v));
300+
// Request parameters
301+
///<summary>Whether to ignore if a wildcard expression matches no trained models. (This includes `_all` string or when no trained models have been specified)</summary>
302+
public CatTrainedModelsDescriptor AllowNoMatch(bool? allownomatch = true) => Qs("allow_no_match", allownomatch);
303+
///<summary>The unit in which to display byte values</summary>
304+
public CatTrainedModelsDescriptor Bytes(Bytes? bytes) => Qs("bytes", bytes);
305+
///<summary>a short version of the Accept header, e.g. json, yaml</summary>
306+
public CatTrainedModelsDescriptor Format(string format) => Qs("format", format);
307+
///<summary>skips a number of trained models</summary>
308+
public CatTrainedModelsDescriptor From(int? from) => Qs("from", from);
309+
///<summary>Comma-separated list of column names to display</summary>
310+
public CatTrainedModelsDescriptor Headers(params string[] headers) => Qs("h", headers);
311+
///<summary>Return help information</summary>
312+
public CatTrainedModelsDescriptor Help(bool? help = true) => Qs("help", help);
313+
///<summary>specifies a max number of trained models to get</summary>
314+
public CatTrainedModelsDescriptor Size(int? size) => Qs("size", size);
315+
///<summary>Comma-separated list of column names or column aliases to sort by</summary>
316+
public CatTrainedModelsDescriptor SortByColumns(params string[] sortbycolumns) => Qs("s", sortbycolumns);
317+
///<summary>Verbose mode. Display column headers</summary>
318+
public CatTrainedModelsDescriptor Verbose(bool? verbose = true) => Qs("v", verbose);
319+
}
320+
281321
///<summary>Descriptor for NodeAttributes <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-nodeattrs.html</para></summary>
282322
public partial class CatNodeAttributesDescriptor : RequestDescriptorBase<CatNodeAttributesDescriptor, CatNodeAttributesRequestParameters, ICatNodeAttributesRequest>, ICatNodeAttributesRequest
283323
{

src/Nest/ElasticClient.Cat.cs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,30 @@ internal CatNamespace(ElasticClient client): base(client)
229229
/// </summary>
230230
public Task<CatResponse<CatMasterRecord>> MasterAsync(ICatMasterRequest request, CancellationToken ct = default) => DoCatAsync<ICatMasterRequest, CatMasterRequestParameters, CatMasterRecord>(request, ct);
231231
/// <summary>
232+
/// <c>GET</c> request to the <c>cat.ml_trained_models</c> API, read more about this API online:
233+
/// <para></para>
234+
/// <a href = "https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-trained-model.html">https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-trained-model.html</a>
235+
/// </summary>
236+
public CatResponse<CatTrainedModelsRecord> TrainedModels(Func<CatTrainedModelsDescriptor, ICatTrainedModelsRequest> selector = null) => TrainedModels(selector.InvokeOrDefault(new CatTrainedModelsDescriptor()));
237+
/// <summary>
238+
/// <c>GET</c> request to the <c>cat.ml_trained_models</c> API, read more about this API online:
239+
/// <para></para>
240+
/// <a href = "https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-trained-model.html">https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-trained-model.html</a>
241+
/// </summary>
242+
public Task<CatResponse<CatTrainedModelsRecord>> TrainedModelsAsync(Func<CatTrainedModelsDescriptor, ICatTrainedModelsRequest> selector = null, CancellationToken ct = default) => TrainedModelsAsync(selector.InvokeOrDefault(new CatTrainedModelsDescriptor()), ct);
243+
/// <summary>
244+
/// <c>GET</c> request to the <c>cat.ml_trained_models</c> API, read more about this API online:
245+
/// <para></para>
246+
/// <a href = "https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-trained-model.html">https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-trained-model.html</a>
247+
/// </summary>
248+
public CatResponse<CatTrainedModelsRecord> TrainedModels(ICatTrainedModelsRequest request) => DoCat<ICatTrainedModelsRequest, CatTrainedModelsRequestParameters, CatTrainedModelsRecord>(request);
249+
/// <summary>
250+
/// <c>GET</c> request to the <c>cat.ml_trained_models</c> API, read more about this API online:
251+
/// <para></para>
252+
/// <a href = "https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-trained-model.html">https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-trained-model.html</a>
253+
/// </summary>
254+
public Task<CatResponse<CatTrainedModelsRecord>> TrainedModelsAsync(ICatTrainedModelsRequest request, CancellationToken ct = default) => DoCatAsync<ICatTrainedModelsRequest, CatTrainedModelsRequestParameters, CatTrainedModelsRecord>(request, ct);
255+
/// <summary>
232256
/// <c>GET</c> request to the <c>cat.nodeattrs</c> API, read more about this API online:
233257
/// <para></para>
234258
/// <a href = "https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-nodeattrs.html">https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-nodeattrs.html</a>

src/Nest/Requests.Cat.cs

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -610,6 +610,107 @@ public bool? Verbose
610610
}
611611
}
612612

613+
[InterfaceDataContract]
614+
public partial interface ICatTrainedModelsRequest : IRequest<CatTrainedModelsRequestParameters>
615+
{
616+
[IgnoreDataMember]
617+
Id ModelId
618+
{
619+
get;
620+
}
621+
}
622+
623+
///<summary>Request for TrainedModels <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-trained-model.html</para></summary>
624+
public partial class CatTrainedModelsRequest : PlainRequestBase<CatTrainedModelsRequestParameters>, ICatTrainedModelsRequest
625+
{
626+
protected ICatTrainedModelsRequest Self => this;
627+
internal override ApiUrls ApiUrls => ApiUrlsLookups.CatTrainedModels;
628+
///<summary>/_cat/ml/trained_models</summary>
629+
public CatTrainedModelsRequest(): base()
630+
{
631+
}
632+
633+
///<summary>/_cat/ml/trained_models/{model_id}</summary>
634+
///<param name = "modelId">Optional, accepts null</param>
635+
public CatTrainedModelsRequest(Id modelId): base(r => r.Optional("model_id", modelId))
636+
{
637+
}
638+
639+
// values part of the url path
640+
[IgnoreDataMember]
641+
Id ICatTrainedModelsRequest.ModelId => Self.RouteValues.Get<Id>("model_id");
642+
// Request parameters
643+
///<summary>
644+
/// Whether to ignore if a wildcard expression matches no trained models. (This includes `_all` string or when no trained models have been
645+
/// specified)
646+
///</summary>
647+
public bool? AllowNoMatch
648+
{
649+
get => Q<bool? >("allow_no_match");
650+
set => Q("allow_no_match", value);
651+
}
652+
653+
///<summary>The unit in which to display byte values</summary>
654+
public Bytes? Bytes
655+
{
656+
get => Q<Bytes? >("bytes");
657+
set => Q("bytes", value);
658+
}
659+
660+
///<summary>a short version of the Accept header, e.g. json, yaml</summary>
661+
public string Format
662+
{
663+
get => Q<string>("format");
664+
set
665+
{
666+
Q("format", value);
667+
SetAcceptHeader(value);
668+
}
669+
}
670+
671+
///<summary>skips a number of trained models</summary>
672+
public int? From
673+
{
674+
get => Q<int? >("from");
675+
set => Q("from", value);
676+
}
677+
678+
///<summary>Comma-separated list of column names to display</summary>
679+
public string[] Headers
680+
{
681+
get => Q<string[]>("h");
682+
set => Q("h", value);
683+
}
684+
685+
///<summary>Return help information</summary>
686+
public bool? Help
687+
{
688+
get => Q<bool? >("help");
689+
set => Q("help", value);
690+
}
691+
692+
///<summary>specifies a max number of trained models to get</summary>
693+
public int? Size
694+
{
695+
get => Q<int? >("size");
696+
set => Q("size", value);
697+
}
698+
699+
///<summary>Comma-separated list of column names or column aliases to sort by</summary>
700+
public string[] SortByColumns
701+
{
702+
get => Q<string[]>("s");
703+
set => Q("s", value);
704+
}
705+
706+
///<summary>Verbose mode. Display column headers</summary>
707+
public bool? Verbose
708+
{
709+
get => Q<bool? >("v");
710+
set => Q("v", value);
711+
}
712+
}
713+
613714
[InterfaceDataContract]
614715
public partial interface ICatNodeAttributesRequest : IRequest<CatNodeAttributesRequestParameters>
615716
{

src/Nest/_Generated/ApiUrlsLookup.generated.cs

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
// ███╗ ██╗ ██████╗ ████████╗██╗ ██████╗███████╗
22
// ████╗ ██║██╔═══██╗╚══██╔══╝██║██╔════╝██╔════╝
3-
// ██╔██╗ ██║██║ ██║ ██║ ██║██║ █████╗
4-
// ██║╚██╗██║██║ ██║ ██║ ██║██║ ██╔══╝
3+
// ██╔██╗ ██║██║ ██║ ██║ ██║██║ █████╗
4+
// ██║╚██╗██║██║ ██║ ██║ ██║██║ ██╔══╝
55
// ██║ ╚████║╚██████╔╝ ██║ ██║╚██████╗███████╗
66
// ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝╚══════╝
77
// -----------------------------------------------
8-
//
9-
// This file is automatically generated
8+
//
9+
// This file is automatically generated
1010
// Please do not edit these files manually
1111
// Run the following in the root of the repos:
1212
//
@@ -27,6 +27,10 @@ internal static class ApiUrlsLookups
2727
internal static ApiUrls CatHelp = new ApiUrls(new[]{"_cat"});
2828
internal static ApiUrls CatIndices = new ApiUrls(new[]{"_cat/indices", "_cat/indices/{index}"});
2929
internal static ApiUrls CatMaster = new ApiUrls(new[]{"_cat/master"});
30+
internal static ApiUrls CatMlDataFrameAnalytics = new ApiUrls(new[]{"_cat/ml/data_frame/analytics", "_cat/ml/data_frame/analytics/{id}"});
31+
internal static ApiUrls CatMlDatafeeds = new ApiUrls(new[]{"_cat/ml/datafeeds", "_cat/ml/datafeeds/{datafeed_id}"});
32+
internal static ApiUrls CatMlJobs = new ApiUrls(new[]{"_cat/ml/anomaly_detectors", "_cat/ml/anomaly_detectors/{job_id}"});
33+
internal static ApiUrls CatTrainedModels = new ApiUrls(new[]{"_cat/ml/trained_models", "_cat/ml/trained_models/{model_id}"});
3034
internal static ApiUrls CatNodeAttributes = new ApiUrls(new[]{"_cat/nodeattrs"});
3135
internal static ApiUrls CatNodes = new ApiUrls(new[]{"_cat/nodes"});
3236
internal static ApiUrls CatPendingTasks = new ApiUrls(new[]{"_cat/pending_tasks"});
@@ -282,4 +286,4 @@ internal static class ApiUrlsLookups
282286
internal static ApiUrls XPackInfo = new ApiUrls(new[]{"_xpack"});
283287
internal static ApiUrls XPackUsage = new ApiUrls(new[]{"_xpack/usage"});
284288
}
285-
}
289+
}

0 commit comments

Comments
 (0)