Skip to content

Commit 4dc5666

Browse files
authored
Implement SLM Execute Retention API (#4258)
Implement SLM Execute Retention API
1 parent d4c6b80 commit 4dc5666

File tree

10 files changed

+102
-71
lines changed

10 files changed

+102
-71
lines changed

src/CodeGeneration/ApiGenerator/Configuration/CodeConfiguration.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ public static class CodeConfiguration
6060
"enrich.get_policy.json",
6161
"enrich.put_policy.json",
6262
"enrich.stats.json",
63-
"slm.execute_retention.json",
6463
"transform.delete_transform.json",
6564
"transform.get_transform.json",
6665
"transform.get_transform_stats.json",

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,17 +33,17 @@ public class DeleteSnapshotLifecycleRequestParameters : RequestParameters<Delete
3333
///<summary>Request options for ExecuteSnapshotLifecycle <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-execute.html</para></summary>
3434
public class ExecuteSnapshotLifecycleRequestParameters : RequestParameters<ExecuteSnapshotLifecycleRequestParameters>
3535
{
36-
public override HttpMethod DefaultHttpMethod => HttpMethod.POST;
36+
public override HttpMethod DefaultHttpMethod => HttpMethod.PUT;
3737
}
3838

39-
///<summary>Request options for GetSnapshotLifecycle <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-get.html</para></summary>
40-
public class GetSnapshotLifecycleRequestParameters : RequestParameters<GetSnapshotLifecycleRequestParameters>
39+
///<summary>Request options for ExecuteRetention <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-execute-retention.html</para></summary>
40+
public class ExecuteRetentionRequestParameters : RequestParameters<ExecuteRetentionRequestParameters>
4141
{
42-
public override HttpMethod DefaultHttpMethod => HttpMethod.GET;
42+
public override HttpMethod DefaultHttpMethod => HttpMethod.POST;
4343
}
4444

45-
///<summary>Request options for GetSnapshotLifecycleStats <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/slm-get-stats.html</para></summary>
46-
public class GetSnapshotLifecycleStatsRequestParameters : RequestParameters<GetSnapshotLifecycleStatsRequestParameters>
45+
///<summary>Request options for GetSnapshotLifecycle <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-get.html</para></summary>
46+
public class GetSnapshotLifecycleRequestParameters : RequestParameters<GetSnapshotLifecycleRequestParameters>
4747
{
4848
public override HttpMethod DefaultHttpMethod => HttpMethod.GET;
4949
}

src/Elasticsearch.Net/ElasticLowLevelClient.SnapshotLifecycleManagement.cs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -54,17 +54,26 @@ public TResponse DeleteSnapshotLifecycle<TResponse>(string policyId, DeleteSnaps
5454
[MapsApi("slm.delete_lifecycle", "policy_id")]
5555
public Task<TResponse> DeleteSnapshotLifecycleAsync<TResponse>(string policyId, DeleteSnapshotLifecycleRequestParameters requestParameters = null, CancellationToken ctx = default)
5656
where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(DELETE, Url($"_slm/policy/{policyId:policyId}"), ctx, null, RequestParams(requestParameters));
57-
///<summary>POST on /_slm/policy/{policy_id}/_execute <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-execute.html</para></summary>
57+
///<summary>PUT on /_slm/policy/{policy_id}/_execute <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-execute.html</para></summary>
5858
///<param name = "policyId">The id of the snapshot lifecycle policy to be executed</param>
5959
///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
6060
public TResponse ExecuteSnapshotLifecycle<TResponse>(string policyId, ExecuteSnapshotLifecycleRequestParameters requestParameters = null)
61-
where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(POST, Url($"_slm/policy/{policyId:policyId}/_execute"), null, RequestParams(requestParameters));
62-
///<summary>POST on /_slm/policy/{policy_id}/_execute <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-execute.html</para></summary>
61+
where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(PUT, Url($"_slm/policy/{policyId:policyId}/_execute"), null, RequestParams(requestParameters));
62+
///<summary>PUT on /_slm/policy/{policy_id}/_execute <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-execute.html</para></summary>
6363
///<param name = "policyId">The id of the snapshot lifecycle policy to be executed</param>
6464
///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
6565
[MapsApi("slm.execute_lifecycle", "policy_id")]
6666
public Task<TResponse> ExecuteSnapshotLifecycleAsync<TResponse>(string policyId, ExecuteSnapshotLifecycleRequestParameters requestParameters = null, CancellationToken ctx = default)
67-
where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(POST, Url($"_slm/policy/{policyId:policyId}/_execute"), ctx, null, RequestParams(requestParameters));
67+
where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(PUT, Url($"_slm/policy/{policyId:policyId}/_execute"), ctx, null, RequestParams(requestParameters));
68+
///<summary>POST on /_slm/_execute_retention <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-execute-retention.html</para></summary>
69+
///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
70+
public TResponse ExecuteRetention<TResponse>(ExecuteRetentionRequestParameters requestParameters = null)
71+
where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(POST, "_slm/_execute_retention", null, RequestParams(requestParameters));
72+
///<summary>POST on /_slm/_execute_retention <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-execute-retention.html</para></summary>
73+
///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
74+
[MapsApi("slm.execute_retention", "")]
75+
public Task<TResponse> ExecuteRetentionAsync<TResponse>(ExecuteRetentionRequestParameters requestParameters = null, CancellationToken ctx = default)
76+
where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(POST, "_slm/_execute_retention", ctx, null, RequestParams(requestParameters));
6877
///<summary>GET on /_slm/policy/{policy_id} <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-get.html</para></summary>
6978
///<param name = "policyId">Comma-separated list of snapshot lifecycle policies to retrieve</param>
7079
///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
@@ -85,15 +94,6 @@ public TResponse GetSnapshotLifecycle<TResponse>(GetSnapshotLifecycleRequestPara
8594
[MapsApi("slm.get_lifecycle", "")]
8695
public Task<TResponse> GetSnapshotLifecycleAsync<TResponse>(GetSnapshotLifecycleRequestParameters requestParameters = null, CancellationToken ctx = default)
8796
where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, "_slm/policy", ctx, null, RequestParams(requestParameters));
88-
///<summary>GET on /_slm/stats <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/slm-get-stats.html</para></summary>
89-
///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
90-
public TResponse GetSnapshotLifecycleStats<TResponse>(GetSnapshotLifecycleStatsRequestParameters requestParameters = null)
91-
where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, "_slm/stats", null, RequestParams(requestParameters));
92-
///<summary>GET on /_slm/stats <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/slm-get-stats.html</para></summary>
93-
///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
94-
[MapsApi("slm.get_stats", "")]
95-
public Task<TResponse> GetSnapshotLifecycleStatsAsync<TResponse>(GetSnapshotLifecycleStatsRequestParameters requestParameters = null, CancellationToken ctx = default)
96-
where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, "_slm/stats", ctx, null, RequestParams(requestParameters));
9797
///<summary>GET on /_slm/status <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-get-status.html</para></summary>
9898
///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
9999
public TResponse GetStatus<TResponse>(GetSnapshotLifecycleManagementStatusRequestParameters requestParameters = null)

