Skip to content

Commit a02bfa9

Browse files
committed
Implement REST API specification locally and generate files.
1 parent b8980ca commit a02bfa9

9 files changed

Lines changed: 261 additions & 0 deletions
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"slm.get_status":{
3+
"documentation":{
4+
"url":"https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-get-status.html"
5+
},
6+
"stability":"stable",
7+
"url":{
8+
"paths":[
9+
{
10+
"path":"/_slm/status",
11+
"methods":[
12+
"GET"
13+
]
14+
}
15+
]
16+
},
17+
"params":{}
18+
}
19+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"slm.start":{
3+
"documentation":{
4+
"url":"https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-start.html"
5+
},
6+
"stability":"stable",
7+
"url":{
8+
"paths":[
9+
{
10+
"path":"/_slm/start",
11+
"methods":[
12+
"POST"
13+
]
14+
}
15+
]
16+
},
17+
"params":{}
18+
}
19+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"slm.stop":{
3+
"documentation":{
4+
"url":"https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-stop.html"
5+
},
6+
"stability":"stable",
7+
"url":{
8+
"paths":[
9+
{
10+
"path":"/_slm/stop",
11+
"methods":[
12+
"POST"
13+
]
14+
}
15+
]
16+
},
17+
"params":{}
18+
}
19+
}

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

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,27 @@ public class GetSnapshotLifecycleRequestParameters : RequestParameters<GetSnapsh
4242
public override HttpMethod DefaultHttpMethod => HttpMethod.GET;
4343
}
4444

45+
///<summary>Request options for GetStatus <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-get-status.html</para></summary>
46+
public class GetStatusRequestParameters : RequestParameters<GetStatusRequestParameters>
47+
{
48+
public override HttpMethod DefaultHttpMethod => HttpMethod.GET;
49+
}
50+
4551
///<summary>Request options for PutSnapshotLifecycle <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-put.html</para></summary>
4652
public class PutSnapshotLifecycleRequestParameters : RequestParameters<PutSnapshotLifecycleRequestParameters>
4753
{
4854
public override HttpMethod DefaultHttpMethod => HttpMethod.PUT;
4955
}
56+
57+
///<summary>Request options for Start <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-start.html</para></summary>
58+
public class StartRequestParameters : RequestParameters<StartRequestParameters>
59+
{
60+
public override HttpMethod DefaultHttpMethod => HttpMethod.POST;
61+
}
62+
63+
///<summary>Request options for Stop <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-stop.html</para></summary>
64+
public class StopRequestParameters : RequestParameters<StopRequestParameters>
65+
{
66+
public override HttpMethod DefaultHttpMethod => HttpMethod.POST;
67+
}
5068
}

src/Elasticsearch.Net/ElasticLowLevelClient.SnapshotLifecycleManagement.cs

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,15 @@ public TResponse GetSnapshotLifecycle<TResponse>(GetSnapshotLifecycleRequestPara
8585
[MapsApi("slm.get_lifecycle", "")]
8686
public Task<TResponse> GetSnapshotLifecycleAsync<TResponse>(GetSnapshotLifecycleRequestParameters requestParameters = null, CancellationToken ctx = default)
8787
where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, "_slm/policy", ctx, null, RequestParams(requestParameters));
88+
///<summary>GET on /_slm/status <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-get-status.html</para></summary>
89+
///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
90+
public TResponse GetStatus<TResponse>(GetStatusRequestParameters requestParameters = null)
91+
where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(GET, "_slm/status", null, RequestParams(requestParameters));
92+
///<summary>GET on /_slm/status <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-get-status.html</para></summary>
93+
///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
94+
[MapsApi("slm.get_status", "")]
95+
public Task<TResponse> GetStatusAsync<TResponse>(GetStatusRequestParameters requestParameters = null, CancellationToken ctx = default)
96+
where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(GET, "_slm/status", ctx, null, RequestParams(requestParameters));
8897
///<summary>PUT on /_slm/policy/{policy_id} <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-put.html</para></summary>
8998
///<param name = "policyId">The id of the snapshot lifecycle policy</param>
9099
///<param name = "body">The snapshot lifecycle policy definition to register</param>
@@ -98,5 +107,23 @@ public TResponse PutSnapshotLifecycle<TResponse>(string policyId, PostData body,
98107
[MapsApi("slm.put_lifecycle", "policy_id, body")]
99108
public Task<TResponse> PutSnapshotLifecycleAsync<TResponse>(string policyId, PostData body, PutSnapshotLifecycleRequestParameters requestParameters = null, CancellationToken ctx = default)
100109
where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(PUT, Url($"_slm/policy/{policyId:policyId}"), ctx, body, RequestParams(requestParameters));
110+
///<summary>POST on /_slm/start <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-start.html</para></summary>
111+
///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
112+
public TResponse Start<TResponse>(StartRequestParameters requestParameters = null)
113+
where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(POST, "_slm/start", null, RequestParams(requestParameters));
114+
///<summary>POST on /_slm/start <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-start.html</para></summary>
115+
///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
116+
[MapsApi("slm.start", "")]
117+
public Task<TResponse> StartAsync<TResponse>(StartRequestParameters requestParameters = null, CancellationToken ctx = default)
118+
where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(POST, "_slm/start", ctx, null, RequestParams(requestParameters));
119+
///<summary>POST on /_slm/stop <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-stop.html</para></summary>
120+
///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
121+
public TResponse Stop<TResponse>(StopRequestParameters requestParameters = null)
122+
where TResponse : class, IElasticsearchResponse, new() => DoRequest<TResponse>(POST, "_slm/stop", null, RequestParams(requestParameters));
123+
///<summary>POST on /_slm/stop <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-stop.html</para></summary>
124+
///<param name = "requestParameters">Request specific configuration such as querystring parameters &amp; request specific connection settings.</param>
125+
[MapsApi("slm.stop", "")]
126+
public Task<TResponse> StopAsync<TResponse>(StopRequestParameters requestParameters = null, CancellationToken ctx = default)
127+
where TResponse : class, IElasticsearchResponse, new() => DoRequestAsync<TResponse>(POST, "_slm/stop", ctx, null, RequestParams(requestParameters));
101128
}
102129
}

