Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 12 additions & 2 deletions src/CodeGeneration/ApiGenerator/ApiGenerator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,8 @@ public static void Generate(string downloadBranch, params string[] folders)
"xpack.ml.get_calendar_job.json",

//"xpack.rollup.rollup_search.json",
"xpack.rollup.get_rollup_caps.json",
"xpack.rollup.get_rollup_index_caps.json",
//"xpack.rollup.get_rollup_caps.json",
//"xpack.rollup.get_rollup_index_caps.json",

"xpack.sql.clear_cursor.json",
"xpack.sql.query.json",
Expand Down Expand Up @@ -169,10 +169,20 @@ private static void PatchOfficialSpec(JObject original, string jsonFile)

var patchedJson = JObject.Parse(File.ReadAllText(patchFile));

var pathsOverride = patchedJson.SelectToken("*.url.paths");

original.Merge(patchedJson, new JsonMergeSettings
{
MergeArrayHandling = MergeArrayHandling.Union
});

if (pathsOverride != null)
{
original.SelectToken("*.url.paths").Replace(pathsOverride);
}



}

private static Dictionary<string, ApiQueryParameters> CreateCommonApiQueryParameters(string jsonFile)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"xpack.rollup.get_rollup_caps": {
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/current/rollup-get-rollup-caps.html",
"url": {
"path": "/_xpack/rollup/data/{index}",
"paths": [ "/_xpack/rollup/data/{index}", "/_xpack/rollup/data/" ],
"parts": {
"index": {
"type": "list",
"required": false,
"description": " Index, indices or index-pattern to return rollup capabilities for. _all may be used to fetch rollup capabilities from all job"
}
}
}
}
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2441,6 +2441,11 @@ public partial class GetRollupJobRequestParameters : RequestParameters<GetRollup
{
public override HttpMethod DefaultHttpMethod => HttpMethod.GET;
}
///<summary>Request options for XpackRollupGetRollupCaps<pre>https://www.elastic.co/guide/en/elasticsearch/reference/current/rollup-get-rollup-caps.html</pre></summary>
public partial class GetRollupCapabilitiesRequestParameters : RequestParameters<GetRollupCapabilitiesRequestParameters>
{
public override HttpMethod DefaultHttpMethod => HttpMethod.GET;
}
///<summary>Request options for XpackRollupPutJob<pre></pre></summary>
public partial class CreateRollupJobRequestParameters : RequestParameters<CreateRollupJobRequestParameters>
{
Expand Down
18 changes: 18 additions & 0 deletions src/Elasticsearch.Net/ElasticLowLevelClient.Generated.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3570,6 +3570,24 @@ public TResponse XpackRollupGetJobs<TResponse>(GetRollupJobRequestParameters req
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
public Task<TResponse> XpackRollupGetJobsAsync<TResponse>(GetRollupJobRequestParameters requestParameters = null, CancellationToken ctx = default(CancellationToken))
where TResponse : class, IElasticsearchResponse, new() => this.DoRequestAsync<TResponse>(GET, Url($"_xpack/rollup/job/"), ctx, null, _params(requestParameters));
///<summary>GET on /_xpack/rollup/data/{index} <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/rollup-get-rollup-caps.html</para></summary>
///<param name="index"> Index, indices or index-pattern to return rollup capabilities for. _all may be used to fetch rollup capabilities from all job</param>
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
public TResponse XpackRollupGetRollupCaps<TResponse>(string index, GetRollupCapabilitiesRequestParameters requestParameters = null)
where TResponse : class, IElasticsearchResponse, new() => this.DoRequest<TResponse>(GET, Url($"_xpack/rollup/data/{index.NotNull("index")}"), null, _params(requestParameters));
///<summary>GET on /_xpack/rollup/data/{index} <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/rollup-get-rollup-caps.html</para></summary>
///<param name="index"> Index, indices or index-pattern to return rollup capabilities for. _all may be used to fetch rollup capabilities from all job</param>
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
public Task<TResponse> XpackRollupGetRollupCapsAsync<TResponse>(string index, GetRollupCapabilitiesRequestParameters requestParameters = null, CancellationToken ctx = default(CancellationToken))
where TResponse : class, IElasticsearchResponse, new() => this.DoRequestAsync<TResponse>(GET, Url($"_xpack/rollup/data/{index.NotNull("index")}"), ctx, null, _params(requestParameters));
///<summary>GET on /_xpack/rollup/data/ <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/rollup-get-rollup-caps.html</para></summary>
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
public TResponse XpackRollupGetRollupCaps<TResponse>(GetRollupCapabilitiesRequestParameters requestParameters = null)
where TResponse : class, IElasticsearchResponse, new() => this.DoRequest<TResponse>(GET, Url($"_xpack/rollup/data/"), null, _params(requestParameters));
///<summary>GET on /_xpack/rollup/data/ <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/rollup-get-rollup-caps.html</para></summary>
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
public Task<TResponse> XpackRollupGetRollupCapsAsync<TResponse>(GetRollupCapabilitiesRequestParameters requestParameters = null, CancellationToken ctx = default(CancellationToken))
where TResponse : class, IElasticsearchResponse, new() => this.DoRequestAsync<TResponse>(GET, Url($"_xpack/rollup/data/"), ctx, null, _params(requestParameters));
///<summary>PUT on /_xpack/rollup/job/{id} <para></para></summary>
///<param name="id">The ID of the job to create</param>
///<param name="body">The job configuration</param>
Expand Down
14 changes: 14 additions & 0 deletions src/Elasticsearch.Net/IElasticLowLevelClient.Generated.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2894,6 +2894,20 @@ public partial interface IElasticLowLevelClient
///<summary>GET on /_xpack/rollup/job/ <para></para></summary>
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
Task<TResponse> XpackRollupGetJobsAsync<TResponse>(GetRollupJobRequestParameters requestParameters = null, CancellationToken ctx = default(CancellationToken)) where TResponse : class, IElasticsearchResponse, new();
///<summary>GET on /_xpack/rollup/data/{index} <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/rollup-get-rollup-caps.html</para></summary>
///<param name="index"> Index, indices or index-pattern to return rollup capabilities for. _all may be used to fetch rollup capabilities from all job</param>
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
TResponse XpackRollupGetRollupCaps<TResponse>(string index, GetRollupCapabilitiesRequestParameters requestParameters = null) where TResponse : class, IElasticsearchResponse, new();
///<summary>GET on /_xpack/rollup/data/{index} <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/rollup-get-rollup-caps.html</para></summary>
///<param name="index"> Index, indices or index-pattern to return rollup capabilities for. _all may be used to fetch rollup capabilities from all job</param>
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
Task<TResponse> XpackRollupGetRollupCapsAsync<TResponse>(string index, GetRollupCapabilitiesRequestParameters requestParameters = null, CancellationToken ctx = default(CancellationToken)) where TResponse : class, IElasticsearchResponse, new();
///<summary>GET on /_xpack/rollup/data/ <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/rollup-get-rollup-caps.html</para></summary>
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
TResponse XpackRollupGetRollupCaps<TResponse>(GetRollupCapabilitiesRequestParameters requestParameters = null) where TResponse : class, IElasticsearchResponse, new();
///<summary>GET on /_xpack/rollup/data/ <para>https://www.elastic.co/guide/en/elasticsearch/reference/current/rollup-get-rollup-caps.html</para></summary>
///<param name="requestParameters">A func that allows you to describe the querystring parameters &amp; request specific connection settings.</param>
Task<TResponse> XpackRollupGetRollupCapsAsync<TResponse>(GetRollupCapabilitiesRequestParameters requestParameters = null, CancellationToken ctx = default(CancellationToken)) where TResponse : class, IElasticsearchResponse, new();
///<summary>PUT on /_xpack/rollup/job/{id} <para></para></summary>
///<param name="id">The ID of the job to create</param>
///<param name="body">The job configuration</param>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
using System;
using System.Threading.Tasks;
using Elasticsearch.Net;
using System.Threading;

namespace Nest
{
public partial interface IElasticClient
{
/// <inheritdoc/>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this should have a <summary> and other overloads inherit from it

IGetRollupCapabilitiesResponse GetRollupCapabilities(Func<GetRollupCapabilitiesDescriptor, IGetRollupCapabilitiesRequest> selector = null);

/// <inheritdoc/>
IGetRollupCapabilitiesResponse GetRollupCapabilities(IGetRollupCapabilitiesRequest request);

/// <inheritdoc/>
Task<IGetRollupCapabilitiesResponse> GetRollupCapabilitiesAsync(
Func<GetRollupCapabilitiesDescriptor, IGetRollupCapabilitiesRequest> selector = null, CancellationToken cancellationToken = default);

/// <inheritdoc/>
Task<IGetRollupCapabilitiesResponse> GetRollupCapabilitiesAsync(IGetRollupCapabilitiesRequest request, CancellationToken cancellationToken = default);
}

public partial class ElasticClient
{
/// <inheritdoc/>
public IGetRollupCapabilitiesResponse GetRollupCapabilities(Func<GetRollupCapabilitiesDescriptor, IGetRollupCapabilitiesRequest> selector = null) =>
this.GetRollupCapabilities(selector.InvokeOrDefault(new GetRollupCapabilitiesDescriptor()));

/// <inheritdoc/>
public IGetRollupCapabilitiesResponse GetRollupCapabilities(IGetRollupCapabilitiesRequest request) =>
this.Dispatcher.Dispatch<IGetRollupCapabilitiesRequest, GetRollupCapabilitiesRequestParameters, GetRollupCapabilitiesResponse>(
request,
(p, d) =>this.LowLevelDispatch.XpackRollupGetRollupCapsDispatch<GetRollupCapabilitiesResponse>(p)
);

/// <inheritdoc/>
public Task<IGetRollupCapabilitiesResponse> GetRollupCapabilitiesAsync(
Func<GetRollupCapabilitiesDescriptor, IGetRollupCapabilitiesRequest> selector = null, CancellationToken cancellationToken = default
) =>
this.GetRollupCapabilitiesAsync(selector.InvokeOrDefault(new GetRollupCapabilitiesDescriptor()), cancellationToken);

/// <inheritdoc/>
public Task<IGetRollupCapabilitiesResponse> GetRollupCapabilitiesAsync(IGetRollupCapabilitiesRequest request, CancellationToken cancellationToken = default) =>
this.Dispatcher.DispatchAsync<IGetRollupCapabilitiesRequest, GetRollupCapabilitiesRequestParameters, GetRollupCapabilitiesResponse, IGetRollupCapabilitiesResponse>(
request,
cancellationToken,
(p, d, c) => this.LowLevelDispatch.XpackRollupGetRollupCapsDispatchAsync<GetRollupCapabilitiesResponse>(p, c)
);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
namespace Nest
{
[MapsApi("xpack.rollup.get_rollup_caps.json")]
public partial interface IGetRollupCapabilitiesRequest
{
}

public partial class GetRollupCapabilitiesRequest
{
}

public partial class GetRollupCapabilitiesDescriptor
{
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using Elasticsearch.Net;
using Newtonsoft.Json;

namespace Nest
{
public interface IGetRollupCapabilitiesResponse : IResponse
{
IReadOnlyDictionary<IndexName, RollupCapabilities> Indices { get; }
}

[JsonConverter(typeof(ResolvableDictionaryResponseJsonConverter<GetRollupCapabilitiesResponse, IndexName, RollupCapabilities>))]
public class GetRollupCapabilitiesResponse : DictionaryResponseBase<IndexName, RollupCapabilities>, IGetRollupCapabilitiesResponse
{
public IReadOnlyDictionary<IndexName, RollupCapabilities> Indices => Self.BackingDictionary;
}

public class RollupCapabilities
{
[JsonProperty("rollup_jobs")]
public IReadOnlyCollection<RollupCapabilitiesJob> RollupJobs { get; internal set; }

}

public class RollupCapabilitiesJob
{
[JsonProperty("job_id")]
public string JobId { get; internal set; }

[JsonProperty("rollup_index")]
public string RollupIndex { get; internal set; }

[JsonProperty("index_pattern")]
public string IndexPattern { get; internal set; }

[JsonProperty("fields")]
public RollupFieldsCapabilitiesDictionary Fields { get; internal set; }
}

public class RollupFieldsCapabilities : IsADictionaryBase<string, string> { }

[JsonConverter(typeof(RollupFieldsCapabilitiesDictionary.Converter))]
public class RollupFieldsCapabilitiesDictionary : ResolvableDictionaryProxy<Field, IReadOnlyCollection<RollupFieldsCapabilities>>
{
internal RollupFieldsCapabilitiesDictionary(IConnectionConfigurationValues c,
IReadOnlyDictionary<Field, IReadOnlyCollection<RollupFieldsCapabilities>> b) : base(c, b) { }

internal class Converter : ResolvableDictionaryJsonConverterBase
<RollupFieldsCapabilitiesDictionary, Field, IReadOnlyCollection<RollupFieldsCapabilities>>
{
protected override RollupFieldsCapabilitiesDictionary Create(
IConnectionSettingsValues s, Dictionary<Field, IReadOnlyCollection<RollupFieldsCapabilities>> d
) => new RollupFieldsCapabilitiesDictionary(s, d);
}

public IReadOnlyCollection<RollupFieldsCapabilities> Field<T>(Expression<Func<T, object>> selector) => this[selector];

}
}

20 changes: 20 additions & 0 deletions src/Nest/_Generated/_Descriptors.generated.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4406,6 +4406,26 @@ public GetRollupJobDescriptor() : base(){}

// Request parameters

}
///<summary>descriptor for XpackRollupGetRollupCaps <pre>https://www.elastic.co/guide/en/elasticsearch/reference/current/rollup-get-rollup-caps.html</pre></summary>
public partial class GetRollupCapabilitiesDescriptor : RequestDescriptorBase<GetRollupCapabilitiesDescriptor,GetRollupCapabilitiesRequestParameters, IGetRollupCapabilitiesRequest>, IGetRollupCapabilitiesRequest
{
/// <summary>/_xpack/rollup/data/{index}</summary>
public GetRollupCapabilitiesDescriptor() : base(){}
// values part of the url path
Indices IGetRollupCapabilitiesRequest.Index => Self.RouteValues.Get<Indices>("index");

///<summary> Index, indices or index-pattern to return rollup capabilities for. _all may be used to fetch rollup capabilities from all job</summary>
public GetRollupCapabilitiesDescriptor Index(Indices index) => Assign(a=>a.RouteValues.Optional("index", index));

///<summary>a shortcut into calling Index(typeof(TOther))</summary>
public GetRollupCapabilitiesDescriptor Index<TOther>() where TOther : class => Assign(a=>a.RouteValues.Optional("index", (Indices)typeof(TOther)));

///<summary>A shortcut into calling Index(Indices.All)</summary>
public GetRollupCapabilitiesDescriptor AllIndices() => this.Index(Indices.All);

// Request parameters

}
///<summary>descriptor for XpackRollupPutJob <pre></pre></summary>
public partial class CreateRollupJobDescriptor<T> : RequestDescriptorBase<CreateRollupJobDescriptor<T>,CreateRollupJobRequestParameters, ICreateRollupJobRequest>, ICreateRollupJobRequest
Expand Down
22 changes: 22 additions & 0 deletions src/Nest/_Generated/_LowLevelDispatch.generated.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3882,6 +3882,28 @@ internal partial class LowLevelDispatch
throw InvalidDispatch("XpackRollupGetJobs", p, new [] { GET }, "/_xpack/rollup/job/{id}", "/_xpack/rollup/job/");
}

internal TResponse XpackRollupGetRollupCapsDispatch<TResponse>(IRequest<GetRollupCapabilitiesRequestParameters> p) where TResponse : class, IElasticsearchResponse, new()
{
switch(p.HttpMethod)
{
case GET:
if (AllSet(p.RouteValues.Index)) return _lowLevel.XpackRollupGetRollupCaps<TResponse>(p.RouteValues.Index,p.RequestParameters);
return _lowLevel.XpackRollupGetRollupCaps<TResponse>(p.RequestParameters);
}
throw InvalidDispatch("XpackRollupGetRollupCaps", p, new [] { GET }, "/_xpack/rollup/data/{index}", "/_xpack/rollup/data/");
}

internal Task<TResponse> XpackRollupGetRollupCapsDispatchAsync<TResponse>(IRequest<GetRollupCapabilitiesRequestParameters> p, CancellationToken ct) where TResponse : class, IElasticsearchResponse, new()
{
switch(p.HttpMethod)
{
case GET:
if (AllSet(p.RouteValues.Index)) return _lowLevel.XpackRollupGetRollupCapsAsync<TResponse>(p.RouteValues.Index,p.RequestParameters,ct);
return _lowLevel.XpackRollupGetRollupCapsAsync<TResponse>(p.RequestParameters,ct);
}
throw InvalidDispatch("XpackRollupGetRollupCaps", p, new [] { GET }, "/_xpack/rollup/data/{index}", "/_xpack/rollup/data/");
}

internal TResponse XpackRollupPutJobDispatch<TResponse>(IRequest<CreateRollupJobRequestParameters> p,SerializableData<ICreateRollupJobRequest> body) where TResponse : class, IElasticsearchResponse, new()
{
switch(p.HttpMethod)
Expand Down
19 changes: 19 additions & 0 deletions src/Nest/_Generated/_Requests.generated.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3150,6 +3150,25 @@ public GetRoleRequest() : base(){}
// Request parameters
}
[JsonObject(MemberSerialization = MemberSerialization.OptIn)]
public partial interface IGetRollupCapabilitiesRequest : IRequest<GetRollupCapabilitiesRequestParameters>
{
Indices Index { get; }
}
///<summary>Request parameters for XpackRollupGetRollupCaps <pre>https://www.elastic.co/guide/en/elasticsearch/reference/current/rollup-get-rollup-caps.html</pre></summary>
public partial class GetRollupCapabilitiesRequest : PlainRequestBase<GetRollupCapabilitiesRequestParameters>, IGetRollupCapabilitiesRequest
{
protected IGetRollupCapabilitiesRequest Self => this;
///<summary>/_xpack/rollup/data/{index}</summary>
///<param name="index">Optional, accepts null</param>
public GetRollupCapabilitiesRequest(Indices index) : base(r=>r.Optional("index", index)){}
///<summary>/_xpack/rollup/data/</summary>
public GetRollupCapabilitiesRequest() : base(){}
// values part of the url path
Indices IGetRollupCapabilitiesRequest.Index => Self.RouteValues.Get<Indices>("index");

// Request parameters
}
[JsonObject(MemberSerialization = MemberSerialization.OptIn)]
public partial interface IGetRollupJobRequest : IRequest<GetRollupJobRequestParameters>
{
Id Id { get; }
Expand Down
Loading