src/Nest/Descriptors.SnapshotLifecycleManagement.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,14 @@ protected ExecuteSnapshotLifecycleDescriptor(): base()
7272
// Request parameters
7373
}
7474

75+
///<summary>Descriptor for ExecuteRetention <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-execute-retention.html</para></summary>
76+
public partial class ExecuteRetentionDescriptor : RequestDescriptorBase<ExecuteRetentionDescriptor, ExecuteRetentionRequestParameters, IExecuteRetentionRequest>, IExecuteRetentionRequest
77+
{
78+
internal override ApiUrls ApiUrls => ApiUrlsLookups.SnapshotLifecycleManagementExecuteRetention;
79+
// values part of the url path
80+
// Request parameters
81+
}
82+
7583
///<summary>Descriptor for GetSnapshotLifecycle <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-get.html</para></summary>
7684
public partial class GetSnapshotLifecycleDescriptor : RequestDescriptorBase<GetSnapshotLifecycleDescriptor, GetSnapshotLifecycleRequestParameters, IGetSnapshotLifecycleRequest>, IGetSnapshotLifecycleRequest
7785
{
@@ -94,14 +102,6 @@ public GetSnapshotLifecycleDescriptor(): base()
94102
// Request parameters
95103
}
96104

97-
///<summary>Descriptor for GetSnapshotLifecycleStats <para>https://www.elastic.co/guide/en/elasticsearch/reference/master/slm-get-stats.html</para></summary>
98-
public partial class GetSnapshotLifecycleStatsDescriptor : RequestDescriptorBase<GetSnapshotLifecycleStatsDescriptor, GetSnapshotLifecycleStatsRequestParameters, IGetSnapshotLifecycleStatsRequest>, IGetSnapshotLifecycleStatsRequest
99-
{
100-
internal override ApiUrls ApiUrls => ApiUrlsLookups.SnapshotLifecycleManagementGetSnapshotLifecycleStats;
101-
// values part of the url path
102-
// Request parameters
103-
}
104-
105105
///<summary>Descriptor for GetStatus <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-get-status.html</para></summary>
106106
public partial class GetSnapshotLifecycleManagementStatusDescriptor : RequestDescriptorBase<GetSnapshotLifecycleManagementStatusDescriptor, GetSnapshotLifecycleManagementStatusRequestParameters, IGetSnapshotLifecycleManagementStatusRequest>, IGetSnapshotLifecycleManagementStatusRequest
107107
{

0 commit comments

Comments
 (0)