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
{