diff --git a/src/ApiGenerator/RestSpecification/Core/snapshot.get_features.json b/src/ApiGenerator/RestSpecification/Core/features.get_features.json similarity index 67% rename from src/ApiGenerator/RestSpecification/Core/snapshot.get_features.json rename to src/ApiGenerator/RestSpecification/Core/features.get_features.json index 76b340d329d..6d5e8b5aa56 100644 --- a/src/ApiGenerator/RestSpecification/Core/snapshot.get_features.json +++ b/src/ApiGenerator/RestSpecification/Core/features.get_features.json @@ -1,8 +1,8 @@ { - "snapshot.get_features":{ + "features.get_features":{ "documentation":{ - "url":"https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html", - "description":"Returns a list of features which can be snapshotted in this cluster." + "url":"https://www.elastic.co/guide/en/elasticsearch/reference/master/get-features-api.html", + "description":"Gets a list of features which can be included in snapshots using the feature_states field when creating a snapshot" }, "stability":"stable", "visibility":"public", @@ -12,7 +12,7 @@ "url":{ "paths":[ { - "path":"/_snapshottable_features", + "path":"/_features", "methods":[ "GET" ] diff --git a/src/ApiGenerator/last_downloaded_version.txt b/src/ApiGenerator/last_downloaded_version.txt index 13634b2c782..bb4a5c2cfe1 100644 --- a/src/ApiGenerator/last_downloaded_version.txt +++ b/src/ApiGenerator/last_downloaded_version.txt @@ -1 +1 @@ -61c3b8cb7bf3e410ee21657756f079ea035d15f5 \ No newline at end of file +31117358596113f881de5b58d75ebd2a4388a82b \ No newline at end of file diff --git a/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.Features.cs b/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.Features.cs new file mode 100644 index 00000000000..5a93873fb3d --- /dev/null +++ b/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.Features.cs @@ -0,0 +1,39 @@ +// ███╗ ██╗ ██████╗ ████████╗██╗ ██████╗███████╗ +// ████╗ ██║██╔═══██╗╚══██╔══╝██║██╔════╝██╔════╝ +// ██╔██╗ ██║██║ ██║ ██║ ██║██║ █████╗ +// ██║╚██╗██║██║ ██║ ██║ ██║██║ ██╔══╝ +// ██║ ╚████║╚██████╔╝ ██║ ██║╚██████╗███████╗ +// ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝╚══════╝ +// ----------------------------------------------- +// +// 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.Collections.Generic; +using System.Linq; +using System.Text; +using System.Linq.Expressions; + +// ReSharper disable once CheckNamespace +namespace Elasticsearch.Net.Specification.FeaturesApi +{ + ///Request options for Get https://www.elastic.co/guide/en/elasticsearch/reference/master/get-features-api.html + public class GetFeaturesRequestParameters : RequestParameters + { + public override HttpMethod DefaultHttpMethod => HttpMethod.GET; + public override bool SupportsBody => false; + ///Explicit operation timeout for connection to master node + public TimeSpan MasterTimeout + { + get => Q("master_timeout"); + set => Q("master_timeout", value); + } + } +} \ No newline at end of file diff --git a/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.Snapshot.cs b/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.Snapshot.cs index 9d41fb36822..2aa6166e53f 100644 --- a/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.Snapshot.cs +++ b/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.Snapshot.cs @@ -164,19 +164,6 @@ public bool? Verbose } } - ///Request options for GetFeatures https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html - public class GetFeaturesRequestParameters : RequestParameters - { - public override HttpMethod DefaultHttpMethod => HttpMethod.GET; - public override bool SupportsBody => false; - ///Explicit operation timeout for connection to master node - public TimeSpan MasterTimeout - { - get => Q("master_timeout"); - set => Q("master_timeout", value); - } - } - ///Request options for GetRepository https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html public class GetRepositoryRequestParameters : RequestParameters { diff --git a/src/Elasticsearch.Net/ElasticLowLevelClient.Features.cs b/src/Elasticsearch.Net/ElasticLowLevelClient.Features.cs new file mode 100644 index 00000000000..54b5274d5cd --- /dev/null +++ b/src/Elasticsearch.Net/ElasticLowLevelClient.Features.cs @@ -0,0 +1,56 @@ +// ███╗ ██╗ ██████╗ ████████╗██╗ ██████╗███████╗ +// ████╗ ██║██╔═══██╗╚══██╔══╝██║██╔════╝██╔════╝ +// ██╔██╗ ██║██║ ██║ ██║ ██║██║ █████╗ +// ██║╚██╗██║██║ ██║ ██║ ██║██║ ██╔══╝ +// ██║ ╚████║╚██████╔╝ ██║ ██║╚██████╗███████╗ +// ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝╚══════╝ +// ----------------------------------------------- +// +// 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.Collections.Generic; +using System.Collections.Specialized; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using Elasticsearch.Net; +using static Elasticsearch.Net.HttpMethod; + +// ReSharper disable InterpolatedStringExpressionIsNotIFormattable +// ReSharper disable once CheckNamespace +// ReSharper disable InterpolatedStringExpressionIsNotIFormattable +// ReSharper disable RedundantExtendsListEntry +namespace Elasticsearch.Net.Specification.FeaturesApi +{ + /// + /// Features APIs. + /// Not intended to be instantiated directly. Use the property + /// on . + /// + /// + public partial class LowLevelFeaturesNamespace : NamespacedClientProxy + { + internal LowLevelFeaturesNamespace(ElasticLowLevelClient client): base(client) + { + } + + ///GET on /_features https://www.elastic.co/guide/en/elasticsearch/reference/master/get-features-api.html + ///Request specific configuration such as querystring parameters & request specific connection settings. + public TResponse Get(GetFeaturesRequestParameters requestParameters = null) + where TResponse : class, IElasticsearchResponse, new() => DoRequest(GET, "_features", null, RequestParams(requestParameters)); + ///GET on /_features https://www.elastic.co/guide/en/elasticsearch/reference/master/get-features-api.html + ///Request specific configuration such as querystring parameters & request specific connection settings. + [MapsApi("features.get_features", "")] + public Task GetAsync(GetFeaturesRequestParameters requestParameters = null, CancellationToken ctx = default) + where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync(GET, "_features", ctx, null, RequestParams(requestParameters)); + } +} \ No newline at end of file diff --git a/src/Elasticsearch.Net/ElasticLowLevelClient.NoNamespace.cs b/src/Elasticsearch.Net/ElasticLowLevelClient.NoNamespace.cs index 9ea34e0eb2c..07fb23aa737 100644 --- a/src/Elasticsearch.Net/ElasticLowLevelClient.NoNamespace.cs +++ b/src/Elasticsearch.Net/ElasticLowLevelClient.NoNamespace.cs @@ -31,6 +31,7 @@ using Elasticsearch.Net.Specification.DanglingIndicesApi; using Elasticsearch.Net.Specification.EnrichApi; using Elasticsearch.Net.Specification.EqlApi; +using Elasticsearch.Net.Specification.FeaturesApi; using Elasticsearch.Net.Specification.GraphApi; using Elasticsearch.Net.Specification.IndexLifecycleManagementApi; using Elasticsearch.Net.Specification.IndicesApi; @@ -110,6 +111,12 @@ public LowLevelEqlNamespace Eql private set; } + public LowLevelFeaturesNamespace Features + { + get; + private set; + } + public LowLevelGraphNamespace Graph { get; @@ -240,6 +247,7 @@ partial void SetupNamespaces() DanglingIndices = new LowLevelDanglingIndicesNamespace(this); Enrich = new LowLevelEnrichNamespace(this); Eql = new LowLevelEqlNamespace(this); + Features = new LowLevelFeaturesNamespace(this); Graph = new LowLevelGraphNamespace(this); IndexLifecycleManagement = new LowLevelIndexLifecycleManagementNamespace(this); Indices = new LowLevelIndicesNamespace(this); diff --git a/src/Elasticsearch.Net/ElasticLowLevelClient.Snapshot.cs b/src/Elasticsearch.Net/ElasticLowLevelClient.Snapshot.cs index 5a042f6483e..b139df46920 100644 --- a/src/Elasticsearch.Net/ElasticLowLevelClient.Snapshot.cs +++ b/src/Elasticsearch.Net/ElasticLowLevelClient.Snapshot.cs @@ -138,15 +138,6 @@ public TResponse Get(string repository, string snapshot, GetSnapshotR [MapsApi("snapshot.get", "repository, snapshot")] public Task GetAsync(string repository, string snapshot, GetSnapshotRequestParameters requestParameters = null, CancellationToken ctx = default) where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync(GET, Url($"_snapshot/{repository:repository}/{snapshot:snapshot}"), ctx, null, RequestParams(requestParameters)); - ///GET on /_snapshottable_features https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html - ///Request specific configuration such as querystring parameters & request specific connection settings. - public TResponse GetFeatures(GetFeaturesRequestParameters requestParameters = null) - where TResponse : class, IElasticsearchResponse, new() => DoRequest(GET, "_snapshottable_features", null, RequestParams(requestParameters)); - ///GET on /_snapshottable_features https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html - ///Request specific configuration such as querystring parameters & request specific connection settings. - [MapsApi("snapshot.get_features", "")] - public Task GetFeaturesAsync(GetFeaturesRequestParameters requestParameters = null, CancellationToken ctx = default) - where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync(GET, "_snapshottable_features", ctx, null, RequestParams(requestParameters)); ///GET on /_snapshot https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html ///Request specific configuration such as querystring parameters & request specific connection settings. public TResponse GetRepository(GetRepositoryRequestParameters requestParameters = null) diff --git a/src/Elasticsearch.Net/IElasticLowLevelClient.Generated.cs b/src/Elasticsearch.Net/IElasticLowLevelClient.Generated.cs index 9cb9c60b23c..c1ac8298802 100644 --- a/src/Elasticsearch.Net/IElasticLowLevelClient.Generated.cs +++ b/src/Elasticsearch.Net/IElasticLowLevelClient.Generated.cs @@ -31,6 +31,7 @@ using Elasticsearch.Net.Specification.DanglingIndicesApi; using Elasticsearch.Net.Specification.EnrichApi; using Elasticsearch.Net.Specification.EqlApi; +using Elasticsearch.Net.Specification.FeaturesApi; using Elasticsearch.Net.Specification.GraphApi; using Elasticsearch.Net.Specification.IndexLifecycleManagementApi; using Elasticsearch.Net.Specification.IndicesApi; @@ -107,6 +108,12 @@ LowLevelEqlNamespace Eql get; } + ///Features APIs + LowLevelFeaturesNamespace Features + { + get; + } + ///Graph APIs LowLevelGraphNamespace Graph {