diff --git a/src/ApiGenerator/RestSpecification/Core/ml.infer_trained_model_deployment.json b/src/ApiGenerator/RestSpecification/Core/ml.infer_trained_model_deployment.json new file mode 100644 index 00000000000..dd157151abe --- /dev/null +++ b/src/ApiGenerator/RestSpecification/Core/ml.infer_trained_model_deployment.json @@ -0,0 +1,30 @@ +{ + "ml.infer_trained_model_deployment":{ + "documentation":{ + "url":"https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-infer-trained-model-deployment.html", + "description":"Evaluate a trained model." + }, + "stability":"experimental", + "visibility":"public", + "headers":{ + "accept": [ "application/json"], + "content_type": ["application/json"] + }, + "url":{ + "paths":[ + { + "path":"/_ml/trained_models/{model_id}/deployment/_infer", + "methods":[ + "POST" + ], + "parts":{ + "model_id":{ + "type":"string", + "description":"The ID of the model to perform inference on" + } + } + } + ] + } + } +} diff --git a/src/ApiGenerator/RestSpecification/Core/ml.start_trained_model_deployment.json b/src/ApiGenerator/RestSpecification/Core/ml.start_trained_model_deployment.json new file mode 100644 index 00000000000..d91159eeed2 --- /dev/null +++ b/src/ApiGenerator/RestSpecification/Core/ml.start_trained_model_deployment.json @@ -0,0 +1,30 @@ +{ + "ml.start_trained_model_deployment":{ + "documentation":{ + "url":"https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-start-trained-model-deployment.html", + "description":"Start a trained model deployment." + }, + "stability":"experimental", + "visibility":"public", + "headers":{ + "accept": [ "application/json"], + "content_type": ["application/json"] + }, + "url":{ + "paths":[ + { + "path":"/_ml/trained_models/{model_id}/deployment/_start", + "methods":[ + "POST" + ], + "parts":{ + "model_id":{ + "type":"string", + "description":"The ID of the model to deploy" + } + } + } + ] + } + } +} diff --git a/src/ApiGenerator/RestSpecification/Core/ml.stop_trained_model_deployment.json b/src/ApiGenerator/RestSpecification/Core/ml.stop_trained_model_deployment.json new file mode 100644 index 00000000000..fcc6f05899a --- /dev/null +++ b/src/ApiGenerator/RestSpecification/Core/ml.stop_trained_model_deployment.json @@ -0,0 +1,30 @@ +{ + "ml.stop_trained_model_deployment":{ + "documentation":{ + "url":"https://www.elastic.co/guide/en/elasticsearch/reference/current/stop-trained-model-deployment.html", + "description":"Stop a trained model deployment." + }, + "stability":"experimental", + "visibility":"public", + "headers":{ + "accept": [ "application/json"], + "content_type": ["application/json"] + }, + "url":{ + "paths":[ + { + "path":"/_ml/trained_models/{model_id}/deployment/_stop", + "methods":[ + "POST" + ], + "parts":{ + "model_id":{ + "type":"string", + "description":"The ID of the model to undeploy" + } + } + } + ] + } + } +} diff --git a/src/ApiGenerator/RestSpecification/Core/security.enroll_node.json b/src/ApiGenerator/RestSpecification/Core/security.enroll_node.json index e01a88b22de..e0955a38b85 100644 --- a/src/ApiGenerator/RestSpecification/Core/security.enroll_node.json +++ b/src/ApiGenerator/RestSpecification/Core/security.enroll_node.json @@ -1,7 +1,7 @@ { "security.enroll_node":{ "documentation":{ - "url":"https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-enroll-node.html", + "url":"https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-node-enrollment.html", "description":"Allows a new node to enroll to an existing cluster with security enabled." }, "stability":"stable", diff --git a/src/ApiGenerator/RestSpecification/Core/security.saml_complete_logout.json b/src/ApiGenerator/RestSpecification/Core/security.saml_complete_logout.json new file mode 100644 index 00000000000..8a17b7a81c1 --- /dev/null +++ b/src/ApiGenerator/RestSpecification/Core/security.saml_complete_logout.json @@ -0,0 +1,28 @@ +{ + "security.saml_complete_logout":{ + "documentation":{ + "url":"https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-saml-complete-logout.html", + "description":"Verifies the logout response sent from the SAML IdP" + }, + "stability":"stable", + "visibility":"public", + "headers":{ + "accept": [ "application/json"], + "content_type": ["application/json"] + }, + "url":{ + "paths":[ + { + "path":"/_security/saml/complete_logout", + "methods":[ + "POST" + ] + } + ] + }, + "body":{ + "description":"The logout response to verify", + "required":true + } + } +} diff --git a/src/ApiGenerator/RestSpecification/Core/snapshot.repository_analyze.json b/src/ApiGenerator/RestSpecification/Core/snapshot.repository_analyze.json new file mode 100644 index 00000000000..2578cd5684d --- /dev/null +++ b/src/ApiGenerator/RestSpecification/Core/snapshot.repository_analyze.json @@ -0,0 +1,77 @@ +{ + "snapshot.repository_analyze":{ + "documentation":{ + "url":"https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html", + "description":"Analyzes a repository for correctness and performance" + }, + "stability":"stable", + "visibility":"public", + "headers": { + "accept": [ + "application/json" + ] + }, + "url":{ + "paths":[ + { + "path":"/_snapshot/{repository}/_analyze", + "methods":[ + "POST" + ], + "parts":{ + "repository":{ + "type":"string", + "description":"A repository name" + } + } + } + ] + }, + "params":{ + "blob_count":{ + "type":"number", + "description":"Number of blobs to create during the test. Defaults to 100." + }, + "concurrency":{ + "type":"number", + "description":"Number of operations to run concurrently during the test. Defaults to 10." + }, + "read_node_count":{ + "type":"number", + "description":"Number of nodes on which to read a blob after writing. Defaults to 10." + }, + "early_read_node_count":{ + "type":"number", + "description":"Number of nodes on which to perform an early read on a blob, i.e. before writing has completed. Early reads are rare actions so the 'rare_action_probability' parameter is also relevant. Defaults to 2." + }, + "seed":{ + "type":"number", + "description":"Seed for the random number generator used to create the test workload. Defaults to a random value." + }, + "rare_action_probability":{ + "type":"number", + "description":"Probability of taking a rare action such as an early read or an overwrite. Defaults to 0.02." + }, + "max_blob_size":{ + "type":"string", + "description":"Maximum size of a blob to create during the test, e.g '1gb' or '100mb'. Defaults to '10mb'." + }, + "max_total_data_size":{ + "type":"string", + "description":"Maximum total size of all blobs to create during the test, e.g '1tb' or '100gb'. Defaults to '1gb'." + }, + "timeout":{ + "type":"time", + "description":"Explicit operation timeout. Defaults to '30s'." + }, + "detailed":{ + "type":"boolean", + "description":"Whether to return detailed results or a summary. Defaults to 'false' so that only the summary is returned." + }, + "rarely_abort_writes":{ + "type":"boolean", + "description":"Whether to rarely abort writes before they complete. Defaults to 'true'." + } + } + } +} diff --git a/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.MachineLearning.cs b/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.MachineLearning.cs index 68a3d296e04..9a75716b49b 100644 --- a/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.MachineLearning.cs +++ b/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.MachineLearning.cs @@ -564,6 +564,11 @@ public int? Size } } + ///Request options for InferTrainedModelDeployment https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-infer-trained-model-deployment.html + public class InferTrainedModelDeploymentRequestParameters : RequestParameters + { + } + ///Request options for Info https://www.elastic.co/guide/en/elasticsearch/reference/current/get-ml-info.html public class MachineLearningInfoRequestParameters : RequestParameters { @@ -719,6 +724,11 @@ public class StartDatafeedRequestParameters : RequestParametersRequest options for StartTrainedModelDeployment https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-start-trained-model-deployment.html + public class StartTrainedModelDeploymentRequestParameters : RequestParameters + { + } + ///Request options for StopDataFrameAnalytics https://www.elastic.co/guide/en/elasticsearch/reference/current/stop-dfanalytics.html public class StopDataFrameAnalyticsRequestParameters : RequestParameters { @@ -766,6 +776,11 @@ public bool? AllowNoMatch } } + ///Request options for StopTrainedModelDeployment https://www.elastic.co/guide/en/elasticsearch/reference/current/stop-trained-model-deployment.html + public class StopTrainedModelDeploymentRequestParameters : RequestParameters + { + } + ///Request options for UpdateDataFrameAnalytics https://www.elastic.co/guide/en/elasticsearch/reference/current/update-dfanalytics.html public class UpdateDataFrameAnalyticsRequestParameters : RequestParameters { diff --git a/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.Security.cs b/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.Security.cs index bde21dbebf8..6bc1de1883e 100644 --- a/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.Security.cs +++ b/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.Security.cs @@ -204,7 +204,7 @@ public Refresh? Refresh } } - ///Request options for EnrollNode https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-enroll-node.html + ///Request options for EnrollNode https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-node-enrollment.html public class EnrollNodeRequestParameters : RequestParameters { } @@ -378,6 +378,11 @@ public Refresh? Refresh } } + ///Request options for SamlCompleteLogout https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-saml-complete-logout.html + public class SamlCompleteLogoutRequestParameters : RequestParameters + { + } + ///Request options for GetCertificates https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-ssl.html public class GetCertificatesRequestParameters : RequestParameters { diff --git a/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.Snapshot.cs b/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.Snapshot.cs index 44d0e730fef..f55fb884259 100644 --- a/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.Snapshot.cs +++ b/src/Elasticsearch.Net/Api/RequestParameters/RequestParameters.Snapshot.cs @@ -179,6 +179,90 @@ public TimeSpan MasterTimeout } } + ///Request options for RepositoryAnalyze https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html + public class RepositoryAnalyzeRequestParameters : RequestParameters + { + ///Number of blobs to create during the test. Defaults to 100. + public long? BlobCount + { + get => Q("blob_count"); + set => Q("blob_count", value); + } + + ///Number of operations to run concurrently during the test. Defaults to 10. + public long? Concurrency + { + get => Q("concurrency"); + set => Q("concurrency", value); + } + + ///Whether to return detailed results or a summary. Defaults to 'false' so that only the summary is returned. + public bool? Detailed + { + get => Q("detailed"); + set => Q("detailed", value); + } + + /// + /// Number of nodes on which to perform an early read on a blob, i.e. before writing has completed. Early reads are rare actions so the + /// 'rare_action_probability' parameter is also relevant. Defaults to 2. + /// + public long? EarlyReadNodeCount + { + get => Q("early_read_node_count"); + set => Q("early_read_node_count", value); + } + + ///Maximum size of a blob to create during the test, e.g '1gb' or '100mb'. Defaults to '10mb'. + public string MaxBlobSize + { + get => Q("max_blob_size"); + set => Q("max_blob_size", value); + } + + ///Maximum total size of all blobs to create during the test, e.g '1tb' or '100gb'. Defaults to '1gb'. + public string MaxTotalDataSize + { + get => Q("max_total_data_size"); + set => Q("max_total_data_size", value); + } + + ///Probability of taking a rare action such as an early read or an overwrite. Defaults to 0.02. + public long? RareActionProbability + { + get => Q("rare_action_probability"); + set => Q("rare_action_probability", value); + } + + ///Whether to rarely abort writes before they complete. Defaults to 'true'. + public bool? RarelyAbortWrites + { + get => Q("rarely_abort_writes"); + set => Q("rarely_abort_writes", value); + } + + ///Number of nodes on which to read a blob after writing. Defaults to 10. + public long? ReadNodeCount + { + get => Q("read_node_count"); + set => Q("read_node_count", value); + } + + ///Seed for the random number generator used to create the test workload. Defaults to a random value. + public long? Seed + { + get => Q("seed"); + set => Q("seed", value); + } + + ///Explicit operation timeout. Defaults to '30s'. + public TimeSpan Timeout + { + get => Q("timeout"); + set => Q("timeout", value); + } + } + ///Request options for Restore https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html public class RestoreRequestParameters : RequestParameters { diff --git a/src/Elasticsearch.Net/ElasticLowLevelClient.MachineLearning.cs b/src/Elasticsearch.Net/ElasticLowLevelClient.MachineLearning.cs index 91c408297bd..da63c2e0d32 100644 --- a/src/Elasticsearch.Net/ElasticLowLevelClient.MachineLearning.cs +++ b/src/Elasticsearch.Net/ElasticLowLevelClient.MachineLearning.cs @@ -623,6 +623,19 @@ public TResponse GetTrainedModelsStats(GetTrainedModelsStatsRequestPa [MapsApi("ml.get_trained_models_stats", "")] public Task GetTrainedModelsStatsAsync(GetTrainedModelsStatsRequestParameters requestParameters = null, CancellationToken ctx = default) where TResponse : class, ITransportResponse, new() => DoRequestAsync(GET, "_ml/trained_models/_stats", ctx, null, RequestParams(requestParameters)); + ///POST on /_ml/trained_models/{model_id}/deployment/_infer https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-infer-trained-model-deployment.html + ///The ID of the model to perform inference on + ///Request specific configuration such as querystring parameters & request specific connection settings. + ///Note: Experimental within the Elasticsearch server, this functionality is Experimental and may be changed or removed completely in a future release. Elastic will take a best effort approach to fix any issues, but experimental 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 InferTrainedModelDeployment(string modelId, InferTrainedModelDeploymentRequestParameters requestParameters = null) + where TResponse : class, ITransportResponse, new() => DoRequest(POST, Url($"_ml/trained_models/{modelId:modelId}/deployment/_infer"), null, RequestParams(requestParameters)); + ///POST on /_ml/trained_models/{model_id}/deployment/_infer https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-infer-trained-model-deployment.html + ///The ID of the model to perform inference on + ///Request specific configuration such as querystring parameters & request specific connection settings. + ///Note: Experimental within the Elasticsearch server, this functionality is Experimental and may be changed or removed completely in a future release. Elastic will take a best effort approach to fix any issues, but experimental 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.infer_trained_model_deployment", "model_id")] + public Task InferTrainedModelDeploymentAsync(string modelId, InferTrainedModelDeploymentRequestParameters requestParameters = null, CancellationToken ctx = default) + where TResponse : class, ITransportResponse, new() => DoRequestAsync(POST, Url($"_ml/trained_models/{modelId:modelId}/deployment/_infer"), ctx, null, RequestParams(requestParameters)); ///GET on /_ml/info https://www.elastic.co/guide/en/elasticsearch/reference/current/get-ml-info.html ///Request specific configuration such as querystring parameters & request specific connection settings. public TResponse Info(MachineLearningInfoRequestParameters requestParameters = null) @@ -871,6 +884,19 @@ public TResponse StartDatafeed(string datafeedId, PostData body, Star [MapsApi("ml.start_datafeed", "datafeed_id, body")] public Task StartDatafeedAsync(string datafeedId, PostData body, StartDatafeedRequestParameters requestParameters = null, CancellationToken ctx = default) where TResponse : class, ITransportResponse, new() => DoRequestAsync(POST, Url($"_ml/datafeeds/{datafeedId:datafeedId}/_start"), ctx, body, RequestParams(requestParameters)); + ///POST on /_ml/trained_models/{model_id}/deployment/_start https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-start-trained-model-deployment.html + ///The ID of the model to deploy + ///Request specific configuration such as querystring parameters & request specific connection settings. + ///Note: Experimental within the Elasticsearch server, this functionality is Experimental and may be changed or removed completely in a future release. Elastic will take a best effort approach to fix any issues, but experimental 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 StartTrainedModelDeployment(string modelId, StartTrainedModelDeploymentRequestParameters requestParameters = null) + where TResponse : class, ITransportResponse, new() => DoRequest(POST, Url($"_ml/trained_models/{modelId:modelId}/deployment/_start"), null, RequestParams(requestParameters)); + ///POST on /_ml/trained_models/{model_id}/deployment/_start https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-start-trained-model-deployment.html + ///The ID of the model to deploy + ///Request specific configuration such as querystring parameters & request specific connection settings. + ///Note: Experimental within the Elasticsearch server, this functionality is Experimental and may be changed or removed completely in a future release. Elastic will take a best effort approach to fix any issues, but experimental 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.start_trained_model_deployment", "model_id")] + public Task StartTrainedModelDeploymentAsync(string modelId, StartTrainedModelDeploymentRequestParameters requestParameters = null, CancellationToken ctx = default) + where TResponse : class, ITransportResponse, new() => DoRequestAsync(POST, Url($"_ml/trained_models/{modelId:modelId}/deployment/_start"), ctx, null, RequestParams(requestParameters)); ///POST on /_ml/data_frame/analytics/{id}/_stop https://www.elastic.co/guide/en/elasticsearch/reference/current/stop-dfanalytics.html ///The ID of the data frame analytics to stop ///The stop data frame analytics parameters @@ -897,6 +923,19 @@ public TResponse StopDatafeed(string datafeedId, PostData body, StopD [MapsApi("ml.stop_datafeed", "datafeed_id, body")] public Task StopDatafeedAsync(string datafeedId, PostData body, StopDatafeedRequestParameters requestParameters = null, CancellationToken ctx = default) where TResponse : class, ITransportResponse, new() => DoRequestAsync(POST, Url($"_ml/datafeeds/{datafeedId:datafeedId}/_stop"), ctx, body, RequestParams(requestParameters)); + ///POST on /_ml/trained_models/{model_id}/deployment/_stop https://www.elastic.co/guide/en/elasticsearch/reference/current/stop-trained-model-deployment.html + ///The ID of the model to undeploy + ///Request specific configuration such as querystring parameters & request specific connection settings. + ///Note: Experimental within the Elasticsearch server, this functionality is Experimental and may be changed or removed completely in a future release. Elastic will take a best effort approach to fix any issues, but experimental 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 StopTrainedModelDeployment(string modelId, StopTrainedModelDeploymentRequestParameters requestParameters = null) + where TResponse : class, ITransportResponse, new() => DoRequest(POST, Url($"_ml/trained_models/{modelId:modelId}/deployment/_stop"), null, RequestParams(requestParameters)); + ///POST on /_ml/trained_models/{model_id}/deployment/_stop https://www.elastic.co/guide/en/elasticsearch/reference/current/stop-trained-model-deployment.html + ///The ID of the model to undeploy + ///Request specific configuration such as querystring parameters & request specific connection settings. + ///Note: Experimental within the Elasticsearch server, this functionality is Experimental and may be changed or removed completely in a future release. Elastic will take a best effort approach to fix any issues, but experimental 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.stop_trained_model_deployment", "model_id")] + public Task StopTrainedModelDeploymentAsync(string modelId, StopTrainedModelDeploymentRequestParameters requestParameters = null, CancellationToken ctx = default) + where TResponse : class, ITransportResponse, new() => DoRequestAsync(POST, Url($"_ml/trained_models/{modelId:modelId}/deployment/_stop"), ctx, null, RequestParams(requestParameters)); ///POST on /_ml/data_frame/analytics/{id}/_update https://www.elastic.co/guide/en/elasticsearch/reference/current/update-dfanalytics.html ///The ID of the data frame analytics to update ///The data frame analytics settings to update diff --git a/src/Elasticsearch.Net/ElasticLowLevelClient.Security.cs b/src/Elasticsearch.Net/ElasticLowLevelClient.Security.cs index c8d38cbd5aa..3b1c34e2900 100644 --- a/src/Elasticsearch.Net/ElasticLowLevelClient.Security.cs +++ b/src/Elasticsearch.Net/ElasticLowLevelClient.Security.cs @@ -278,11 +278,11 @@ public TResponse EnableUser(string username, EnableUserRequestParamet [MapsApi("security.enable_user", "username")] public Task EnableUserAsync(string username, EnableUserRequestParameters requestParameters = null, CancellationToken ctx = default) where TResponse : class, ITransportResponse, new() => DoRequestAsync(PUT, Url($"_security/user/{username:username}/_enable"), ctx, null, RequestParams(requestParameters)); - ///GET on /_security/enroll_node https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-enroll-node.html + ///GET on /_security/enroll_node https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-node-enrollment.html ///Request specific configuration such as querystring parameters & request specific connection settings. public TResponse EnrollNode(EnrollNodeRequestParameters requestParameters = null) where TResponse : class, ITransportResponse, new() => DoRequest(GET, "_security/enroll_node", null, RequestParams(requestParameters)); - ///GET on /_security/enroll_node https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-enroll-node.html + ///GET on /_security/enroll_node https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-node-enrollment.html ///Request specific configuration such as querystring parameters & request specific connection settings. [MapsApi("security.enroll_node", "")] public Task EnrollNodeAsync(EnrollNodeRequestParameters requestParameters = null, CancellationToken ctx = default) @@ -579,6 +579,17 @@ public TResponse PutUser(string username, PostData body, PutUserReque [MapsApi("security.put_user", "username, body")] public Task PutUserAsync(string username, PostData body, PutUserRequestParameters requestParameters = null, CancellationToken ctx = default) where TResponse : class, ITransportResponse, new() => DoRequestAsync(PUT, Url($"_security/user/{username:username}"), ctx, body, RequestParams(requestParameters)); + ///POST on /_security/saml/complete_logout https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-saml-complete-logout.html + ///The logout response to verify + ///Request specific configuration such as querystring parameters & request specific connection settings. + public TResponse SamlCompleteLogout(PostData body, SamlCompleteLogoutRequestParameters requestParameters = null) + where TResponse : class, ITransportResponse, new() => DoRequest(POST, "_security/saml/complete_logout", body, RequestParams(requestParameters)); + ///POST on /_security/saml/complete_logout https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-saml-complete-logout.html + ///The logout response to verify + ///Request specific configuration such as querystring parameters & request specific connection settings. + [MapsApi("security.saml_complete_logout", "body")] + public Task SamlCompleteLogoutAsync(PostData body, SamlCompleteLogoutRequestParameters requestParameters = null, CancellationToken ctx = default) + where TResponse : class, ITransportResponse, new() => DoRequestAsync(POST, "_security/saml/complete_logout", ctx, body, RequestParams(requestParameters)); ///GET on /_ssl/certificates https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-ssl.html ///Request specific configuration such as querystring parameters & request specific connection settings. public TResponse GetCertificates(GetCertificatesRequestParameters requestParameters = null) diff --git a/src/Elasticsearch.Net/ElasticLowLevelClient.Snapshot.cs b/src/Elasticsearch.Net/ElasticLowLevelClient.Snapshot.cs index 4a57c1bf71b..da9da998912 100644 --- a/src/Elasticsearch.Net/ElasticLowLevelClient.Snapshot.cs +++ b/src/Elasticsearch.Net/ElasticLowLevelClient.Snapshot.cs @@ -160,6 +160,17 @@ public TResponse GetRepository(string repository, GetRepositoryReques [MapsApi("snapshot.get_repository", "repository")] public Task GetRepositoryAsync(string repository, GetRepositoryRequestParameters requestParameters = null, CancellationToken ctx = default) where TResponse : class, ITransportResponse, new() => DoRequestAsync(GET, Url($"_snapshot/{repository:repository}"), ctx, null, RequestParams(requestParameters)); + ///POST on /_snapshot/{repository}/_analyze https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html + ///A repository name + ///Request specific configuration such as querystring parameters & request specific connection settings. + public TResponse RepositoryAnalyze(string repository, RepositoryAnalyzeRequestParameters requestParameters = null) + where TResponse : class, ITransportResponse, new() => DoRequest(POST, Url($"_snapshot/{repository:repository}/_analyze"), null, RequestParams(requestParameters)); + ///POST on /_snapshot/{repository}/_analyze https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html + ///A repository name + ///Request specific configuration such as querystring parameters & request specific connection settings. + [MapsApi("snapshot.repository_analyze", "repository")] + public Task RepositoryAnalyzeAsync(string repository, RepositoryAnalyzeRequestParameters requestParameters = null, CancellationToken ctx = default) + where TResponse : class, ITransportResponse, new() => DoRequestAsync(POST, Url($"_snapshot/{repository:repository}/_analyze"), ctx, null, RequestParams(requestParameters)); ///POST on /_snapshot/{repository}/{snapshot}/_restore https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html ///A repository name ///A snapshot name