Skip to content

Commit 74d8642

Browse files
authored
Adds support for get_basic_license_status and start_basic_license API's (#3534)
* Adds support for get_basic_license_status and start_basic_license API's * fix code standards not liking Acknowledge not bein readonly and not castableto IDictionary * all of instead of all
1 parent c7dc984 commit 74d8642

18 files changed

+470
-2
lines changed

src/CodeGeneration/ApiGenerator/ApiGenerator.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@ public class ApiGenerator
2727
"rank_eval.json",
2828

2929
// these API's are new and need to be mapped
30-
"xpack.license.get_basic_status.json",
31-
"xpack.license.post_start_basic.json",
3230
"xpack.ml.delete_calendar.json",
3331
"xpack.ml.delete_calendar_event.json",
3432
"xpack.ml.delete_calendar_job.json",

src/Elasticsearch.Net/Domain/RequestParameters/RequestParameters.Generated.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2215,6 +2215,11 @@ public partial class GetLicenseRequestParameters : RequestParameters<GetLicenseR
22152215
///<summary>Return local information, do not retrieve the state from master node (default: false)</summary>
22162216
public bool? Local { get => Q<bool?>("local"); set => Q("local", value); }
22172217
}
2218+
///<summary>Request options for XpackLicenseGetBasicStatus<pre>https://www.elastic.co/guide/en/x-pack/current/license-management.html</pre></summary>
2219+
public partial class GetBasicLicenseStatusRequestParameters : RequestParameters<GetBasicLicenseStatusRequestParameters>
2220+
{
2221+
public override HttpMethod DefaultHttpMethod => HttpMethod.GET;
2222+
}
22182223
///<summary>Request options for XpackLicenseGetTrialStatus<pre>https://www.elastic.co/guide/en/x-pack/current/license-management.html</pre></summary>
22192224
public partial class GetTrialLicenseStatusRequestParameters : RequestParameters<GetTrialLicenseStatusRequestParameters>
22202225
{
@@ -2227,6 +2232,13 @@ public partial class PostLicenseRequestParameters : RequestParameters<PostLicens
22272232
///<summary>whether the user has acknowledged acknowledge messages (default: false)</summary>
22282233
public bool? Acknowledge { get => Q<bool?>("acknowledge"); set => Q("acknowledge", value); }
22292234
}
2235+
///<summary>Request options for XpackLicensePostStartBasic<pre>https://www.elastic.co/guide/en/x-pack/current/license-management.html</pre></summary>
2236+
public partial class StartBasicLicenseRequestParameters : RequestParameters<StartBasicLicenseRequestParameters>
2237+
{
2238+
public override HttpMethod DefaultHttpMethod => HttpMethod.POST;
2239+
///<summary>whether the user has acknowledged acknowledge messages (default: false)</summary>
2240+
public bool? Acknowledge { get => Q<bool?>("acknowledge"); set => Q("acknowledge", value); }
2241+
}
22302242
///<summary>Request options for XpackLicensePostStartTrial<pre>https://www.elastic.co/guide/en/x-pack/current/license-management.html</pre></summary>
22312243
public partial class StartTrialLicenseRequestParameters : RequestParameters<StartTrialLicenseRequestParameters>
22322244
{

src/Elasticsearch.Net/ElasticLowLevelClient.Generated.cs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2992,6 +2992,14 @@ public TResponse XpackLicenseGet<TResponse>(GetLicenseRequestParameters requestP
29922992
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
29932993
public Task<TResponse> XpackLicenseGetAsync<TResponse>(GetLicenseRequestParameters requestParameters = null, CancellationToken ctx = default(CancellationToken))
29942994
where TResponse : class, IElasticsearchResponse, new() => this.DoRequestAsync<TResponse>(GET, Url($"_xpack/license"), ctx, null, _params(requestParameters));
2995+
///<summary>GET on /_xpack/license/basic_status <para>https://www.elastic.co/guide/en/x-pack/current/license-management.html</para></summary>
2996+
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
2997+
public TResponse XpackLicenseGetBasicStatus<TResponse>(GetBasicLicenseStatusRequestParameters requestParameters = null)
2998+
where TResponse : class, IElasticsearchResponse, new() => this.DoRequest<TResponse>(GET, Url($"_xpack/license/basic_status"), null, _params(requestParameters));
2999+
///<summary>GET on /_xpack/license/basic_status <para>https://www.elastic.co/guide/en/x-pack/current/license-management.html</para></summary>
3000+
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
3001+
public Task<TResponse> XpackLicenseGetBasicStatusAsync<TResponse>(GetBasicLicenseStatusRequestParameters requestParameters = null, CancellationToken ctx = default(CancellationToken))
3002+
where TResponse : class, IElasticsearchResponse, new() => this.DoRequestAsync<TResponse>(GET, Url($"_xpack/license/basic_status"), ctx, null, _params(requestParameters));
29953003
///<summary>GET on /_xpack/license/trial_status <para>https://www.elastic.co/guide/en/x-pack/current/license-management.html</para></summary>
29963004
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
29973005
public TResponse XpackLicenseGetTrialStatus<TResponse>(GetTrialLicenseStatusRequestParameters requestParameters = null)
@@ -3010,6 +3018,14 @@ public TResponse XpackLicensePost<TResponse>(PostData body, PostLicenseRequestPa
30103018
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
30113019
public Task<TResponse> XpackLicensePostAsync<TResponse>(PostData body, PostLicenseRequestParameters requestParameters = null, CancellationToken ctx = default(CancellationToken))
30123020
where TResponse : class, IElasticsearchResponse, new() => this.DoRequestAsync<TResponse>(PUT, Url($"_xpack/license"), ctx, body, _params(requestParameters));
3021+
///<summary>POST on /_xpack/license/start_basic <para>https://www.elastic.co/guide/en/x-pack/current/license-management.html</para></summary>
3022+
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
3023+
public TResponse XpackLicensePostStartBasic<TResponse>(StartBasicLicenseRequestParameters requestParameters = null)
3024+
where TResponse : class, IElasticsearchResponse, new() => this.DoRequest<TResponse>(POST, Url($"_xpack/license/start_basic"), null, _params(requestParameters));
3025+
///<summary>POST on /_xpack/license/start_basic <para>https://www.elastic.co/guide/en/x-pack/current/license-management.html</para></summary>
3026+
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
3027+
public Task<TResponse> XpackLicensePostStartBasicAsync<TResponse>(StartBasicLicenseRequestParameters requestParameters = null, CancellationToken ctx = default(CancellationToken))
3028+
where TResponse : class, IElasticsearchResponse, new() => this.DoRequestAsync<TResponse>(POST, Url($"_xpack/license/start_basic"), ctx, null, _params(requestParameters));
30133029
///<summary>POST on /_xpack/license/start_trial <para>https://www.elastic.co/guide/en/x-pack/current/license-management.html</para></summary>
30143030
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
30153031
public TResponse XpackLicensePostStartTrial<TResponse>(StartTrialLicenseRequestParameters requestParameters = null)

src/Elasticsearch.Net/IElasticLowLevelClient.Generated.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2426,6 +2426,12 @@ public partial interface IElasticLowLevelClient
24262426
///<summary>GET on /_xpack/license <para>https://www.elastic.co/guide/en/x-pack/current/license-management.html</para></summary>
24272427
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
24282428
Task<TResponse> XpackLicenseGetAsync<TResponse>(GetLicenseRequestParameters requestParameters = null, CancellationToken ctx = default(CancellationToken)) where TResponse : class, IElasticsearchResponse, new();
2429+
///<summary>GET on /_xpack/license/basic_status <para>https://www.elastic.co/guide/en/x-pack/current/license-management.html</para></summary>
2430+
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
2431+
TResponse XpackLicenseGetBasicStatus<TResponse>(GetBasicLicenseStatusRequestParameters requestParameters = null) where TResponse : class, IElasticsearchResponse, new();
2432+
///<summary>GET on /_xpack/license/basic_status <para>https://www.elastic.co/guide/en/x-pack/current/license-management.html</para></summary>
2433+
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
2434+
Task<TResponse> XpackLicenseGetBasicStatusAsync<TResponse>(GetBasicLicenseStatusRequestParameters requestParameters = null, CancellationToken ctx = default(CancellationToken)) where TResponse : class, IElasticsearchResponse, new();
24292435
///<summary>GET on /_xpack/license/trial_status <para>https://www.elastic.co/guide/en/x-pack/current/license-management.html</para></summary>
24302436
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
24312437
TResponse XpackLicenseGetTrialStatus<TResponse>(GetTrialLicenseStatusRequestParameters requestParameters = null) where TResponse : class, IElasticsearchResponse, new();
@@ -2440,6 +2446,12 @@ public partial interface IElasticLowLevelClient
24402446
///<param name="body">licenses to be installed</param>
24412447
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
24422448
Task<TResponse> XpackLicensePostAsync<TResponse>(PostData body, PostLicenseRequestParameters requestParameters = null, CancellationToken ctx = default(CancellationToken)) where TResponse : class, IElasticsearchResponse, new();
2449+
///<summary>POST on /_xpack/license/start_basic <para>https://www.elastic.co/guide/en/x-pack/current/license-management.html</para></summary>
2450+
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
2451+
TResponse XpackLicensePostStartBasic<TResponse>(StartBasicLicenseRequestParameters requestParameters = null) where TResponse : class, IElasticsearchResponse, new();
2452+
///<summary>POST on /_xpack/license/start_basic <para>https://www.elastic.co/guide/en/x-pack/current/license-management.html</para></summary>
2453+
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
2454+
Task<TResponse> XpackLicensePostStartBasicAsync<TResponse>(StartBasicLicenseRequestParameters requestParameters = null, CancellationToken ctx = default(CancellationToken)) where TResponse : class, IElasticsearchResponse, new();
24432455
///<summary>POST on /_xpack/license/start_trial <para>https://www.elastic.co/guide/en/x-pack/current/license-management.html</para></summary>
24442456
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
24452457
TResponse XpackLicensePostStartTrial<TResponse>(StartTrialLicenseRequestParameters requestParameters = null) where TResponse : class, IElasticsearchResponse, new();
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
using System;
2+
using System.Threading;
3+
using System.Threading.Tasks;
4+
using Elasticsearch.Net;
5+
6+
namespace Nest
7+
{
8+
public partial interface IElasticClient
9+
{
10+
/// <summary>This API enables you to check the status of your basic license</summary>
11+
IGetBasicLicenseStatusResponse GetBasicLicenseStatus(Func<GetBasicLicenseStatusDescriptor, IGetBasicLicenseStatusRequest> selector = null);
12+
13+
/// <inheritdoc see cref="GetBasicLicenseStatus(System.Func{Nest.GetBasicLicenseStatusDescriptor,Nest.IGetBasicLicenseStatusRequest})"/>
14+
IGetBasicLicenseStatusResponse GetBasicLicenseStatus(IGetBasicLicenseStatusRequest request);
15+
16+
/// <inheritdoc see cref="GetBasicLicenseStatus(System.Func{Nest.GetBasicLicenseStatusDescriptor,Nest.IGetBasicLicenseStatusRequest})"/>
17+
Task<IGetBasicLicenseStatusResponse> GetBasicLicenseStatusAsync(Func<GetBasicLicenseStatusDescriptor, IGetBasicLicenseStatusRequest> selector = null,
18+
CancellationToken cancellationToken = default
19+
);
20+
21+
/// <inheritdoc see cref="GetBasicLicenseStatus(System.Func{Nest.GetBasicLicenseStatusDescriptor,Nest.IGetBasicLicenseStatusRequest})"/>
22+
Task<IGetBasicLicenseStatusResponse> GetBasicLicenseStatusAsync(IGetBasicLicenseStatusRequest request, CancellationToken cancellationToken = default);
23+
}
24+
25+
public partial class ElasticClient
26+
{
27+
/// <inheritdoc see cref="GetBasicLicenseStatus(System.Func{Nest.GetBasicLicenseStatusDescriptor,Nest.IGetBasicLicenseStatusRequest})"/>
28+
public IGetBasicLicenseStatusResponse GetBasicLicenseStatus(Func<GetBasicLicenseStatusDescriptor, IGetBasicLicenseStatusRequest> selector = null) =>
29+
GetBasicLicenseStatus(selector.InvokeOrDefault(new GetBasicLicenseStatusDescriptor()));
30+
31+
/// <inheritdoc see cref="GetBasicLicenseStatus(System.Func{Nest.GetBasicLicenseStatusDescriptor,Nest.IGetBasicLicenseStatusRequest})"/>
32+
public IGetBasicLicenseStatusResponse GetBasicLicenseStatus(IGetBasicLicenseStatusRequest request) =>
33+
Dispatcher.Dispatch<IGetBasicLicenseStatusRequest, GetBasicLicenseStatusRequestParameters, GetBasicLicenseStatusResponse>(
34+
request,
35+
(p, d) => LowLevelDispatch.XpackLicenseGetBasicStatusDispatch<GetBasicLicenseStatusResponse>(p)
36+
);
37+
38+
/// <inheritdoc see cref="GetBasicLicenseStatus(System.Func{Nest.GetBasicLicenseStatusDescriptor,Nest.IGetBasicLicenseStatusRequest})"/>
39+
public Task<IGetBasicLicenseStatusResponse> GetBasicLicenseStatusAsync(Func<GetBasicLicenseStatusDescriptor, IGetBasicLicenseStatusRequest> selector = null,
40+
CancellationToken cancellationToken = default
41+
) =>
42+
GetBasicLicenseStatusAsync(selector.InvokeOrDefault(new GetBasicLicenseStatusDescriptor()), cancellationToken);
43+
44+
/// <inheritdoc see cref="GetBasicLicenseStatus(System.Func{Nest.GetBasicLicenseStatusDescriptor,Nest.IGetBasicLicenseStatusRequest})"/>
45+
public Task<IGetBasicLicenseStatusResponse> GetBasicLicenseStatusAsync(IGetBasicLicenseStatusRequest request, CancellationToken cancellationToken = default
46+
) =>
47+
Dispatcher.DispatchAsync<IGetBasicLicenseStatusRequest, GetBasicLicenseStatusRequestParameters, GetBasicLicenseStatusResponse, IGetBasicLicenseStatusResponse>(
48+
request,
49+
cancellationToken,
50+
(p, d, c) => LowLevelDispatch.XpackLicenseGetBasicStatusDispatchAsync<GetBasicLicenseStatusResponse>(p, c)
51+
);
52+
}
53+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
namespace Nest
2+
{
3+
/// <summary>This API enables you to check the status of your basic license</summary>
4+
[MapsApi("xpack.license.get_basic_status.json")]
5+
public partial interface IGetBasicLicenseStatusRequest { }
6+
7+
/// <inheritdoc cref="IGetBasicLicenseStatusRequest"/>
8+
public partial class GetBasicLicenseStatusRequest { }
9+
10+
/// <inheritdoc cref="IGetBasicLicenseStatusRequest"/>
11+
public partial class GetBasicLicenseStatusDescriptor { }
12+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
using System;
2+
using System.IO;
3+
using Newtonsoft.Json;
4+
5+
namespace Nest
6+
{
7+
public interface IGetBasicLicenseStatusResponse : IResponse
8+
{
9+
[JsonProperty("eligible_to_start_basic")]
10+
bool EligableToStartBasic { get; }
11+
}
12+
13+
public class GetBasicLicenseStatusResponse : ResponseBase, IGetBasicLicenseStatusResponse
14+
{
15+
public bool EligableToStartBasic { get; internal set; }
16+
}
17+
18+
}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
using System;
2+
using System.Threading;
3+
using System.Threading.Tasks;
4+
using Elasticsearch.Net;
5+
6+
namespace Nest
7+
{
8+
public partial interface IElasticClient
9+
{
10+
/// <summary>
11+
/// The start basic API enables you to initiate an indefinite basic license, which gives access to all of
12+
/// the basic features. If the basic license does not support all of the features that are
13+
/// available with your current license, however, you are notified in the response. You must then
14+
/// re-submit the API request with the acknowledge parameter set to true.
15+
/// </summary>
16+
IStartBasicLicenseResponse StartBasicLicense(Func<StartBasicLicenseDescriptor, IStartBasicLicenseRequest> selector = null);
17+
18+
/// <inheritdoc cref="StartBasicLicense(System.Func{Nest.StartBasicLicenseDescriptor,Nest.IStartBasicLicenseRequest})"/>
19+
IStartBasicLicenseResponse StartBasicLicense(IStartBasicLicenseRequest request);
20+
21+
/// <inheritdoc cref="StartBasicLicense(System.Func{Nest.StartBasicLicenseDescriptor,Nest.IStartBasicLicenseRequest})"/>
22+
Task<IStartBasicLicenseResponse> StartBasicLicenseAsync(Func<StartBasicLicenseDescriptor, IStartBasicLicenseRequest> selector = null,
23+
CancellationToken cancellationToken = default
24+
);
25+
26+
/// <inheritdoc cref="StartBasicLicense(System.Func{Nest.StartBasicLicenseDescriptor,Nest.IStartBasicLicenseRequest})"/>
27+
Task<IStartBasicLicenseResponse> StartBasicLicenseAsync(IStartBasicLicenseRequest request, CancellationToken cancellationToken = default);
28+
}
29+
30+
public partial class ElasticClient
31+
{
32+
/// <inheritdoc cref="StartBasicLicense(System.Func{Nest.StartBasicLicenseDescriptor,Nest.IStartBasicLicenseRequest})"/>
33+
public IStartBasicLicenseResponse StartBasicLicense(Func<StartBasicLicenseDescriptor, IStartBasicLicenseRequest> selector = null) =>
34+
StartBasicLicense(selector.InvokeOrDefault(new StartBasicLicenseDescriptor()));
35+
36+
/// <inheritdoc cref="StartBasicLicense(System.Func{Nest.StartBasicLicenseDescriptor,Nest.IStartBasicLicenseRequest})"/>
37+
public IStartBasicLicenseResponse StartBasicLicense(IStartBasicLicenseRequest request) =>
38+
Dispatcher.Dispatch<IStartBasicLicenseRequest, StartBasicLicenseRequestParameters, StartBasicLicenseResponse>(
39+
request,
40+
(p, d) => LowLevelDispatch.XpackLicensePostStartBasicDispatch<StartBasicLicenseResponse>(p)
41+
);
42+
43+
/// <inheritdoc cref="StartBasicLicense(System.Func{Nest.StartBasicLicenseDescriptor,Nest.IStartBasicLicenseRequest})"/>
44+
public Task<IStartBasicLicenseResponse> StartBasicLicenseAsync(Func<StartBasicLicenseDescriptor, IStartBasicLicenseRequest> selector = null,
45+
CancellationToken cancellationToken = default
46+
) =>
47+
StartBasicLicenseAsync(selector.InvokeOrDefault(new StartBasicLicenseDescriptor()), cancellationToken);
48+
49+
/// <inheritdoc cref="StartBasicLicense(System.Func{Nest.StartBasicLicenseDescriptor,Nest.IStartBasicLicenseRequest})"/>
50+
public Task<IStartBasicLicenseResponse> StartBasicLicenseAsync(IStartBasicLicenseRequest request, CancellationToken cancellationToken = default
51+
) =>
52+
Dispatcher.DispatchAsync<IStartBasicLicenseRequest, StartBasicLicenseRequestParameters, StartBasicLicenseResponse, IStartBasicLicenseResponse>(
53+
request,
54+
cancellationToken,
55+
(p, d, c) => LowLevelDispatch.XpackLicensePostStartBasicDispatchAsync<StartBasicLicenseResponse>(p, c)
56+
);
57+
}
58+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
namespace Nest
2+
{
3+
/// <summary>
4+
/// The start basic API enables you to initiate an indefinite basic license, which gives access to all
5+
/// the basic features. If the basic license does not support all of the features that are
6+
/// available with your current license, however, you are notified in the response. You must then
7+
/// re-submit the API request with the acknowledge parameter set to true.
8+
/// </summary>
9+
[MapsApi("xpack.license.post_start_basic.json")]
10+
public partial interface IStartBasicLicenseRequest { }
11+
12+
/// <inheritdoc cref="IStartBasicLicenseRequest"/>
13+
public partial class StartBasicLicenseRequest { }
14+
15+
/// <inheritdoc cref="IStartBasicLicenseRequest"/>
16+
public partial class StartBasicLicenseDescriptor { }
17+
}

0 commit comments

Comments
 (0)