src/Nest/Descriptors.SnapshotLifecycleManagement.cs

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,17 @@ public GetSnapshotLifecycleDescriptor(): base()
9494
// Request parameters
9595
}
9696

97+
///<summary>Descriptor for GetStatus <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-get-status.html</para></summary>
98+
public partial class GetStatusDescriptor : RequestDescriptorBase<GetStatusDescriptor, GetStatusRequestParameters, IGetStatusRequest>, IGetStatusRequest
99+
{
100+
internal override ApiUrls ApiUrls => ApiUrlsLookups.SnapshotLifecycleManagementGetStatus;
101+
// values part of the url path
102+
// Request parameters
103+
[Obsolete("Unmapped, blacklist this API in CodeConfiguration.cs or implement GetStatusDescriptor and GetStatusRequest in a file called GetStatusRequest.cs in NEST's codebase", true)]
104+
public bool IsUnmapped => true;
105+
public bool UseIsUnmapped => IsUnmapped;
106+
}
107+
97108
///<summary>Descriptor for PutSnapshotLifecycle <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-put.html</para></summary>
98109
public partial class PutSnapshotLifecycleDescriptor : RequestDescriptorBase<PutSnapshotLifecycleDescriptor, PutSnapshotLifecycleRequestParameters, IPutSnapshotLifecycleRequest>, IPutSnapshotLifecycleRequest
99110
{
@@ -114,4 +125,26 @@ protected PutSnapshotLifecycleDescriptor(): base()
114125
Id IPutSnapshotLifecycleRequest.PolicyId => Self.RouteValues.Get<Id>("policy_id");
115126
// Request parameters
116127
}
128+
129+
///<summary>Descriptor for Start <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-start.html</para></summary>
130+
public partial class StartDescriptor : RequestDescriptorBase<StartDescriptor, StartRequestParameters, IStartRequest>, IStartRequest
131+
{
132+
internal override ApiUrls ApiUrls => ApiUrlsLookups.SnapshotLifecycleManagementStart;
133+
// values part of the url path
134+
// Request parameters
135+
[Obsolete("Unmapped, blacklist this API in CodeConfiguration.cs or implement StartDescriptor and StartRequest in a file called StartRequest.cs in NEST's codebase", true)]
136+
public bool IsUnmapped => true;
137+
public bool UseIsUnmapped => IsUnmapped;
138+
}
139+
140+
///<summary>Descriptor for Stop <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-stop.html</para></summary>
141+
public partial class StopDescriptor : RequestDescriptorBase<StopDescriptor, StopRequestParameters, IStopRequest>, IStopRequest
142+
{
143+
internal override ApiUrls ApiUrls => ApiUrlsLookups.SnapshotLifecycleManagementStop;
144+
// values part of the url path
145+
// Request parameters
146+
[Obsolete("Unmapped, blacklist this API in CodeConfiguration.cs or implement StopDescriptor and StopRequest in a file called StopRequest.cs in NEST's codebase", true)]
147+
public bool IsUnmapped => true;
148+
public bool UseIsUnmapped => IsUnmapped;
149+
}
117150
}

