Skip to content

Commit aee5af6

Browse files
committed
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 (cherry picked from commit ee6cee7)
1 parent 243b1f5 commit aee5af6

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
@@ -26,8 +26,6 @@ public class ApiGenerator
2626
//"rank_eval.json",
2727

2828
// these API's are new and need to be mapped
29-
"xpack.license.get_basic_status.json",
30-
"xpack.license.post_start_basic.json",
3129
"xpack.ml.delete_calendar.json",
3230
"xpack.ml.delete_calendar_event.json",
3331
"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
@@ -2229,6 +2229,11 @@ public class GetLicenseRequestParameters : RequestParameters<GetLicenseRequestPa
22292229
///<summary>Return local information, do not retrieve the state from master node (default: false)</summary>
22302230
public bool? Local { get => Q<bool?>("local"); set => Q("local", value); }
22312231
}
2232+
///<summary>Request options for XpackLicenseGetBasicStatus<pre>https://www.elastic.co/guide/en/x-pack/current/license-management.html</pre></summary>
2233+
public partial class GetBasicLicenseStatusRequestParameters : RequestParameters<GetBasicLicenseStatusRequestParameters>
2234+
{
2235+
public override HttpMethod DefaultHttpMethod => HttpMethod.GET;
2236+
}
22322237
///<summary>Request options for XpackLicenseGetTrialStatus<pre>https://www.elastic.co/guide/en/x-pack/current/license-management.html</pre></summary>
22332238
public class GetTrialLicenseStatusRequestParameters : RequestParameters<GetTrialLicenseStatusRequestParameters>
22342239
{
@@ -2241,6 +2246,13 @@ public class PostLicenseRequestParameters : RequestParameters<PostLicenseRequest
22412246
///<summary>whether the user has acknowledged acknowledge messages (default: false)</summary>
22422247
public bool? Acknowledge { get => Q<bool?>("acknowledge"); set => Q("acknowledge", value); }
22432248
}
2249+
///<summary>Request options for XpackLicensePostStartBasic<pre>https://www.elastic.co/guide/en/x-pack/current/license-management.html</pre></summary>
2250+
public partial class StartBasicLicenseRequestParameters : RequestParameters<StartBasicLicenseRequestParameters>
2251+
{
2252+
public override HttpMethod DefaultHttpMethod => HttpMethod.POST;
2253+
///<summary>whether the user has acknowledged acknowledge messages (default: false)</summary>
2254+
public bool? Acknowledge { get => Q<bool?>("acknowledge"); set => Q("acknowledge", value); }
2255+
}
22442256
///<summary>Request options for XpackLicensePostStartTrial<pre>https://www.elastic.co/guide/en/x-pack/current/license-management.html</pre></summary>
22452257
public class StartTrialLicenseRequestParameters : RequestParameters<StartTrialLicenseRequestParameters>
22462258
{

src/Elasticsearch.Net/ElasticLowLevelClient.Generated.cs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3032,6 +3032,14 @@ public TResponse XpackLicenseGet<TResponse>(GetLicenseRequestParameters requestP
30323032
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
30333033
public Task<TResponse> XpackLicenseGetAsync<TResponse>(GetLicenseRequestParameters requestParameters = null, CancellationToken ctx = default(CancellationToken))
30343034
where TResponse : class, IElasticsearchResponse, new() => this.DoRequestAsync<TResponse>(GET, Url($"_xpack/license"), ctx, null, _params(requestParameters));
3035+
///<summary>GET on /_xpack/license/basic_status <para>https://www.elastic.co/guide/en/x-pack/current/license-management.html</para></summary>
3036+
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
3037+
public TResponse XpackLicenseGetBasicStatus<TResponse>(GetBasicLicenseStatusRequestParameters requestParameters = null)
3038+
where TResponse : class, IElasticsearchResponse, new() => this.DoRequest<TResponse>(GET, Url($"_xpack/license/basic_status"), null, _params(requestParameters));
3039+
///<summary>GET on /_xpack/license/basic_status <para>https://www.elastic.co/guide/en/x-pack/current/license-management.html</para></summary>
3040+
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
3041+
public Task<TResponse> XpackLicenseGetBasicStatusAsync<TResponse>(GetBasicLicenseStatusRequestParameters requestParameters = null, CancellationToken ctx = default(CancellationToken))
3042+
where TResponse : class, IElasticsearchResponse, new() => this.DoRequestAsync<TResponse>(GET, Url($"_xpack/license/basic_status"), ctx, null, _params(requestParameters));
30353043
///<summary>GET on /_xpack/license/trial_status <para>https://www.elastic.co/guide/en/x-pack/current/license-management.html</para></summary>
30363044
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
30373045
public TResponse XpackLicenseGetTrialStatus<TResponse>(GetTrialLicenseStatusRequestParameters requestParameters = null)
@@ -3050,6 +3058,14 @@ public TResponse XpackLicensePost<TResponse>(PostData body, PostLicenseRequestPa
30503058
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
30513059
public Task<TResponse> XpackLicensePostAsync<TResponse>(PostData body, PostLicenseRequestParameters requestParameters = null, CancellationToken ctx = default(CancellationToken))
30523060
where TResponse : class, IElasticsearchResponse, new() => this.DoRequestAsync<TResponse>(PUT, Url($"_xpack/license"), ctx, body, _params(requestParameters));
3061+
///<summary>POST on /_xpack/license/start_basic <para>https://www.elastic.co/guide/en/x-pack/current/license-management.html</para></summary>
3062+
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
3063+
public TResponse XpackLicensePostStartBasic<TResponse>(StartBasicLicenseRequestParameters requestParameters = null)
3064+
where TResponse : class, IElasticsearchResponse, new() => this.DoRequest<TResponse>(POST, Url($"_xpack/license/start_basic"), null, _params(requestParameters));
3065+
///<summary>POST on /_xpack/license/start_basic <para>https://www.elastic.co/guide/en/x-pack/current/license-management.html</para></summary>
3066+
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
3067+
public Task<TResponse> XpackLicensePostStartBasicAsync<TResponse>(StartBasicLicenseRequestParameters requestParameters = null, CancellationToken ctx = default(CancellationToken))
3068+
where TResponse : class, IElasticsearchResponse, new() => this.DoRequestAsync<TResponse>(POST, Url($"_xpack/license/start_basic"), ctx, null, _params(requestParameters));
30533069
///<summary>POST on /_xpack/license/start_trial <para>https://www.elastic.co/guide/en/x-pack/current/license-management.html</para></summary>
30543070
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
30553071
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
@@ -2458,6 +2458,12 @@ public partial interface IElasticLowLevelClient
24582458
///<summary>GET on /_xpack/license <para>https://www.elastic.co/guide/en/x-pack/current/license-management.html</para></summary>
24592459
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
24602460
Task<TResponse> XpackLicenseGetAsync<TResponse>(GetLicenseRequestParameters requestParameters = null, CancellationToken ctx = default(CancellationToken)) where TResponse : class, IElasticsearchResponse, new();
2461+
///<summary>GET on /_xpack/license/basic_status <para>https://www.elastic.co/guide/en/x-pack/current/license-management.html</para></summary>
2462+
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
2463+
TResponse XpackLicenseGetBasicStatus<TResponse>(GetBasicLicenseStatusRequestParameters requestParameters = null) where TResponse : class, IElasticsearchResponse, new();
2464+
///<summary>GET on /_xpack/license/basic_status <para>https://www.elastic.co/guide/en/x-pack/current/license-management.html</para></summary>
2465+
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
2466+
Task<TResponse> XpackLicenseGetBasicStatusAsync<TResponse>(GetBasicLicenseStatusRequestParameters requestParameters = null, CancellationToken ctx = default(CancellationToken)) where TResponse : class, IElasticsearchResponse, new();
24612467
///<summary>GET on /_xpack/license/trial_status <para>https://www.elastic.co/guide/en/x-pack/current/license-management.html</para></summary>
24622468
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
24632469
TResponse XpackLicenseGetTrialStatus<TResponse>(GetTrialLicenseStatusRequestParameters requestParameters = null) where TResponse : class, IElasticsearchResponse, new();
@@ -2472,6 +2478,12 @@ public partial interface IElasticLowLevelClient
24722478
///<param name="body">licenses to be installed</param>
24732479
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
24742480
Task<TResponse> XpackLicensePostAsync<TResponse>(PostData body, PostLicenseRequestParameters requestParameters = null, CancellationToken ctx = default(CancellationToken)) where TResponse : class, IElasticsearchResponse, new();
2481+
///<summary>POST on /_xpack/license/start_basic <para>https://www.elastic.co/guide/en/x-pack/current/license-management.html</para></summary>
2482+
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
2483+
TResponse XpackLicensePostStartBasic<TResponse>(StartBasicLicenseRequestParameters requestParameters = null) where TResponse : class, IElasticsearchResponse, new();
2484+
///<summary>POST on /_xpack/license/start_basic <para>https://www.elastic.co/guide/en/x-pack/current/license-management.html</para></summary>
2485+
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
2486+
Task<TResponse> XpackLicensePostStartBasicAsync<TResponse>(StartBasicLicenseRequestParameters requestParameters = null, CancellationToken ctx = default(CancellationToken)) where TResponse : class, IElasticsearchResponse, new();
24752487
///<summary>POST on /_xpack/license/start_trial <para>https://www.elastic.co/guide/en/x-pack/current/license-management.html</para></summary>
24762488
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
24772489
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)