diff --git a/src/ApiGenerator/RestSpecification/Core/snapshot.get_features.json b/src/ApiGenerator/RestSpecification/Core/snapshot.get_features.json
new file mode 100644
index 00000000000..76b340d329d
--- /dev/null
+++ b/src/ApiGenerator/RestSpecification/Core/snapshot.get_features.json
@@ -0,0 +1,29 @@
+{
+ "snapshot.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."
+ },
+ "stability":"stable",
+ "visibility":"public",
+ "headers":{
+ "accept": [ "application/json"]
+ },
+ "url":{
+ "paths":[
+ {
+ "path":"/_snapshottable_features",
+ "methods":[
+ "GET"
+ ]
+ }
+ ]
+ },
+ "params":{
+ "master_timeout":{
+ "type":"time",
+ "description":"Explicit operation timeout for connection to master node"
+ }
+ }
+ }
+}
diff --git a/src/ApiGenerator/RestSpecification/XPack/eql.get_status.json b/src/ApiGenerator/RestSpecification/XPack/eql.get_status.json
new file mode 100644
index 00000000000..be8a4398933
--- /dev/null
+++ b/src/ApiGenerator/RestSpecification/XPack/eql.get_status.json
@@ -0,0 +1,31 @@
+{
+ "eql.get_status": {
+ "documentation": {
+ "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/eql-search-api.html",
+ "description": "Returns the status of a previously submitted async or stored Event Query Language (EQL) search"
+ },
+ "stability": "stable",
+ "visibility": "public",
+ "headers": {
+ "accept": [
+ "application/json"
+ ]
+ },
+ "url": {
+ "paths": [
+ {
+ "path": "/_eql/search/status/{id}",
+ "methods": [
+ "GET"
+ ],
+ "parts": {
+ "id": {
+ "type": "string",
+ "description": "The async search ID"
+ }
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/src/ApiGenerator/RestSpecification/XPack/ml.delete_trained_model_alias.json b/src/ApiGenerator/RestSpecification/XPack/ml.delete_trained_model_alias.json
new file mode 100644
index 00000000000..1e51ceea1ae
--- /dev/null
+++ b/src/ApiGenerator/RestSpecification/XPack/ml.delete_trained_model_alias.json
@@ -0,0 +1,34 @@
+{
+ "ml.delete_trained_model_alias":{
+ "documentation":{
+ "url":"https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-trained-models-aliases.html",
+ "description":"Deletes a model alias that refers to the trained model"
+ },
+ "stability":"beta",
+ "visibility":"public",
+ "headers":{
+ "accept": [ "application/json"],
+ "content_type": ["application/json"]
+ },
+ "url":{
+ "paths":[
+ {
+ "path":"/_ml/trained_models/{model_id}/model_aliases/{model_alias}",
+ "methods":[
+ "DELETE"
+ ],
+ "parts":{
+ "model_alias":{
+ "type":"string",
+ "description":"The trained model alias to delete"
+ },
+ "model_id": {
+ "type": "string",
+ "description": "The trained model where the model alias is assigned"
+ }
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/src/ApiGenerator/RestSpecification/XPack/ml.put_trained_model_alias.json b/src/ApiGenerator/RestSpecification/XPack/ml.put_trained_model_alias.json
new file mode 100644
index 00000000000..c07e96397fe
--- /dev/null
+++ b/src/ApiGenerator/RestSpecification/XPack/ml.put_trained_model_alias.json
@@ -0,0 +1,40 @@
+{
+ "ml.put_trained_model_alias":{
+ "documentation":{
+ "url":"https://www.elastic.co/guide/en/elasticsearch/reference/current/put-trained-models-aliases.html",
+ "description":"Creates a new model alias (or reassigns an existing one) to refer to the trained model"
+ },
+ "stability":"beta",
+ "visibility":"public",
+ "headers":{
+ "accept": [ "application/json"],
+ "content_type": ["application/json"]
+ },
+ "url":{
+ "paths":[
+ {
+ "path":"/_ml/trained_models/{model_id}/model_aliases/{model_alias}",
+ "methods":[
+ "PUT"
+ ],
+ "parts":{
+ "model_alias":{
+ "type":"string",
+ "description":"The trained model alias to update"
+ },
+ "model_id": {
+ "type": "string",
+ "description": "The trained model where the model alias should be assigned"
+ }
+ }
+ }
+ ]
+ },
+ "params":{
+ "reassign":{
+ "type":"boolean",
+ "description":"If the model_alias already exists and points to a separate model_id, this parameter must be true. Defaults to false."
+ }
+ }
+ }
+}
diff --git a/src/ApiGenerator/last_downloaded_version.txt b/src/ApiGenerator/last_downloaded_version.txt
index 0ba5c5b977a..e5385a6ab9e 100644
--- a/src/ApiGenerator/last_downloaded_version.txt
+++ b/src/ApiGenerator/last_downloaded_version.txt
@@ -1 +1 @@
-747198ffed9b10273463367cf6ccc7ac5bfa077e
\ No newline at end of file
+47b8ea53cca02c74a34f4dcea0fb1274ee29b9d4
\ No newline at end of file
diff --git a/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.Eql.cs b/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.Eql.cs
index 98f09a2db95..b398a59a05b 100644
--- a/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.Eql.cs
+++ b/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.Eql.cs
@@ -48,6 +48,11 @@ public TimeSpan WaitForCompletionTimeout
}
}
+ ///Request options for GetStatus https://www.elastic.co/guide/en/elasticsearch/reference/current/eql-search-api.html
+ public class GetStatusRequestParameters : RequestParameters
+ {
+ }
+
///Request options for Search https://www.elastic.co/guide/en/elasticsearch/reference/current/eql-search-api.html
public class SearchRequestParameters : RequestParameters
{
diff --git a/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.MachineLearning.cs b/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.MachineLearning.cs
index 7c8ef0fa1bf..2d1f21a60f6 100644
--- a/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.MachineLearning.cs
+++ b/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.MachineLearning.cs
@@ -171,6 +171,11 @@ public class DeleteTrainedModelRequestParameters : RequestParametersRequest options for DeleteTrainedModelAlias https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-trained-models-aliases.html
+ public class DeleteTrainedModelAliasRequestParameters : RequestParameters
+ {
+ }
+
///Request options for EstimateModelMemory https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-apis.html
public class EstimateModelMemoryRequestParameters : RequestParameters
{
@@ -656,6 +661,17 @@ public class PutTrainedModelRequestParameters : RequestParametersRequest options for PutTrainedModelAlias https://www.elastic.co/guide/en/elasticsearch/reference/current/put-trained-models-aliases.html
+ public class PutTrainedModelAliasRequestParameters : RequestParameters
+ {
+ ///If the model_alias already exists and points to a separate model_id, this parameter must be true. Defaults to false.
+ public bool? Reassign
+ {
+ get => Q("reassign");
+ set => Q("reassign", value);
+ }
+ }
+
///Request options for RevertModelSnapshot https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-revert-snapshot.html
public class RevertModelSnapshotRequestParameters : RequestParameters
{
diff --git a/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.Snapshot.cs b/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.Snapshot.cs
index 6e25cdcf8f2..dc4ba658f78 100644
--- a/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.Snapshot.cs
+++ b/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.Snapshot.cs
@@ -151,6 +151,17 @@ public bool? Verbose
}
}
+ ///Request options for GetFeatures https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html
+ public class GetFeaturesRequestParameters : RequestParameters
+ {
+ ///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.Eql.cs b/src/Elasticsearch.Net/ElasticLowLevelClient.Eql.cs
index 934cde3a7b9..cd347982fff 100644
--- a/src/Elasticsearch.Net/ElasticLowLevelClient.Eql.cs
+++ b/src/Elasticsearch.Net/ElasticLowLevelClient.Eql.cs
@@ -66,6 +66,17 @@ public TResponse Get(string id, GetRequestParameters requestParameter
[MapsApi("eql.get", "id")]
public Task GetAsync(string id, GetRequestParameters requestParameters = null, CancellationToken ctx = default)
where TResponse : class, ITransportResponse, new() => DoRequestAsync(GET, Url($"_eql/search/{id:id}"), ctx, null, RequestParams(requestParameters));
+ ///GET on /_eql/search/status/{id} https://www.elastic.co/guide/en/elasticsearch/reference/current/eql-search-api.html
+ ///The async search ID
+ ///Request specific configuration such as querystring parameters & request specific connection settings.
+ public TResponse GetStatus(string id, GetStatusRequestParameters requestParameters = null)
+ where TResponse : class, ITransportResponse, new() => DoRequest(GET, Url($"_eql/search/status/{id:id}"), null, RequestParams(requestParameters));
+ ///GET on /_eql/search/status/{id} https://www.elastic.co/guide/en/elasticsearch/reference/current/eql-search-api.html
+ ///The async search ID
+ ///Request specific configuration such as querystring parameters & request specific connection settings.
+ [MapsApi("eql.get_status", "id")]
+ public Task GetStatusAsync(string id, GetStatusRequestParameters requestParameters = null, CancellationToken ctx = default)
+ where TResponse : class, ITransportResponse, new() => DoRequestAsync(GET, Url($"_eql/search/status/{id:id}"), ctx, null, RequestParams(requestParameters));
///POST on /{index}/_eql/search https://www.elastic.co/guide/en/elasticsearch/reference/current/eql-search-api.html
///The name of the index to scope the operation
///Eql request body. Use the `query` to limit the query scope.
diff --git a/src/Elasticsearch.Net/ElasticLowLevelClient.MachineLearning.cs b/src/Elasticsearch.Net/ElasticLowLevelClient.MachineLearning.cs
index 44825a9c1a6..8a02e77acb1 100644
--- a/src/Elasticsearch.Net/ElasticLowLevelClient.MachineLearning.cs
+++ b/src/Elasticsearch.Net/ElasticLowLevelClient.MachineLearning.cs
@@ -203,6 +203,21 @@ public TResponse DeleteTrainedModel(string modelId, DeleteTrainedMode
[MapsApi("ml.delete_trained_model", "model_id")]
public Task DeleteTrainedModelAsync(string modelId, DeleteTrainedModelRequestParameters requestParameters = null, CancellationToken ctx = default)
where TResponse : class, ITransportResponse, new() => DoRequestAsync(DELETE, Url($"_ml/trained_models/{modelId:modelId}"), ctx, null, RequestParams(requestParameters));
+ ///DELETE on /_ml/trained_models/{model_id}/model_aliases/{model_alias} https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-trained-models-aliases.html
+ ///The trained model where the model alias is assigned
+ ///The trained model alias to delete
+ ///Request specific configuration such as querystring parameters & request specific connection settings.
+ ///Note: Beta within the Elasticsearch server, this functionality is in Beta and is subject to change. The design and code is less mature than official GA features and is being provided as-is with no warranties. Beta features are not subject to the support SLA of official GA features. This functionality is subject to potential breaking changes within a minor version, meaning that your referencing code may break when this library is upgraded.
+ public TResponse DeleteTrainedModelAlias(string modelId, string modelAlias, DeleteTrainedModelAliasRequestParameters requestParameters = null)
+ where TResponse : class, ITransportResponse, new() => DoRequest(DELETE, Url($"_ml/trained_models/{modelId:modelId}/model_aliases/{modelAlias:modelAlias}"), null, RequestParams(requestParameters));
+ ///DELETE on /_ml/trained_models/{model_id}/model_aliases/{model_alias} https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-trained-models-aliases.html
+ ///The trained model where the model alias is assigned
+ ///The trained model alias to delete
+ ///Request specific configuration such as querystring parameters & request specific connection settings.
+ ///Note: Beta within the Elasticsearch server, this functionality is in Beta and is subject to change. The design and code is less mature than official GA features and is being provided as-is with no warranties. Beta features are not subject to the support SLA of official GA features. This functionality is subject to potential breaking changes within a minor version, meaning that your referencing code may break when this library is upgraded.
+ [MapsApi("ml.delete_trained_model_alias", "model_id, model_alias")]
+ public Task DeleteTrainedModelAliasAsync(string modelId, string modelAlias, DeleteTrainedModelAliasRequestParameters requestParameters = null, CancellationToken ctx = default)
+ where TResponse : class, ITransportResponse, new() => DoRequestAsync(DELETE, Url($"_ml/trained_models/{modelId:modelId}/model_aliases/{modelAlias:modelAlias}"), ctx, null, RequestParams(requestParameters));
///POST on /_ml/anomaly_detectors/_estimate_model_memory https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-apis.html
///The analysis config, plus cardinality estimates for fields it references
///Request specific configuration such as querystring parameters & request specific connection settings.
@@ -785,6 +800,21 @@ public TResponse PutTrainedModel(string modelId, PostData body, PutTr
[MapsApi("ml.put_trained_model", "model_id, body")]
public Task PutTrainedModelAsync(string modelId, PostData body, PutTrainedModelRequestParameters requestParameters = null, CancellationToken ctx = default)
where TResponse : class, ITransportResponse, new() => DoRequestAsync(PUT, Url($"_ml/trained_models/{modelId:modelId}"), ctx, body, RequestParams(requestParameters));
+ ///PUT on /_ml/trained_models/{model_id}/model_aliases/{model_alias} https://www.elastic.co/guide/en/elasticsearch/reference/current/put-trained-models-aliases.html
+ ///The trained model where the model alias should be assigned
+ ///The trained model alias to update
+ ///Request specific configuration such as querystring parameters & request specific connection settings.
+ ///Note: Beta within the Elasticsearch server, this functionality is in Beta and is subject to change. The design and code is less mature than official GA features and is being provided as-is with no warranties. Beta features are not subject to the support SLA of official GA features. This functionality is subject to potential breaking changes within a minor version, meaning that your referencing code may break when this library is upgraded.
+ public TResponse PutTrainedModelAlias(string modelId, string modelAlias, PutTrainedModelAliasRequestParameters requestParameters = null)
+ where TResponse : class, ITransportResponse, new() => DoRequest(PUT, Url($"_ml/trained_models/{modelId:modelId}/model_aliases/{modelAlias:modelAlias}"), null, RequestParams(requestParameters));
+ ///PUT on /_ml/trained_models/{model_id}/model_aliases/{model_alias} https://www.elastic.co/guide/en/elasticsearch/reference/current/put-trained-models-aliases.html
+ ///The trained model where the model alias should be assigned
+ ///The trained model alias to update
+ ///Request specific configuration such as querystring parameters & request specific connection settings.
+ ///Note: Beta within the Elasticsearch server, this functionality is in Beta and is subject to change. The design and code is less mature than official GA features and is being provided as-is with no warranties. Beta features are not subject to the support SLA of official GA features. This functionality is subject to potential breaking changes within a minor version, meaning that your referencing code may break when this library is upgraded.
+ [MapsApi("ml.put_trained_model_alias", "model_id, model_alias")]
+ public Task PutTrainedModelAliasAsync(string modelId, string modelAlias, PutTrainedModelAliasRequestParameters requestParameters = null, CancellationToken ctx = default)
+ where TResponse : class, ITransportResponse, new() => DoRequestAsync(PUT, Url($"_ml/trained_models/{modelId:modelId}/model_aliases/{modelAlias:modelAlias}"), ctx, null, RequestParams(requestParameters));
///POST on /_ml/anomaly_detectors/{job_id}/model_snapshots/{snapshot_id}/_revert https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-revert-snapshot.html
///The ID of the job to fetch
///The ID of the snapshot to revert to
diff --git a/src/Elasticsearch.Net/ElasticLowLevelClient.Snapshot.cs b/src/Elasticsearch.Net/ElasticLowLevelClient.Snapshot.cs
index bbbecb0e38e..e9c5a14c414 100644
--- a/src/Elasticsearch.Net/ElasticLowLevelClient.Snapshot.cs
+++ b/src/Elasticsearch.Net/ElasticLowLevelClient.Snapshot.cs
@@ -137,6 +137,15 @@ 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, ITransportResponse, 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, ITransportResponse, 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, ITransportResponse, 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)