src/Nest/ElasticClient.SnapshotLifecycleManagement.cs

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,30 @@ internal SnapshotLifecycleManagementNamespace(ElasticClient client): base(client
109109
/// </summary>
110110
public Task<GetSnapshotLifecycleResponse> GetSnapshotLifecycleAsync(IGetSnapshotLifecycleRequest request, CancellationToken ct = default) => DoRequestAsync<IGetSnapshotLifecycleRequest, GetSnapshotLifecycleResponse>(request, request.RequestParameters, ct);
111111
/// <summary>
112+
/// <c>GET</c> request to the <c>slm.get_status</c> API, read more about this API online:
113+
/// <para></para>
114+
/// <a href = "https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-get-status.html">https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-get-status.html</a>
115+
/// </summary>
116+
public GetStatusResponse GetStatus(Func<GetStatusDescriptor, IGetStatusRequest> selector = null) => GetStatus(selector.InvokeOrDefault(new GetStatusDescriptor()));
117+
/// <summary>
118+
/// <c>GET</c> request to the <c>slm.get_status</c> API, read more about this API online:
119+
/// <para></para>
120+
/// <a href = "https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-get-status.html">https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-get-status.html</a>
121+
/// </summary>
122+
public Task<GetStatusResponse> GetStatusAsync(Func<GetStatusDescriptor, IGetStatusRequest> selector = null, CancellationToken ct = default) => GetStatusAsync(selector.InvokeOrDefault(new GetStatusDescriptor()), ct);
123+
/// <summary>
124+
/// <c>GET</c> request to the <c>slm.get_status</c> API, read more about this API online:
125+
/// <para></para>
126+
/// <a href = "https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-get-status.html">https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-get-status.html</a>
127+
/// </summary>
128+
public GetStatusResponse GetStatus(IGetStatusRequest request) => DoRequest<IGetStatusRequest, GetStatusResponse>(request, request.RequestParameters);
129+
/// <summary>
130+
/// <c>GET</c> request to the <c>slm.get_status</c> API, read more about this API online:
131+
/// <para></para>
132+
/// <a href = "https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-get-status.html">https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-get-status.html</a>
133+
/// </summary>
134+
public Task<GetStatusResponse> GetStatusAsync(IGetStatusRequest request, CancellationToken ct = default) => DoRequestAsync<IGetStatusRequest, GetStatusResponse>(request, request.RequestParameters, ct);
135+
/// <summary>
112136
/// <c>PUT</c> request to the <c>slm.put_lifecycle</c> API, read more about this API online:
113137
/// <para></para>
114138
/// <a href = "https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-put.html">https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-put.html</a>
@@ -132,5 +156,53 @@ internal SnapshotLifecycleManagementNamespace(ElasticClient client): base(client
132156
/// <a href = "https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-put.html">https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-api-put.html</a>
133157
/// </summary>
134158
public Task<PutSnapshotLifecycleResponse> PutSnapshotLifecycleAsync(IPutSnapshotLifecycleRequest request, CancellationToken ct = default) => DoRequestAsync<IPutSnapshotLifecycleRequest, PutSnapshotLifecycleResponse>(request, request.RequestParameters, ct);
159+
/// <summary>
160+
/// <c>POST</c> request to the <c>slm.start</c> API, read more about this API online:
161+
/// <para></para>
162+
/// <a href = "https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-start.html">https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-start.html</a>
163+
/// </summary>
164+
public StartResponse Start(Func<StartDescriptor, IStartRequest> selector = null) => Start(selector.InvokeOrDefault(new StartDescriptor()));
165+
/// <summary>
166+
/// <c>POST</c> request to the <c>slm.start</c> API, read more about this API online:
167+
/// <para></para>
168+
/// <a href = "https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-start.html">https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-start.html</a>
169+
/// </summary>
170+
public Task<StartResponse> StartAsync(Func<StartDescriptor, IStartRequest> selector = null, CancellationToken ct = default) => StartAsync(selector.InvokeOrDefault(new StartDescriptor()), ct);
171+
/// <summary>
172+
/// <c>POST</c> request to the <c>slm.start</c> API, read more about this API online:
173+
/// <para></para>
174+
/// <a href = "https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-start.html">https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-start.html</a>
175+
/// </summary>
176+
public StartResponse Start(IStartRequest request) => DoRequest<IStartRequest, StartResponse>(request, request.RequestParameters);
177+
/// <summary>
178+
/// <c>POST</c> request to the <c>slm.start</c> API, read more about this API online:
179+
/// <para></para>
180+
/// <a href = "https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-start.html">https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-start.html</a>
181+
/// </summary>
182+
public Task<StartResponse> StartAsync(IStartRequest request, CancellationToken ct = default) => DoRequestAsync<IStartRequest, StartResponse>(request, request.RequestParameters, ct);
183+
/// <summary>
184+
/// <c>POST</c> request to the <c>slm.stop</c> API, read more about this API online:
185+
/// <para></para>
186+
/// <a href = "https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-stop.html">https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-stop.html</a>
187+
/// </summary>
188+
public StopResponse Stop(Func<StopDescriptor, IStopRequest> selector = null) => Stop(selector.InvokeOrDefault(new StopDescriptor()));
189+
/// <summary>
190+
/// <c>POST</c> request to the <c>slm.stop</c> API, read more about this API online:
191+
/// <para></para>
192+
/// <a href = "https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-stop.html">https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-stop.html</a>
193+
/// </summary>
194+
public Task<StopResponse> StopAsync(Func<StopDescriptor, IStopRequest> selector = null, CancellationToken ct = default) => StopAsync(selector.InvokeOrDefault(new StopDescriptor()), ct);
195+
/// <summary>
196+
/// <c>POST</c> request to the <c>slm.stop</c> API, read more about this API online:
197+
/// <para></para>
198+
/// <a href = "https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-stop.html">https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-stop.html</a>
199+
/// </summary>
200+
public StopResponse Stop(IStopRequest request) => DoRequest<IStopRequest, StopResponse>(request, request.RequestParameters);
201+
/// <summary>
202+
/// <c>POST</c> request to the <c>slm.stop</c> API, read more about this API online:
203+
/// <para></para>
204+
/// <a href = "https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-stop.html">https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-stop.html</a>
205+
/// </summary>
206+
public Task<StopResponse> StopAsync(IStopRequest request, CancellationToken ct = default) => DoRequestAsync<IStopRequest, StopResponse>(request, request.RequestParameters, ct);
135207
}
136208
}

src/Nest/Requests.SnapshotLifecycleManagement.cs

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,23 @@ public GetSnapshotLifecycleRequest(): base()
129129
// Request parameters
130130
}
131131

132+
[InterfaceDataContract]
133+
public partial interface IGetStatusRequest : IRequest<GetStatusRequestParameters>
134+
{
135+
}
136+
137+
///<summary>Request for GetStatus <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-get-status.html</para></summary>
138+
public partial class GetStatusRequest : PlainRequestBase<GetStatusRequestParameters>, IGetStatusRequest
139+
{
140+
protected IGetStatusRequest Self => this;
141+
internal override ApiUrls ApiUrls => ApiUrlsLookups.SnapshotLifecycleManagementGetStatus;
142+
// values part of the url path
143+
// Request parameters
144+
[Obsolete("Unmapped, blacklist this API in CodeConfiguration.cs or implement GetStatusDescriptor and GetStatusRequest in a file called GetStatusRequest.cs in NEST's codebase", true)]
145+
public bool IsUnmapped => true;
146+
public bool UseIsUnmapped => IsUnmapped;
147+
}
148+
132149
[InterfaceDataContract]
133150
public partial interface IPutSnapshotLifecycleRequest : IRequest<PutSnapshotLifecycleRequestParameters>
134151
{
@@ -161,4 +178,38 @@ protected PutSnapshotLifecycleRequest(): base()
161178
Id IPutSnapshotLifecycleRequest.PolicyId => Self.RouteValues.Get<Id>("policy_id");
162179
// Request parameters
163180
}
181+
182+
[InterfaceDataContract]
183+
public partial interface IStartRequest : IRequest<StartRequestParameters>
184+
{
185+
}
186+
187+
///<summary>Request for Start <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-start.html</para></summary>
188+
public partial class StartRequest : PlainRequestBase<StartRequestParameters>, IStartRequest
189+
{
190+
protected IStartRequest Self => this;
191+
internal override ApiUrls ApiUrls => ApiUrlsLookups.SnapshotLifecycleManagementStart;
192+
// values part of the url path
193+
// Request parameters
194+
[Obsolete("Unmapped, blacklist this API in CodeConfiguration.cs or implement StartDescriptor and StartRequest in a file called StartRequest.cs in NEST's codebase", true)]
195+
public bool IsUnmapped => true;
196+
public bool UseIsUnmapped => IsUnmapped;
197+
}
198+
199+
[InterfaceDataContract]
200+
public partial interface IStopRequest : IRequest<StopRequestParameters>
201+
{
202+
}
203+
204+
///<summary>Request for Stop <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/slm-stop.html</para></summary>
205+
public partial class StopRequest : PlainRequestBase<StopRequestParameters>, IStopRequest
206+
{
207+
protected IStopRequest Self => this;
208+
internal override ApiUrls ApiUrls => ApiUrlsLookups.SnapshotLifecycleManagementStop;
209+
// values part of the url path
210+
// Request parameters
211+
[Obsolete("Unmapped, blacklist this API in CodeConfiguration.cs or implement StopDescriptor and StopRequest in a file called StopRequest.cs in NEST's codebase", true)]
212+
public bool IsUnmapped => true;
213+
public bool UseIsUnmapped => IsUnmapped;
214+
}
164215
}

0 commit comments

Comments
 (0)